home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / utility / text / emacsdif.lha / emacs-18.58 / src / amiga.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-04-30  |  4.2 KB  |  126 lines

  1. /* Amiga processes, half-hearted simulation of unix processes & signals */
  2. int getpid(void);        /* Returns Emacs's pid, a constant */
  3. void kill(int pid, int signal);    /* Try and signal given process with given signal */
  4. void (*signal(int sig,void (*fn)(int)))(int); /* Setup signal handler */
  5. int wait_for_terminatiob(int pid); /* Wait for process pid to terminate */
  6. int wait_without_blocking(void); /* Wait for any process to terminate */
  7. /* Execute given program with arguments & values for input, output & error */
  8. /* Seems rather unstable */
  9. int exec(char *program, char **argv, int input, int output, char *dir);
  10. int init_amiga_processes(void);
  11. void cleanup_amiga_processes(void);
  12.  
  13. /* Signal mask to wait on to implement unix alarm signal */
  14. /* Call check_alarm() when it appears */
  15. extern unsigned long alarmsig;
  16. void check_alarm(void);
  17.  
  18. /* Prototypes for functions defined in amiga_clipboard.c */
  19. int Famiga_cut(int arg);
  20. int Famiga_paste(void);
  21. void syms_of_amiga_clipboard(void);
  22. int init_clipboard(void);
  23. void cleanup_clipboard(void);
  24. void cleanup_amiga_menu(void);
  25.  
  26. /* amiga_menu.c */
  27. int init_amiga_menu(void);
  28. void syms_of_amiga_menu(void);
  29. void suspend_menus(void);
  30. void resume_menus(void);
  31.  
  32. /* amiga_screen.c */
  33. extern struct Window *emacs_win;
  34. void get_window_size (int *widthp, int *heightp);
  35. void check_window(int force);
  36. void screen_putc(int toput);
  37. void screen_puts(char *strtoput, unsigned int len);
  38. void syms_of_amiga_screen(void);
  39. int init_amiga_screen(void);
  40. void cleanup_amiga_screen(void);
  41.  
  42. /* amiga_serial.c */
  43. int init_amiga_serial(void);
  44. void cleanup_amiga_serial(void);
  45. void check_serial(int force);
  46. void serial_putc(int c);
  47. void serial_puts(char *c, int len);
  48. unsigned long serial_baud_rate(void);
  49.  
  50. /* amiga_sysdep.c */
  51. #define MALLOC_HUNK_SIZE 87000 /* Default malloc hunk size */
  52. extern long malloc_hunk_size; /* Amount of memory malloc'ed by a to-be-dumped emacs */
  53. extern long far pre_alloc; /* Amount of memory to reserve for emacs */
  54.  
  55. /* Various special values used to find the beginning & end of the text, data,
  56.    bss and malloc segments. */
  57. extern int first_data, last_data, first_bss, last_bss;
  58. extern void first_function(), last_function();
  59. extern char *malloc_hunk;
  60. extern int amiga_initialized;    /* True once Emacs has been undumped or initialised */
  61. struct mem_header        /* sizeof() must be multiple of 4 ! */
  62. {
  63.     struct mem_header *next, *prev;
  64.     long size;
  65.     /* Data follows */
  66. };
  67. extern struct mem_header *free_list;
  68. void *alloc_sys(long memsize);
  69.  
  70. void print_mem(void);
  71. char *getwd(char *pathname);
  72. char *mktemp(char *name);
  73. int pipe(int *fd);
  74. int convert_oserr(int ioerr);
  75. int link(char *from, char *to);
  76. void make_environ(void);
  77. int set_exclusive_use(int fd);
  78. int wait_without_blocking(void);
  79. int wait_for_termination(int pid);
  80. int setpgrp_of_tty(int pid);
  81. int sys_suspend(void);
  82. int init_sigio(void);
  83. int reset_sigio(void);
  84. int request_sigio(void);
  85. int unrequest_sigio(void);
  86. int init_sys_modes(void);
  87. int tabs_safe_p(void);
  88. int reset_sys_modes(void);
  89. char *get_system_name(void);
  90. int select_alarm(void);
  91. int select(int nfds, int *rfds, int *wfds, int *efds, int *timeout);
  92. int croak(char *badfunc);
  93. char *getenv(char *varname);
  94. struct IORequest *device_open(char *name, unsigned long unit, unsigned long flags,
  95.                   void *data, unsigned long data_len, int req_size);
  96. void device_close(struct IORequest *ioreq);
  97. void cleanup_amiga(void);
  98. void init_amiga(void);
  99. #define AMIGASEQ '\034' /* ^\ Is the Amiga sequence introducer */
  100.  
  101. /* Signal mask used to detect available keyboard input.
  102.    Must be set by amiga_serial or amiga_screen */
  103. extern unsigned long inputsig;
  104. extern int sleeping;        /* True if in sleep or sleep_or_input */
  105.  
  106. /* Prototypes for functions defined in amiga_tty.c */
  107. int get_screen_size(int *widthp,
  108.                     int *heightp);
  109. int init_baud_rate(void);
  110. void check_intuition(void);
  111. void enque(unsigned char toque,
  112.            int meta);
  113. void amiga_consume_input(int force);
  114. void amiga_wait_for_input(void);
  115. int discard_tty_input(void);
  116. void cputc(int toput);
  117. void cputs(char *strtoput,
  118.            unsigned int len);
  119. void sleep_or_input(int secs);
  120. void syms_of_amiga_tty(void);
  121. int init_amiga_tty(void);
  122. void cleanup_amiga_tty(void);
  123.  
  124. /* amiga_dump.c */
  125. extern void *far first_fn, *far last_fn;
  126.