process table introduced; rest of code aligned with proces_no bug_fix
[sip-router] / pt.h
1 /*
2  * $Id$
3  *
4  * Process Table
5  *
6  *
7  */
8
9 #ifndef _PT_H
10
11 #include <sys/types.h>
12 #include <unistd.h>
13
14 #include "globals.h"
15 #include "timer.h"
16
17 #define MAX_PT_DESC     128
18
19 struct process_table {
20         int pid;
21         char desc[MAX_PT_DESC];
22 };
23
24 extern struct process_table *pt;
25 extern int process_no;
26
27 /* get number of process started by main with
28    given configuration
29 */
30 inline static int process_count()
31 {
32     return 
33                 /* receivers and attendant */
34                 (dont_fork ? 1 : children_no*sock_no + 1)
35                 /* timer process */
36                 + (timer_list ? 1 : 0 )
37                 /* fifo server */
38                 +((fifo==NULL || strlen(fifo)==0) ? 0 : 1 );
39 }
40
41
42 /* retun processes's pid */
43 inline static int my_pid()
44 {
45         return pt ? pt[process_no].pid : getpid();
46 }
47
48
49 #endif