win.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /* acme */
  2. typedef struct Event Event;
  3. typedef struct Window Window;
  4. enum
  5. {
  6. STACK = 8192,
  7. EVENTSIZE = 256,
  8. NEVENT = 5,
  9. };
  10. struct Event
  11. {
  12. int c1;
  13. int c2;
  14. int q0;
  15. int q1;
  16. int flag;
  17. int nb;
  18. int nr;
  19. char b[EVENTSIZE*UTFmax+1];
  20. Rune r[EVENTSIZE+1];
  21. };
  22. struct Window
  23. {
  24. /* file descriptors */
  25. int ctl;
  26. int event;
  27. int addr;
  28. int data;
  29. Biobuf *body;
  30. /* event input */
  31. char buf[512];
  32. char *bufp;
  33. int nbuf;
  34. Event e[NEVENT];
  35. int dirtied;
  36. int id;
  37. int open;
  38. Channel *cevent; /* chan(Event*) */
  39. };
  40. extern Window* newwindow(void);
  41. extern int winopenfile(Window*, char*);
  42. extern void winopenbody(Window*, int);
  43. extern void winclosebody(Window*);
  44. extern void wintagwrite(Window*, char*, int);
  45. extern void winname(Window*, char*);
  46. extern void winwriteevent(Window*, Event*);
  47. extern void winread(Window*, uint, uint, char*);
  48. extern int windel(Window*, int);
  49. extern void wingetevent(Window*, Event*);
  50. extern void wineventproc(void*);
  51. extern void winwritebody(Window*, char*, int);
  52. extern void winclean(Window*);
  53. extern int winselect(Window*, char*, int);
  54. extern int winsetaddr(Window*, char*, int);
  55. extern char* winreadbody(Window*, int*);
  56. extern void windormant(Window*);
  57. extern void winsetdump(Window*, char*, char*);
  58. extern char* readfile(char*, char*, int*);
  59. extern void ctlprint(int, char*, ...);
  60. extern void* emalloc(uint);
  61. extern char* estrdup(char*);
  62. extern char* estrstrdup(char*, char*);
  63. extern char* estrstrstrdup(char*, char*, char*);
  64. extern char* egrow(char*, char*, char*);
  65. extern char* eappend(char*, char*, char*);
  66. extern void error(char*, ...);
  67. extern int tokenizec(char*, char**, int, char*);