only for backup, still in coding state - no compile!!!
[lcr.git] / endpoint.h
diff --git a/endpoint.h b/endpoint.h
new file mode 100644 (file)
index 0000000..506689a
--- /dev/null
@@ -0,0 +1,53 @@
+/*****************************************************************************\
+**                                                                           **
+** 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);
+