tsmtp.h - plan9port - [fork] Plan 9 from user space
git clone git://src.adamsgaard.dk/plan9port
Log
Files
Refs
README
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*);