URI:
       tsmtp.h - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       tsmtp.h (1270B)
       ---
            1 typedef struct Node Node;
            2 typedef struct Field Field;
            3 typedef Node *Nodeptr;
            4 #define YYSTYPE Nodeptr
            5 
            6 struct Node {
            7         Node        *next;
            8         int        c;        /* token type */
            9         char        addr;        /* true if this is an address */
           10         String        *s;        /* string representing token */
           11         String        *white;        /* white space following token */
           12         char        *start;        /* first byte for this token */
           13         char        *end;        /* next byte in input */
           14 };
           15 
           16 struct Field {
           17         Field        *next;
           18         Node        *node;
           19         int        source;
           20 };
           21 
           22 typedef struct DS        DS;
           23 struct DS {
           24         /* dist string */
           25         char        buf[128];
           26         char        expand[128];
           27         char        *netdir;
           28         char        *proto;
           29         char        *host;
           30         char        *service;
           31 };
           32 
           33 extern Field        *firstfield;
           34 extern Field        *lastfield;
           35 extern Node        *usender;
           36 extern Node        *usys;
           37 extern Node        *udate;
           38 extern int        originator;
           39 extern int        destination;
           40 extern int        date;
           41 extern int        messageid;
           42 
           43 Node*        anonymous(Node*);
           44 Node*        address(Node*);
           45 int        badfieldname(Node*);
           46 Node*        bang(Node*, Node*);
           47 Node*        colon(Node*, Node*);
           48 int        cistrcmp(char*, char*);
           49 Node*        link2(Node*, Node*);
           50 Node*        link3(Node*, Node*, Node*);
           51 void        freenode(Node*);
           52 void        newfield(Node*, int);
           53 void        freefield(Field*);
           54 void        yyinit(char*, int);
           55 int        yyparse(void);
           56 int        yylex(void);
           57 String*        yywhite(void);
           58 Node*        whiten(Node*);
           59 void        yycleanup(void);
           60 int        mxdial(char*, char*, char*);
           61 void        dial_string_parse(char*, DS*);