common.h - sacc - sacc(omys), simple console gopher client HTML git clone git://bitreich.org/sacc/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/sacc/ DIR Log DIR Files DIR Refs DIR Tags DIR LICENSE --- common.h (954B) --- 1 #define clear(p) do { void **_p = (void **)(p); free(*_p); *_p = NULL; } while (0); 2 3 typedef struct item Item; 4 typedef struct dir Dir; 5 6 struct item { 7 char type; 8 char redtype; 9 char *username; 10 char *selector; 11 char *host; 12 char *port; 13 char *raw; 14 char *tag; 15 void *dat; 16 Item *entry; 17 }; 18 19 struct dir { 20 Item *items; 21 size_t nitems; 22 size_t printoff; 23 size_t curline; 24 }; 25 26 extern int interactive; 27 28 extern void (*diag)(char *, ...); 29 30 extern void die(const char *, ...); 31 extern size_t mbsprint(const char *, size_t); 32 #ifdef NEED_STRCASESTR 33 extern char *strcasestr(const char *, const char *); 34 #endif /* NEED_STRCASESTR */ 35 extern const char *typedisplay(char); 36 extern int itemuri(Item *, char *, size_t); 37 extern void yankitem(Item *); 38 extern void uicleanup(void); 39 extern void uidisplay(Item *); 40 extern char *uiprompt(char *, ...); 41 extern Item *uiselectitem(Item *); 42 extern void uisetup(void); 43 extern void uisigwinch(int); 44 extern void uistatus(char *, ...);