home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / source / a2.0bemacs-src.lha / Emacs-19.25 / src / amiga.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-08-28  |  3.3 KB  |  106 lines

  1.  
  2. struct x_display
  3. {
  4.     struct Window *emacs_win; /* amiga window */
  5.     struct Menu *emacs_menu;
  6.     void *emacs_vi; /* visual info */
  7.     char *emacs_menu_strings; 
  8. };
  9.  
  10. #define EMACS_WIN(f) (FRAME_DISPLAY(f)->emacs_win)
  11. #define EMACS_MENU(f) (FRAME_DISPLAY(f)->emacs_menu)
  12. #define EMACS_MENU_STRINGS(f) (FRAME_DISPLAY(f)->emacs_menu_strings)
  13. #define EMACS_VI(f) (FRAME_DISPLAY(f)->emacs_vi)
  14.  
  15. /* Symbols defined in amiga_tty.c */
  16. extern unsigned long inputsig;
  17.  
  18. /* Prototypes for functions defined in amiga_clipboard.c */
  19. void syms_of_amiga_clipboard(void);
  20. void early_clipboard(void);
  21. void init_clipboard(void);
  22. void cleanup_clipboard(void);
  23.  
  24. /* Prototypes for functions defined in amiga_dump.c */
  25. void map_out_data(char *fn);
  26. void map_in_data(int load);
  27. extern void *far first_fn, *far last_fn;
  28.  
  29. /* Prototypes for functions defined in amiga_processes.c */
  30. /* Simulation of unix processes & signals */
  31. int wait_for_termination(int pid);
  32. int wait_without_blocking(void);
  33. char *amiga_path(void);
  34. void init_amiga_processes(void);
  35. void cleanup_amiga_processes(void);
  36.  
  37. /* Prototypes for functions defined in amiga_rexx.c */
  38. int check_arexx(int force, int kbd);
  39. void init_amiga_rexx(void);
  40. void cleanup_amiga_rexx(void);
  41. void syms_of_amiga_rexx(void);
  42.  
  43. /* Prototypes for functions defined in amiga_serial.c */
  44. void init_amiga_serial(void);
  45. void cleanup_amiga_serial(void);
  46. void check_serial(int force);
  47. void serial_puts(char *str, int len);
  48. unsigned long serial_baud_rate(void);
  49.  
  50. /* Prototypes for functions defined in amiga_sysdep.c */
  51. extern int selecting;
  52.  
  53. int set_exclusive_use(int fd);
  54. int sys_suspend(void);
  55. char *get_system_name(void);
  56. char *expand_path(char *path, char *buf, int len);
  57. int syms_of_amiga(void);
  58. void cleanup_amiga(void);
  59. void amiga_undump_reinit(void);
  60. void *early_xmalloc(long size);
  61. void *early_xrealloc(void *old, long size);
  62.  
  63. /* Failure stuff */
  64. void wbmessage(char *msg);
  65. void fail(char *cause);
  66. void fail_nomem(void);
  67. void _fail_internal(char *file, int line);
  68. #define fail_internal() _fail_internal(__FILE__, __LINE__);
  69. enum exit_method { use_exit, use_xcexit, use_safe };
  70. extern enum exit_method amiga_fail_exit;
  71.  
  72. #define MALLOC_HUNK_SIZE 400000 /* Default malloc hunk size */
  73. extern long malloc_hunk_size; /* Amount of memory malloc'ed by a to-be-dumped emacs */
  74. extern long malloc_bytes_used;    /* Amount of this hunk actually used */
  75. extern long far pre_alloc;    /* amount of memory to reserve for emacs */
  76. extern int puresize;        /* Size of pure hunk */
  77.  
  78. /* Various special values used to find the beginning & end of the text, data,
  79.    bss and malloc segments. */
  80. extern int first_data, last_data, first_bss, last_bss;
  81. extern void first_function(), last_function();
  82. extern char *malloc_hunk;
  83. extern int amiga_initialized;    /* True once Emacs has been undumped or initialised */
  84. struct mem_header        /* sizeof() must be multiple of 4 ! */
  85. {
  86.     struct mem_header *next, *prev;
  87.     long size;
  88.     /* Data follows */
  89. };
  90. extern struct mem_header *free_list;
  91.  
  92.  
  93. /* Prototypes for functions defined in amiga_term.c */
  94. int amiga_term_init(void);
  95.  
  96. #define AMIGASEQ 256 /* When passed to enque, insert the Amiga sequence introducer
  97.                 C-x C-^ */
  98.  
  99. /* Prototypes for functions defined in amiga_unix.c */
  100. void MemCleanup(void);
  101. void *malloc(unsigned int size);
  102. void free(void *p);
  103. void *calloc(unsigned int, unsigned int);
  104. void *realloc(void *p, unsigned int size);
  105. void emacs_malloc_init(void);
  106.