Annotation of researchv9/jerq/include/pads.pub, revision 1.1

1.1     ! root        1: #ifndef PADS_H
        !             2: #define PADS_H
        !             3: 
        !             4: typedef unsigned short Attrib;
        !             5: #ifndef PADS_TERM
        !             6: int    strlen(char*),
        !             7:        strcmp(char*,char*),
        !             8:        read(int,char*,int),
        !             9:        write(int,char*,int),
        !            10:        ioctl(int,int ...);
        !            11: char   *strcpy(char*,char*),
        !            12:        *sbrk(int);
        !            13: 
        !            14: #define PRINTF_TYPES char * ...
        !            15: #define PRINTF_ARGS char *fmt ...
        !            16: #define FMT(i) ( ((int*)&fmt)[i] )
        !            17: #define PRINTF_COPY\
        !            18:        (fmt?fmt:""), FMT(1),FMT(2),FMT(3),FMT(4),FMT(5),FMT(6),FMT(7),FMT(8)
        !            19: 
        !            20: #ifdef TRACE
        !            21: #define OK(x)          if( !ok() ) PadsError(__SRC__);
        !            22: #define VOK            if( !ok() ) PadsError(__SRC__);
        !            23: #define IF_LIVE(x)     { if( x )   PadsError(__SRC__); } if(0)
        !            24: #define SRCFILE(f)     static __SRC__ = f;
        !            25: typedef int  (*PFI)();
        !            26: PFI trace_fcn(char*,int), trace_ptr;
        !            27: #define trace  (!(trace_ptr=trace_fcn(__SRC__,__LINE__))) ? 0 : (*trace_ptr)
        !            28: #else
        !            29: #define OK(x)          { if( !ok() ) return x; }
        !            30: #define VOK            { if( !ok() ) return ;  }
        !            31: #define IF_LIVE(x)       if( x )
        !            32: #define SRCFILE(f)
        !            33: #define trace  if( 0 )
        !            34: #endif
        !            35: 
        !            36: class Index {
        !            37:        char    pub_filler[2];
        !            38: public:
        !            39:        int     null();
        !            40: };
        !            41: extern Index ZIndex;
        !            42: #else
        !            43: typedef unsigned short Index;
        !            44: #define MJR(i) ((i)>>8)
        !            45: #define MNR(i) ((i)&0xFF)
        !            46: typedef struct Carte Carte;
        !            47: typedef enum Protocol Protocol;
        !            48: struct Carte {
        !            49:        unsigned char   size;           /* host.size != term.size */
        !            50:        unsigned char   attrib;
        !            51:        short           width;
        !            52:        Index           bin[1];
        !            53: };
        !            54: #endif
        !            55: 
        !            56: #define        SELECTLINE      ((Attrib)0x0001)
        !            57: #define SORTED         ((Attrib)0x0002)
        !            58: #define ACCEPT_KBD     ((Attrib)0x0004)
        !            59: #define FOLD           ((Attrib)0x0008)
        !            60: #define TRUNCATE       ((Attrib)0x0010)
        !            61: #define USERCLOSE      ((Attrib)0x0020)
        !            62: #define DONT_CUT       ((Attrib)0x0040)
        !            63: #define FLUSHLINE      ((Attrib)0x0080)        /* should not be required */
        !            64: #define FAKELINE       ((Attrib)0x0100)
        !            65: #define USERCUT                ((Attrib)0x0200)
        !            66: #define DONT_CLOSE     ((Attrib)0x0400)
        !            67: #define NO_TILDE       ((Attrib)0x0800)
        !            68: #define DONT_DIRTY     ((Attrib)0x1000)
        !            69: 
        !            70: #ifndef PADS_TERM
        !            71: char *sf(PRINTF_TYPES);
        !            72: char *PadsInit(char* = 0);
        !            73: void PadsServe(long = 0);
        !            74: void NewHelp();
        !            75: void NewPadStats();
        !            76: class PadRcv;
        !            77: typedef void (PadRcv::*Action)(...);
        !            78: void Pick(char*,Action,long);
        !            79: long UniqueKey();
        !            80: Index NumericRange(short,short);
        !            81: void PadsWarn(PRINTF_TYPES);
        !            82: //extern char *TapTo;
        !            83: 
        !            84: class PadRcv { friend Remote; friend Pad;
        !            85:        short   oid;
        !            86:        short   magic;
        !            87:        int     isvalid();
        !            88: public:
        !            89:                PadRcv();
        !            90:                ~PadRcv();
        !            91:        void    invalidate();
        !            92: virtual        int     disc();
        !            93: virtual        char    *kbd(char*);
        !            94: virtual        char    *help();
        !            95: virtual        void    numeric(long);
        !            96: virtual        void    userclose();
        !            97: virtual        void    cycle();
        !            98: virtual        void    linereq(long,Attrib=0);
        !            99: virtual        int     accept(Action);
        !           100: virtual        void    usercut();
        !           101: };
        !           102: 
        !           103: class Pad {
        !           104:        char    pub_filler[24];
        !           105: public:
        !           106:        int     ok();
        !           107:                Pad(PadRcv *);
        !           108:                ~Pad();
        !           109:        void    alarm(short=0);
        !           110:        void    banner(PRINTF_TYPES);
        !           111:        void    clear();
        !           112:        void    dump();
        !           113:        void    error(PRINTF_TYPES);
        !           114:        void    insert(class Line&);
        !           115:        void    insert(long, Attrib, PadRcv*, Index, PRINTF_TYPES);
        !           116:        void    insert(long, Attrib, PadRcv*, class Menu&, PRINTF_TYPES);
        !           117:        void    insert(long, Attrib, PRINTF_TYPES);
        !           118:        void    insert(long, PRINTF_TYPES);
        !           119:        void    lines(long);
        !           120:        void    makecurrent();
        !           121:        void    makegap(long,long);
        !           122:        void    menu(Index);
        !           123:        void    menu(class Menu&);
        !           124:        void    name(PRINTF_TYPES);
        !           125:        void    options(Attrib, Attrib=0);
        !           126:        void    tabs(short);
        !           127:        void    removeline(long);
        !           128:        void    createline(long,long);
        !           129:        void    createline(long);
        !           130: };
        !           131: 
        !           132: class Line {
        !           133: public:
        !           134:        int     ok();
        !           135:                Line();
        !           136:        PadRcv  *object;
        !           137:        char    *text;
        !           138:        long    key;
        !           139:        Attrib  attributes;
        !           140:        Index   carte;
        !           141: };
        !           142: class Menu {
        !           143:        char    pub_filler[8];
        !           144: public:
        !           145:                Menu();
        !           146:                ~Menu();
        !           147:                Menu( char*, Action=0, long=0 );
        !           148:        Index   index( char* =0, Action=0, long=0 );
        !           149:        void    first( char*, Action=0, long=0 );
        !           150:        void    first( Index );
        !           151:        void    last( char*, Action=0, long=0 );        
        !           152:        void    last( Index );  
        !           153:        void    sort( char*, Action=0, long=0 );
        !           154:        void    sort( Index );
        !           155: };
        !           156: 
        !           157: #endif
        !           158: 
        !           159: #endif

unix.superglobalmegacorp.com

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