URI:
       ta.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
       ---
       ta.h (3197B)
       ---
            1 #include <u.h>
            2 #include <libc.h>
            3 #include <bio.h>
            4 #include <ctype.h>
            5 
            6 enum
            7 {
            8         Unbsp = 0x00A0,
            9         Uprivate = 0xF000,
           10         Uempty,        /* \& */
           11         Uamp,        /* raw & */
           12         Ult,                /* raw < */
           13         Ugt,                /* raw > */
           14         Utick,        /* raw ' */
           15         Ubtick,        /* raw ` */
           16         Uminus,        /* raw - */
           17         Uspace,        /* raw space */
           18         Upl,                /* symbol + */
           19         Ueq,                /* symbol = */
           20         Umi,                /* symbol - */
           21         Uformatted,        /* start diverted output */
           22         Uunformatted,        /* end diverted output */
           23 
           24         UPI = 720,        /* units per inch */
           25         UPX = 10,        /* units per pixel */
           26 
           27         /* special input modes */
           28         CopyMode = 1<<1,
           29         ExpandMode = 1<<2,
           30         ArgMode = 1<<3,
           31         HtmlMode = 1<<4,
           32 
           33         MaxLine = 1024
           34 };
           35 
           36 Rune*        L(char*);
           37 
           38 void                addesc(Rune, int (*)(void), int);
           39 void                addraw(Rune*, void(*)(Rune*));
           40 void                addreq(Rune*, void(*)(int, Rune**), int);
           41 void                af(Rune*, Rune*);
           42 void                as(Rune*, Rune*);
           43 void                br(void);
           44 void                closehtml(void);
           45 Rune*        copyarg(void);
           46 void                delraw(Rune*);
           47 void                delreq(Rune*);
           48 void                ds(Rune*, Rune*);
           49 int                dv(int);
           50 int                e_nop(void);
           51 int                e_warn(void);
           52 void*        emalloc(uint);
           53 void*        erealloc(void*, uint);
           54 Rune*        erunesmprint(char*, ...);
           55 Rune*        erunestrdup(Rune*);
           56 char*        esmprint(char*, ...);
           57 char*        estrdup(char*);
           58 int                eval(Rune*);
           59 int                evalscale(Rune*, int);
           60 Rune*        getname(void);
           61 int                getnext(void);
           62 Rune*        getds(Rune*);
           63 Rune*        _getnr(Rune*);
           64 int                getnr(Rune*);
           65 int                getnrr(Rune*);
           66 int                getrune(void);
           67 Rune*        getqarg(void);
           68 Rune*        getline(void);
           69 void                hideihtml(void);
           70 void                html(Rune*, Rune*);
           71 void                htmlinit(void);
           72 void                ihtml(Rune*, Rune*);
           73 void                inputnotify(void(*)(void));
           74 void                itrap(void);
           75 void                itrapset(void);
           76 int                linefmt(Fmt*);
           77 void                nr(Rune*, int);
           78 void                _nr(Rune*, Rune*);
           79 void                out(Rune*);
           80 void                (*outcb)(Rune);
           81 void                outhtml(Rune*);
           82 void                outrune(Rune);
           83 void                outtrap(void);
           84 int                popinput(void);
           85 void                printds(int);
           86 int                pushinputfile(Rune*);
           87 void                pushinputstring(Rune*);
           88 int                pushstdin(void);
           89 int                queueinputfile(Rune*);
           90 int                queuestdin(void);
           91 void                r_nop(int, Rune**);
           92 void                r_warn(int, Rune**);
           93 Rune        *readline(int);
           94 void                reitag(void);
           95 void                renraw(Rune*, Rune*);
           96 void                renreq(Rune*, Rune*);
           97 void                run(void);
           98 void                runinput(void);
           99 int                runmacro(int, int, Rune**);
          100 void                runmacro1(Rune*);
          101 Rune*        rune2html(Rune);
          102 void                setlinenumber(Rune*, int);
          103 void                showihtml(void);
          104 void                sp(int);
          105 void                t1init(void);
          106 void                t2init(void);
          107 void                t3init(void);
          108 void                t4init(void);
          109 void                t5init(void);
          110 void                t6init(void);
          111 void                t7init(void);
          112 void                t8init(void);
          113 void                t9init(void);
          114 void                t10init(void);
          115 void                t11init(void);
          116 void                t12init(void);
          117 void                t13init(void);
          118 void                t14init(void);
          119 void                t15init(void);
          120 void                t16init(void);
          121 void                t17init(void);
          122 void                t18init(void);
          123 void                t19init(void);
          124 void                t20init(void);
          125 Rune        troff2rune(Rune*);
          126 void                unfont(void);
          127 void                ungetnext(Rune);
          128 void                ungetrune(Rune);
          129 void                unitag(void);
          130 void                warn(char*, ...);
          131 
          132 extern        int                backslash;
          133 extern        int                bol;
          134 extern        Biobuf        bout;
          135 extern        int                broke;
          136 extern        int                dot;
          137 extern        int                inputmode;
          138 extern        int                inrequest;
          139 extern        int                tick;
          140 extern        int                utf8;
          141 extern        int                verbose;
          142 extern        int                linepos;
          143 
          144 #define        runemalloc(n)        (Rune*)emalloc((n)*sizeof(Rune))
          145 #define        runerealloc(r, n)        (Rune*)erealloc(r, (n)*sizeof(Rune))
          146 #define        runemove(a, b, n)        memmove(a, b, (n)*sizeof(Rune))
          147 
          148 #pragma varargck type "L" void