home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / gnu / mntinc16 / vdibind.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-07-29  |  12.7 KB  |  356 lines

  1. #ifndef _VDIBIND_H
  2. #define _VDIBIND_H
  3.     
  4. #ifndef _COMPILER_H
  5. # include <compiler.h>
  6. #endif
  7.     
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11.  
  12. #ifndef _SIZE_T
  13. #  include <stddef.h>
  14. #endif
  15.  
  16. __EXTERN int     vswr_mode __PROTO((int handle, int mode));
  17. __EXTERN void     vs_color __PROTO((int handle, int index, int rgb[]));
  18. __EXTERN int     vsl_type __PROTO((int handle, int style));
  19. __EXTERN void     vsl_udsty __PROTO((int handle, int pat));
  20. __EXTERN int     vsl_width __PROTO((int handle, int width));
  21. __EXTERN int     vsl_color __PROTO((int handle, int index));
  22. __EXTERN void     vsl_ends __PROTO((int handle, int begstyle, int endstyle));
  23. __EXTERN int     vsm_type __PROTO((int handle, int symbol));
  24. __EXTERN void     vsm_height __PROTO((int handle, int height));
  25. __EXTERN int     vsm_color __PROTO((int handle, int index));
  26. __EXTERN void     vst_height __PROTO((int handle, int height, int *charw,
  27.                      int *charh, int *cellw, int *cellh));
  28. __EXTERN int     vst_point __PROTO((int handle, int point, int *charw,
  29.                     int *charh, int *cellw, int *cellh));
  30. __EXTERN int     vst_rotation __PROTO((int handle, int ang));
  31. __EXTERN int     vst_font __PROTO((int handle, int font));
  32. __EXTERN int     vst_color __PROTO((int handle, int index));
  33. __EXTERN int     vst_effects __PROTO((int handle, int effects));
  34. __EXTERN void     vst_alignment __PROTO((int handle, int hin, int vin,
  35.                     int *hout, int *vout)); 
  36. __EXTERN int     vsf_interior __PROTO((int handle, int style));
  37. __EXTERN int     vsf_fill __PROTO((int handle, int style));
  38. __EXTERN int     vsf_style __PROTO((int handle, int style));
  39. __EXTERN int     vsf_color __PROTO((int handle, int index));
  40. __EXTERN int     vsf_perimeter __PROTO((int handle, int vis));
  41. __EXTERN void     vsf_udpat __PROTO((int handle, int pat[], int planes));
  42.  
  43.  
  44. __EXTERN void     v_opnwk __PROTO((int work_in[], int *handle, int work_out[]));
  45. __EXTERN void     v_clswk __PROTO((int handle));
  46. __EXTERN void     v_opnvwk __PROTO((int work_in[], int *handle, int work_out[]));
  47. __EXTERN void     v_clsvwk __PROTO((int handle));
  48.  
  49.  
  50. __EXTERN void     v_clrwk __PROTO((int handle));
  51. __EXTERN void     v_updwk __PROTO((int handle));
  52. __EXTERN int     vst_load_fonts __PROTO((int handle, int select));
  53. __EXTERN void     vst_unload_fonts __PROTO((int handle, int select));
  54. __EXTERN void     vs_clip __PROTO((int handle, int clip_flag, int pxyarray[]));
  55.  
  56.  
  57. __EXTERN void     v_bar __PROTO((int handle, int pxyarray[]));
  58. __EXTERN void     v_arc __PROTO((int handle, int x, int y, int radius,
  59.                 int begang, int endang)); 
  60. __EXTERN void     v_pieslice __PROTO((int handle, int x, int y, int radius,
  61.                      int begang, int endang));
  62. __EXTERN void     v_circle __PROTO((int handle, int x, int y, int radius));
  63. __EXTERN void     v_ellarc __PROTO((int handle, int x, int y, int xrad,
  64.                    int yrad, int begang, int endang));
  65. __EXTERN void     v_ellpie __PROTO((int handle, int x, int y, int xrad,
  66.                    int yrad, int begang, int endang));
  67. __EXTERN void     v_ellipse __PROTO((int handle, int x, int y, int xrad, int yrad));
  68. __EXTERN void     v_rbox __PROTO((int handle, int pxyarray[]));
  69. __EXTERN void     v_rfbox __PROTO((int handle, int pxyarray[]));
  70. __EXTERN void     v_justified __PROTO((int handle, int x, int y, char *str,
  71.                       int len, int word_space, int char_space));
  72.  
  73. __EXTERN void     vsin_mode  __PROTO((int handle, int dev, int mode));
  74. __EXTERN void     vrq_locator __PROTO((int handle, int x, int y, int *xout,
  75.                       int *yout, int *term));  
  76. __EXTERN int     vsm_locator __PROTO((int handle, int x, int y, int *xout,
  77.                       int *yout, int *term));
  78.  
  79. __EXTERN void     vrq_valuator __PROTO((int handle, int in, int *out, int *term));
  80. __EXTERN void     vsm_valuator __PROTO((int handle, int in, int *out, int *term,
  81.                        int *status));
  82. __EXTERN void     vrq_choice __PROTO((int handle, int cin, int *cout));
  83. __EXTERN int     vsm_choice __PROTO((int handle, int *choice));
  84. __EXTERN void     vrq_string __PROTO((int handle, int len, int echo,
  85.                      int echoxy[], char *str));
  86. __EXTERN int     vsm_string __PROTO((int handle, int len, int echo,
  87.                      int echoxy[], char *str));
  88. __EXTERN void     vsc_form __PROTO((int handle, int form[]));
  89. __EXTERN void     vex_timv __PROTO((int handle, void *time_addr,
  90.                    void **otime_addr, int *time_conv)); 
  91. __EXTERN void     v_show_c __PROTO((int handle, int reset));
  92. __EXTERN void     v_hide_c __PROTO((int handle));
  93. __EXTERN void      vq_mouse __PROTO((int handle, int *pstatus, int *x, int *y));
  94. __EXTERN void     vex_butv __PROTO((int handle, void *new, void **old));
  95. __EXTERN void     vex_motv __PROTO((int handle, void *new, void **old));
  96. __EXTERN void     vex_curv __PROTO((int handle, void *new, void **old));
  97. __EXTERN void     vq_key_s __PROTO((int handle, int *state));
  98.  
  99.  
  100. __EXTERN void     vq_extnd __PROTO((int handle, int flag, int work_out[]));
  101. __EXTERN void     vq_color __PROTO((int handle, int index, int flag, int rgb[]));
  102. __EXTERN void     vql_attribute __PROTO((int handle, int atrib[]));
  103. __EXTERN void     vqm_attributes __PROTO((int handle, int atrib[]));
  104. __EXTERN void     vqf_attributes __PROTO((int handle, int atrib[]));
  105. __EXTERN void     vqt_attributes __PROTO((int handle, int atrib[]));
  106. __EXTERN void     vqt_extent __PROTO((int handle, char *str, int extent[]));
  107. __EXTERN int     vqt_width __PROTO((int handle, int chr, int *cw, int *ldelta,
  108.                     int *rdelta));
  109. __EXTERN int     vqt_name __PROTO((int handle, int element, char *name));
  110. __EXTERN void     vq_cellarray __PROTO((int handle, int pxyarray[], int row_len,
  111.                        int nrows, int *el_used, int *rows_used,
  112.                        int *status, int color[]));  
  113. __EXTERN void     vqin_mode __PROTO((int handle, int dev, int *mode));
  114. __EXTERN void     vqt_fontinfo __PROTO((int handle, int *minade, int *maxade,
  115.                        int distances[], int *maxwidth,
  116.                        int effects[]));  
  117. __EXTERN void     vqt_font_info __PROTO((int handle, int *minade, int *maxade,
  118.                     int distances[], int *maxwidth,
  119.                     int effects[]));  
  120.  
  121.  
  122. __EXTERN void     v_pline __PROTO((int handle, int count, int pxyarray[]));
  123. __EXTERN void     v_pmarker __PROTO((int handle, int count, int pxyarray[]));
  124. __EXTERN int     v_gtext __PROTO((int handle, int x, int y, char *str));
  125. __EXTERN void     v_fillarea __PROTO((int handle, int count, int pxyarray[]));
  126. __EXTERN void     v_cellarray __PROTO((int handle, int pxyarray[],
  127.                       int row_length, int elements, int nrows,
  128.                       int write_mode, int colarray[]));
  129. __EXTERN void     v_contourfill __PROTO((int handle, int x, int y, int index));
  130. __EXTERN void     vr_recfl __PROTO((int handle, int pxyarray[]));
  131.  
  132.  
  133. __EXTERN void     vro_cpyfm __PROTO((int handle, int mode, int pxyarray[],
  134.                     void *src, void *dst));
  135. __EXTERN void     vrt_cpyfm __PROTO((int handle, int mode, int pxyarray[],
  136.                     void *src, void *dst, int color[]));  
  137. __EXTERN void     vr_trnfm __PROTO((int handle, void *src, void *dst));
  138. __EXTERN void     v_get_pixel __PROTO((int handle, int x, int y, int *pel,
  139.                       int *indx)); 
  140.  
  141. /* Verbose headers. They do seem to leave out the fact that the character
  142.  * coordinates are from (1, 1) (top left corner..).
  143.  */
  144.  
  145. /*        vq_chcells
  146.  * Inquire addressable Alpha character cells.
  147.  * -1 for no cursor addressing (value for `*n_cols' ? )
  148.  */
  149. __EXTERN void vq_chcells __PROTO((int handle, int *n_rows, int *n_cols));
  150.  
  151. /*        v_exit_cur
  152.  * Exit alpha mode.
  153.  */
  154. __EXTERN void v_exit_cur __PROTO((int handle));
  155.  
  156.  
  157. /*        v_enter_cur
  158.  * Enter alpha mode
  159.  */
  160. __EXTERN void v_enter_cur __PROTO((int handle));
  161.  
  162. /*        v_curup
  163.  * Alpha cursor up (do nothing if at top).
  164.  */
  165. __EXTERN void v_curup __PROTO((int handle));
  166.  
  167. /*        v_curdown
  168.  * Alpha cursor down (do nothing if at bottom).
  169.  */
  170. __EXTERN void v_curdown __PROTO((int handle));
  171.  
  172. /*        v_curright
  173.  * Alpha cursor right (do nothing if at right edge).
  174.  */
  175. __EXTERN void v_curright __PROTO((int handle));
  176.  
  177. /*        v_curleft
  178.  * Alpha cursor left (do nothing if at left edge).
  179.  */
  180. __EXTERN void v_curleft __PROTO((int handle));
  181.  
  182. /*        v_curhome
  183.  * Alpha cursor home.
  184.  */
  185. __EXTERN void v_curhome __PROTO((int handle));
  186.  
  187. /*        v_eeos
  188.  * Erase to end of screen.
  189.  */
  190. __EXTERN void v_eeos __PROTO((int handle));
  191.  
  192. /*        v_eeol
  193.  * Erase to end of line.
  194.  */
  195. __EXTERN void v_eeol __PROTO((int handle));
  196.  
  197. /*        vs_curaddress
  198.  * Direct set position.
  199.  */
  200. __EXTERN void vs_curaddress __PROTO((int handle, int row, int col));
  201.  
  202. /*        v_curtext
  203.  * Output cursor addressable text (string `s').
  204.  */
  205. __EXTERN void v_curtext __PROTO((int handle, char *s));
  206.  
  207. /*        v_rvon
  208.  * Reverse video on.
  209.  */
  210. __EXTERN void v_rvon __PROTO((int handle));
  211.  
  212. /*        v_rvoff
  213.  * Reverse video off
  214.  */
  215. __EXTERN void v_rvoff __PROTO((int handle));
  216.  
  217. /*        vq_curaddress
  218.  * Inquire current cursor address.
  219.  */
  220. __EXTERN void vq_curaddress __PROTO((int handle, int *cur_row, int *cur_col));
  221.  
  222. /*
  223.  * more vdi esc bindings
  224.  */
  225. __EXTERN int  vq_tabstatus __PROTO((int handle));
  226. __EXTERN void v_hardcopy __PROTO((int handle));
  227. __EXTERN void v_dspcur  __PROTO((int handle, int x, int y));
  228. __EXTERN void v_rmcur __PROTO((int handle));
  229. __EXTERN void v_form_adv __PROTO((int handle));
  230. __EXTERN void v_output_window __PROTO((int handle, int *pxyarray));
  231. __EXTERN void v_clear_disp_list __PROTO((int handle));
  232. __EXTERN void v_bit_image __PROTO((int handle, const char *filename,
  233.             int aspect, int x_scale,
  234.             int y_scale, int h_align, int v_align,
  235.             int *pxyarray));
  236. __EXTERN void vq_scan __PROTO((int handle, int *g_slice, int *g_page,
  237.         int *a_slice, int *a_page, int *div_fac));
  238. __EXTERN void v_alpha_text __PROTO((int handle, const char *string));
  239. __EXTERN int  vs_palette __PROTO(( int handle, int palette));
  240. __EXTERN void v_sound __PROTO((int handle, int frequency, int duration));
  241. __EXTERN int  vs_mute __PROTO((int handle, int action));
  242. __EXTERN void vt_resolution __PROTO(( int handle, int xres, int yres,
  243.             int *xset, int *yset));
  244. __EXTERN void vt_axis __PROTO((int handle, int xres, int yres, int *xset,
  245.             int *yset));
  246. __EXTERN void vt_origin __PROTO((int handle, int xorigin, int yorigin));
  247. __EXTERN void vq_dimensions __PROTO((int handle, int *xdimension,
  248.         int *ydimension));
  249. __EXTERN void vt_alignment __PROTO((int handle, int dx, int dy));
  250. __EXTERN void vsp_film __PROTO((int handle, int index, int lightness));
  251. __EXTERN int  vqp_filmname __PROTO((int handle, int index, char *name));
  252. __EXTERN void vsc_expose __PROTO((int handle, int state));
  253. __EXTERN void v_meta_extents __PROTO((int handle, int min_x, int min_y,
  254.         int max_x, int max_y));
  255. __EXTERN void v_write_meta __PROTO((int handle, int num_intin, int *a_intin, int num_ptsin,
  256.             int *a_ptsin));
  257. __EXTERN void vm_pagesize __PROTO((int handle, int pgwidth, int pgheight));
  258. __EXTERN void vm_coords __PROTO((int handle, int llx, int lly, int urx,
  259.         int ury));
  260. __EXTERN void vm_filename __PROTO((int handle, const char *filename));
  261. __EXTERN void v_escape2000 __PROTO((int handle, int times));
  262.  
  263. /* is gdos present */
  264.  
  265. /* return values for vq_vgdos() inquiry */
  266. #define GDOS_NONE -2L        /* no GDOS installed */
  267. #define GDOS_FSM  0x5F46534DL    /* '_FSM' */
  268. #define GDOS_FNT  0x5F464E54L    /* '_FNT' */
  269.  
  270. #ifdef __GNUC_INLINE__
  271. #define vq_vgdos()                \
  272. ({                        \
  273.     register long ret __asm__("d0");    \
  274.     __asm__ volatile            \
  275.     ("                    \
  276.         movq    #-2,d0;            \
  277.         trap    #2 "            \
  278.     : "=r"(ret)                /* output */ \
  279.     :                    \
  280.     : "d0", "d1", "d2", "a0", "a1", "a2"    /* clobbered regs */ \
  281.     );                    \
  282.     ret;                    \
  283. })
  284. #else 
  285. __EXTERN long vq_gdos __PROTO((void));
  286. #endif /* __GNUC__ | !__NO_INLINE__ */    
  287.  
  288. /* FSM gdos bindings */
  289.  
  290. /*
  291.  * v_gtext with optional shadow attribute
  292.  */
  293. __EXTERN void    v_shtext __PROTO(( int wsid, int x, int y, char *text,
  294.                   int color, int xshadow, int yshadow ));
  295.  
  296. /*
  297.  * Set character cell height by arbitrary points.
  298.  */
  299. __EXTERN int    vst_arbpt __PROTO((  int handle, int point, int *wchar,
  300.                    int *hchar, int *wcell, int *hcell ));
  301.  
  302. /*
  303.  * Inquire FSM text advance placement vector.
  304.  */
  305. __EXTERN void    vqt_advance __PROTO(( int handle, int ch, int *xadv,
  306.                      int *yadv, int *xrem, int *yrem)); 
  307.  
  308. /*
  309.  * Inquire device status information.
  310.  */
  311. __EXTERN void    vqt_devinfo __PROTO(( int handle, int device, int *isdev,
  312.                      char *drivername ));
  313.  
  314. /*
  315.  * Save FSM cache to disk.
  316.  */
  317. __EXTERN int    v_savecache __PROTO(( int handle, char *filename ));
  318.  
  319. /*
  320.  * Load/merge FSM cache from disk.
  321.  */
  322. __EXTERN int    v_loadcache __PROTO(( int handle, char *filename, int mode ));
  323.  
  324. /*
  325.  * Flush FSM cache.
  326.  */
  327. __EXTERN int    v_flushcache __PROTO(( int handle ));
  328.  
  329. /*
  330.  * Set character cell width by arbitrary points.
  331.  */
  332. __EXTERN int    vst_setsize __PROTO(( int handle, int point, int *wchar,
  333.                      int *hchar, int *wcell, int *hcell ));
  334.  
  335. /*
  336.  * Set FSM skew.
  337.  */
  338. __EXTERN int    vst_skew __PROTO(( int handle, int skew ));
  339.  
  340. /*
  341.  * Get FSM GASCII tables.
  342.  */
  343. __EXTERN void    vqt_get_tables __PROTO(( int handle, void **gascii,
  344.                     void **style ));
  345.  
  346. /* 
  347.  * Get FSM cashe size
  348.  */
  349. __EXTERN void    vqt_cachesize __PROTO(( int handle, int which_cache,
  350.                        size_t *size ));
  351. #ifdef __cplusplus
  352. }
  353. #endif
  354.  
  355. #endif /* _VDIBIND_H */
  356.