|
|
1.1 root 1: /* information returned by listen */
2: typedef struct {
3: int rfd; /* fd for reply */
4: int cfd; /* fd for communications */
5: char *myname; /* translated part of name */
6: char *name; /* untranslated part of name */
7: char *param; /* parameters used to set up call */
8: char *machine; /* machine id of caller */
9: char *user; /* user name of caller */
10: int uid, gid; /* uid, gid of caller */
11: char flags; /* type of communication */
12: } ipcinfo;
13:
14: /* communication flags */
15: #define IPC_OPEN 0x0 /* open an original connection */
16: #define IPC_CREAT 0x1 /* create a server channel */
17: #define IPC_HANDOFF 0x2 /* pass a request onto someone else */
18: #define IPC_CAREFUL 0x4 /* check protections before opening file */
19: #define IPC_REDIAL 0x8 /* this means ask the network to redial
20: * the call as the new machine and user
21: */
22:
23: /* library definitions */
24: extern int ipcopen();
25: extern int ipccreat();
26: extern ipcinfo *ipclisten();
27: extern ipcinfo *ipctrylisten();
28: extern int ipcaccept();
29: extern int ipcdaccept();
30: extern int ipcreject();
31: extern int ipclogin();
32: extern int ipcrogin();
33: extern char *ipcpath();
34: extern int ipcexec();
35:
36: /* import */
37: extern int errno;
38: extern char *errstr;
39: extern char *ipcname;
40:
41: /* qnet stuff */
42: typedef struct qtuple{
43: struct qtuple *next;
44: char *value;
45: char *type;
46: } Qtuple;
47:
48: typedef struct qset{
49: struct qset *next;
50: Qtuple *this;
51: } Qset;
52:
53: extern Qset *qset();
54: extern char *qvalue();
55: extern int freeQtuple();
56: extern int freeQset();
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.