core: Changed WS from being a flag on a TCP/TLS connection to a protocol in its own...
[sip-router] / pt.h
diff --git a/pt.h b/pt.h
index d8fed44..b52be56 100644 (file)
--- a/pt.h
+++ b/pt.h
@@ -7,32 +7,28 @@
  *
  * Copyright (C) 2001-2003 FhG Fokus
  *
- * This file is part of ser, a free SIP server.
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
  *
- * ser 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
- *
- * For a license to use the ser software under conditions
- * other than those described here, or to purchase support for this
- * software, please contact iptel.org by e-mail at the following addresses:
- *    info@iptel.org
- *
- * ser 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
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 /*
  * History:
  * --------
  *  2003-04-15  added tcp_disable support (andrei)
  *  2006-06-14 added process table in shared mem (dragos)
+ *  2007-07-04 added register_fds() and get_max_open_fds(() (andrei)
+ */
+/** internal fork functions and process table.
+ * @file: pt.h
+ * @ingroup core
  */
 
 
@@ -66,12 +62,19 @@ extern int process_no;
 
 extern struct tcp_child* tcp_children;
 
-inline int init_pt();
-int get_max_procs();
+int init_pt(int proc_no);
+int get_max_procs(void);
 int register_procs(int no);
+int get_max_open_fds(void);
+int register_fds(int no);
+
+
+int close_extra_socks(int proc_id, int proc_no);
+
+#define get_proc_no() ((process_count)?*process_count:0)
 
 /* return processes pid */
-inline int my_pid();
+int my_pid(void);
 
 /**
  * Forks a new process.
@@ -79,7 +82,7 @@ inline int my_pid();
  * @param make_sock - if to create a unix socket pair for it
  * @returns the pid of the new process
  */
-inline int fork_process(int child_id,char *desc,int make_sock);
+int fork_process(int child_id,char *desc,int make_sock);
 
 /**
  * Forks a new TCP process.
@@ -88,6 +91,18 @@ inline int fork_process(int child_id,char *desc,int make_sock);
  * @param *reader_fd_1 - pointer to return the reader_fd[1]
  * @returns the pid of the new process
  */
-inline int fork_tcp_process(int child_id,char *desc,int r,int *reader_fd_1);
+#ifdef USE_TCP
+int fork_tcp_process(int child_id,char *desc,int r,int *reader_fd_1);
+#endif
+
+#ifdef PKG_MALLOC
+void mem_dump_pkg_cb(str *gname, str *name);
+#endif
+
+#ifdef SHM_MEM
+int mem_dump_shm_fixup(void *handle, str *gname, str *name, void **val);
+#endif
+
+unsigned int set_fork_delay(unsigned int v);
 
 #endif