54 lines
1.8 KiB
C++
54 lines
1.8 KiB
C++
/*****************************************************************************\
|
|
** **
|
|
** PBX4Linux **
|
|
** **
|
|
**---------------------------------------------------------------------------**
|
|
** Copyright: Andreas Eversberg **
|
|
** **
|
|
** Endpoint header file **
|
|
** **
|
|
\*****************************************************************************/
|
|
|
|
|
|
/* structure of port_list */
|
|
struct port_list {
|
|
struct port_list *next;
|
|
unsigned long port_id;
|
|
int port_type;
|
|
};
|
|
|
|
/* structure of an Enpoint */
|
|
class Endpoint
|
|
{
|
|
public:
|
|
Endpoint(int port_id, int call_id);
|
|
~Endpoint();
|
|
class Endpoint *next; /* next in list */
|
|
unsigned long ep_serial; /* a unique serial to identify */
|
|
int handler(void);
|
|
|
|
/* applocaton relation */
|
|
class EndpointApp *ep_app; /* link to application class */
|
|
|
|
/* port relation */
|
|
struct port_list *ep_portlist; /* link to list of ports */
|
|
struct port_list *portlist_new(unsigned long port_id, int port_type);
|
|
void free_portlist(struct port_list *portlist);
|
|
|
|
/* call relation */
|
|
unsigned long ep_call_id; /* link to call */
|
|
|
|
/* if still used by threads */
|
|
int ep_use;
|
|
|
|
/* application indipendant states */
|
|
int ep_park; /* indicates that the epoint is parked */
|
|
unsigned char ep_park_callid[8];
|
|
int ep_park_len;
|
|
};
|
|
|
|
extern class Endpoint *epoint_first;
|
|
|
|
class Endpoint *find_epoint_id(unsigned long epoint_id);
|
|
|