Annotation of researchv10no/ipc/mgrs/svcmgr/mgr.h, revision 1.1

1.1     ! root        1: #include <ipc.h>
        !             2: #include <stdio.h>
        !             3: #include <libc.h>
        !             4: #include <regexp.h>
        !             5: 
        !             6: /*
        !             7:  * table of regular expressions
        !             8:  */
        !             9: 
        !            10: typedef struct cregexp {
        !            11:        struct cregexp *next;
        !            12:        char *re;               /* uncompiled reg exp */
        !            13:        regexp *prog;           /* compiled reg exp */
        !            14:        int ref;                /* reference count */
        !            15: } Cregexp;
        !            16: extern Cregexp *newre();
        !            17: extern int freerep();
        !            18: extern int execre();
        !            19: 
        !            20: /*
        !            21:  * table of user mappings
        !            22:  * one per line in the mapping files
        !            23:  */
        !            24: 
        !            25: typedef struct mapping{
        !            26:        Cregexp *from;  /* originating machine */
        !            27:        Cregexp *user;  /* originating user */
        !            28:        Cregexp *serv;  /* service(s) requested */
        !            29:        char *luser;    /* local user name to use */
        !            30:        struct mapping *next;
        !            31: } Mapping;
        !            32: extern Mapping *newmap();
        !            33: extern int freemap();
        !            34: extern int addmap();
        !            35: 
        !            36: /*
        !            37:  * action instances
        !            38:  * a linked list of these exist for each service
        !            39:  */
        !            40: 
        !            41: typedef struct action {
        !            42:        int (*func)();  /* funciton to use for this action */
        !            43:        char *arg;      /* arguments or NULL */
        !            44:        int accept;     /* true if ipcaccept to be done by action */
        !            45:        struct action *next;
        !            46: } Action;
        !            47: extern Action *newaction();
        !            48: extern int freeaction();
        !            49: 
        !            50: /*
        !            51:  * table of services
        !            52:  * one per line in the file of services (hopefully)
        !            53:  */
        !            54: 
        !            55: typedef struct service {
        !            56:        char *name;     /* name of service (e.g. `uucp') */
        !            57:        Cregexp *from;  /* originating machine */
        !            58:        int listen;     /* fd for listening */
        !            59:        Action *ap;     /* list of actions to perform */
        !            60:        int accept;     /* true if ipcaccept to be done by the service */
        !            61:        long lasttime;
        !            62:        struct service *same;
        !            63:        struct service *next;
        !            64: } Service;
        !            65: extern Service *newservice();
        !            66: extern int freeservice();
        !            67: extern int addservice();
        !            68: 
        !            69: /*
        !            70:  * request returned by listen
        !            71:  */
        !            72: typedef struct {
        !            73:        ipcinfo *i;     /* from the ipclisten */
        !            74:        Service *s;     /* service requested */
        !            75:        char *line;     /* password line from authentication */
        !            76:        char *args;     /* args gotten by from getargs */
        !            77:        char *term;     /* terminal type */
        !            78:        int errfd;      /* standard error (if different from stdout) */
        !            79: } Request;
        !            80: extern Request *newrequest();
        !            81: extern int freerequest();
        !            82: 
        !            83: extern int logevent();
        !            84: 
        !            85: #define        ARB 512

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.