Source:NetHack 3.3.0/winprocs.h

Below is the full text to winprocs.h from the source code of NetHack 3.3.0. To link to a particular line, write [[NetHack 3.3.0/winprocs.h#line123 ]], for example.

Warning! This is the source code from an old release. For the latest release, see Source code

1.   /*	SCCS Id: @(#)winprocs.h 3.3	96/02/18	*/ 2.   /* Copyright (c) David Cohrs, 1992				  */ 3.   /* NetHack may be freely redistributed. See license for details. */ 4.     5.    #ifndef WINPROCS_H 6.   #define WINPROCS_H 7.    8.    struct window_procs { 9.       const char *name; 10.      void FDECL((*win_init_nhwindows), (int *, char **)); 11.      void NDECL((*win_player_selection)); 12.      void NDECL((*win_askname)); 13.      void NDECL((*win_get_nh_event)) ; 14.      void FDECL((*win_exit_nhwindows), (const char *)); 15.      void FDECL((*win_suspend_nhwindows), (const char *)); 16.      void NDECL((*win_resume_nhwindows)); 17.      winid FDECL((*win_create_nhwindow), (int)); 18.      void FDECL((*win_clear_nhwindow), (winid)); 19.      void FDECL((*win_display_nhwindow), (winid, BOOLEAN_P)); 20.      void FDECL((*win_destroy_nhwindow), (winid)); 21.      void FDECL((*win_curs), (winid,int,int)); 22.      void FDECL((*win_putstr), (winid, int, const char *)); 23.      void FDECL((*win_display_file), (const char *, BOOLEAN_P)); 24.      void FDECL((*win_start_menu), (winid)); 25.      void FDECL((*win_add_menu), (winid,int,const ANY_P *, 26.  		CHAR_P,CHAR_P,int,const char *, BOOLEAN_P)); 27.      void FDECL((*win_end_menu), (winid, const char *)); 28.      int FDECL((*win_select_menu), (winid, int, MENU_ITEM_P **)); 29.      char FDECL((*win_message_menu), (CHAR_P,int,const char *)); 30.      void NDECL((*win_update_inventory)); 31.      void NDECL((*win_mark_synch)); 32.      void NDECL((*win_wait_synch)); 33.  #ifdef CLIPPING 34.      void FDECL((*win_cliparound), (int, int)); 35.  #endif 36.  #ifdef POSITIONBAR 37.      void FDECL((*win_update_positionbar), (char *)); 38.  #endif 39.      void FDECL((*win_print_glyph), (winid,XCHAR_P,XCHAR_P,int)); 40.      void FDECL((*win_raw_print), (const char *)); 41.      void FDECL((*win_raw_print_bold), (const char *)); 42.      int NDECL((*win_nhgetch)); 43.      int FDECL((*win_nh_poskey), (int *, int *, int *)); 44.      void NDECL((*win_nhbell)); 45.      int NDECL((*win_doprev_message)); 46.      char FDECL((*win_yn_function), (const char *, const char *, CHAR_P)); 47.      void FDECL((*win_getlin), (const char *,char *)); 48.      int NDECL((*win_get_ext_cmd)); 49.      void FDECL((*win_number_pad), (int)); 50.      void NDECL((*win_delay_output)); 51.  #ifdef CHANGE_COLOR 52.      void FDECL((*win_change_color), (int,long,int)); 53.  #ifdef MAC 54.      void FDECL((*win_change_background), (int)); 55.      short FDECL((*win_set_font_name), (winid, char *)); 56.  #endif 57.      char * NDECL((*win_get_color_string)); 58.  #endif 59.   60.       /* other defs that really should go away (they're tty specific) */ 61.      void NDECL((*win_start_screen)); 62.      void NDECL((*win_end_screen)); 63.   64.       void FDECL((*win_outrip), (winid,int)); 65.  };  66.    67.   extern NEARDATA struct window_procs windowprocs; 68.   69.   /*  70.    * If you wish to only support one window system and not use procedure 71.   * pointers, add the appropriate #ifdef below. 72.   */  73.    74.   #define init_nhwindows (*windowprocs.win_init_nhwindows) 75.  #define player_selection (*windowprocs.win_player_selection) 76.  #define askname (*windowprocs.win_askname) 77.  #define get_nh_event (*windowprocs.win_get_nh_event) 78.  #define exit_nhwindows (*windowprocs.win_exit_nhwindows) 79.  #define suspend_nhwindows (*windowprocs.win_suspend_nhwindows) 80.  #define resume_nhwindows (*windowprocs.win_resume_nhwindows) 81.  #define create_nhwindow (*windowprocs.win_create_nhwindow) 82.  #define clear_nhwindow (*windowprocs.win_clear_nhwindow) 83.  #define display_nhwindow (*windowprocs.win_display_nhwindow) 84.  #define destroy_nhwindow (*windowprocs.win_destroy_nhwindow) 85.  #define curs (*windowprocs.win_curs) 86.  #define putstr (*windowprocs.win_putstr) 87.  #define display_file (*windowprocs.win_display_file) 88.  #define start_menu (*windowprocs.win_start_menu) 89.  #define add_menu (*windowprocs.win_add_menu) 90.  #define end_menu (*windowprocs.win_end_menu) 91.  #define select_menu (*windowprocs.win_select_menu) 92.  #define message_menu (*windowprocs.win_message_menu) 93.  #define update_inventory (*windowprocs.win_update_inventory) 94.  #define mark_synch (*windowprocs.win_mark_synch) 95.  #define wait_synch (*windowprocs.win_wait_synch) 96.  #ifdef CLIPPING 97.  #define cliparound (*windowprocs.win_cliparound) 98.  #endif 99.  #ifdef POSITIONBAR 100. #define update_positionbar (*windowprocs.win_update_positionbar) 101. #endif 102. #define print_glyph (*windowprocs.win_print_glyph) 103. #define raw_print (*windowprocs.win_raw_print) 104. #define raw_print_bold (*windowprocs.win_raw_print_bold) 105. #define nhgetch (*windowprocs.win_nhgetch) 106. #define nh_poskey (*windowprocs.win_nh_poskey) 107. #define nhbell (*windowprocs.win_nhbell) 108. #define nh_doprev_message (*windowprocs.win_doprev_message) 109. #define yn_function (*windowprocs.win_yn_function) 110. #define getlin (*windowprocs.win_getlin) 111. #define get_ext_cmd (*windowprocs.win_get_ext_cmd) 112. #define number_pad (*windowprocs.win_number_pad) 113. #define delay_output (*windowprocs.win_delay_output) 114. #ifdef CHANGE_COLOR 115. #define change_color (*windowprocs.win_change_color) 116. #ifdef MAC 117. #define change_background (*windowprocs.win_change_background) 118. #define set_font_name (*windowprocs.win_set_font_name) 119. #endif 120. #define get_color_string (*windowprocs.win_get_color_string) 121. #endif 122.  123.  /* other defs that really should go away (they're tty specific) */ 124. #define start_screen (*windowprocs.win_start_screen) 125. #define end_screen (*windowprocs.win_end_screen) 126.  127.  #define outrip (*windowprocs.win_outrip) 128. #endif