summaryrefslogtreecommitdiffstats
path: root/tcpsrv.h
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2008-04-23 15:07:19 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2008-04-23 15:07:19 +0200
commit1892fc75f9fad0b0741b4a3eb1fc382f900b2301 (patch)
treea863e25521c3dd5988bdea1499a41c47106ae81f /tcpsrv.h
parent2be459c4d7645ad12f83723be7bb26199fe98b82 (diff)
downloadrsyslog-1892fc75f9fad0b0741b4a3eb1fc382f900b2301.tar.gz
rsyslog-1892fc75f9fad0b0741b4a3eb1fc382f900b2301.tar.xz
rsyslog-1892fc75f9fad0b0741b4a3eb1fc382f900b2301.zip
added new netstrms class
netstrms is at the top layer of the socket abstraction
Diffstat (limited to 'tcpsrv.h')
-rw-r--r--tcpsrv.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/tcpsrv.h b/tcpsrv.h
index 4cec906f..ada77aec 100644
--- a/tcpsrv.h
+++ b/tcpsrv.h
@@ -26,10 +26,11 @@
#include "tcps_sess.h"
/* the tcpsrv object */
-typedef struct tcpsrv_s {
+struct tcpsrv_s {
BEGINobjInstance; /**< Data to implement generic object - MUST be the first data element! */
- //int *pSocksLstn; /**< listen socket array for server [0] holds count */
- netstrm_t *pLstn; /**< our netstream listner (which may contain multiple "sockets" */
+ netstrms_t *pNS; /**< pointer to network stream subsystem */
+ int iLstnMax; /**< max nbr of listeners currently supported */
+ netstrm_t **ppLstn; /**< our netstream listners */
int iSessMax; /**< max number of sessions supported */
char *TCPLstnPort; /**< the port the listener shall listen on */
tcps_sess_t **pSessions;/**< array of all of our sessions */
@@ -43,10 +44,10 @@ typedef struct tcpsrv_s {
rsRetVal (*pOnRegularClose)(tcps_sess_t *pSess);
rsRetVal (*pOnErrClose)(tcps_sess_t *pSess);
/* session specific callbacks */
- rsRetVal (*pOnSessAccept)(struct tcpsrv_s *, tcps_sess_t*);
+ rsRetVal (*pOnSessAccept)(tcpsrv_t *, tcps_sess_t*);
rsRetVal (*OnSessConstructFinalize)(void*);
rsRetVal (*pOnSessDestruct)(void*);
-} tcpsrv_t;
+};
/* interfaces */
@@ -56,7 +57,7 @@ BEGINinterface(tcpsrv) /* name must also be changed in ENDinterface macro! */
rsRetVal (*ConstructFinalize)(tcpsrv_t __attribute__((unused)) *pThis);
rsRetVal (*Destruct)(tcpsrv_t **ppThis);
void (*configureTCPListen)(tcpsrv_t*, char *cOptarg);
- rsRetVal (*SessAccept)(tcpsrv_t *pThis, tcps_sess_t **ppSess, nsd_t *pNsd);
+ rsRetVal (*SessAccept)(tcpsrv_t *pThis, tcps_sess_t **ppSess, netstrm_t *pStrm);
rsRetVal (*create_tcp_socket)(tcpsrv_t *pThis);
rsRetVal (*Run)(tcpsrv_t *pThis);
/* set methods */