summaryrefslogtreecommitdiffstats
path: root/tcpsyslog.h
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2007-07-22 10:15:39 +0000
committerRainer Gerhards <rgerhards@adiscon.com>2007-07-22 10:15:39 +0000
commite38d58bc743fe0c80789c5954488fdd54680f72a (patch)
tree32f34390ab9fae68e08d68c30d4a92d71f5c9b91 /tcpsyslog.h
parent38c0cf2b0115202b67156d6938698f5d911c5def (diff)
downloadrsyslog-e38d58bc743fe0c80789c5954488fdd54680f72a.tar.gz
rsyslog-e38d58bc743fe0c80789c5954488fdd54680f72a.tar.xz
rsyslog-e38d58bc743fe0c80789c5954488fdd54680f72a.zip
moved some more modules to their own file sets
Diffstat (limited to 'tcpsyslog.h')
-rw-r--r--tcpsyslog.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/tcpsyslog.h b/tcpsyslog.h
new file mode 100644
index 00000000..03975247
--- /dev/null
+++ b/tcpsyslog.h
@@ -0,0 +1,59 @@
+/* tcpsyslog.h
+ * These are the definitions for TCP-based syslog.
+ *
+ * File begun on 2007-07-21 by RGerhards (extracted from syslogd.c)
+ *
+ * Copyright 2007 Rainer Gerhards and Adiscon GmbH.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * A copy of the GPL can be found in the file "COPYING" in this distribution.
+ */
+#ifndef TCPSYSLOG_H_INCLUDED
+#define TCPSYSLOG_H_INCLUDED 1
+
+struct TCPSession {
+ int sock;
+ int iMsg; /* index of next char to store in msg */
+ int bAtStrtOfFram; /* are we at the very beginning of a new frame? */
+ int iOctetsRemain; /* Number of Octets remaining in message */
+ TCPFRAMINGMODE eFraming;
+ char msg[MAXLINE+1];
+ char *fromHost;
+};
+
+/* static data */
+extern int *sockTCPLstn;
+extern char *TCPLstnPort;
+extern int bEnableTCP;
+extern struct TCPSession *pTCPSessions;
+
+/* prototypes */
+int TCPSend(selector_t *f, char *msg, size_t len);
+void deinit_tcp_listener(void);
+int *create_tcp_socket(void);
+enum TCPSendStatus TCPSendGetStatus(selector_t *f);
+int TCPSessGetNxtSess(int iCurr);
+void TCPSessAccept(int fd);
+void TCPSessPrepareClose(int iTCPSess);
+void TCPSessClose(int iSess);
+int TCPSessDataRcvd(int iTCPSess, char *pData, int iLen);
+void configureTCPListen(char *cOptarg);
+void TCPSendSetStatus(selector_t *f, enum TCPSendStatus iNewState);
+
+#endif /* #ifndef TCPSYSLOG_H_INCLUDED */
+/*
+ * vi:set ai:
+ */