Source:NetHack 3.2.0/wintype.h

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

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

1.   /*	SCCS Id: @(#)wintype.h	3.2	96/02/18	*/ 2.   /* Copyright (c) David Cohrs, 1991				  */ 3.   /* NetHack may be freely redistributed. See license for details. */ 4.     5.    #ifndef WINTYPE_H 6.   #define WINTYPE_H 7.    8.    typedef int winid;              /* a window identifier */ 9.    10.   /* generic parameter - must not be any larger than a pointer */ 11.  typedef union any { 12.      genericptr_t a_void; 13.      struct obj *a_obj; 14.      int  a_int; 15.      char a_char; 16.      /* add types as needed */ 17.  } anything; 18.  #define ANY_P union any	/* avoid typedef in prototypes */ 19.  			/* (buggy old Ultrix compiler) */ 20.   21.   /* menu return list */ 22.  typedef struct mi { 23.      anything item;		/* identifier */ 24.      long count;			/* count */ 25.  } menu_item; 26.  #define MENU_ITEM_P struct mi  27. 28.  /* select_menu "how" argument types */ 29.  #define PICK_NONE 0	/* user picks nothing (display only) */ 30.  #define PICK_ONE  1	/* only pick one */ 31.  #define PICK_ANY  2	/* can pick any amount */ 32.   33.   /* window types */ 34.  /* any additional port specific types should be defined in win*.h */ 35.  #define NHW_MESSAGE 1 36.  #define NHW_STATUS  2 37.  #define NHW_MAP     3 38.  #define NHW_MENU    4 39.  #define NHW_TEXT    5 40.   41.   /* attribute types for putstr; the same as the ANSI value, for convenience */ 42.  #define ATR_NONE    0 43.  #define ATR_BOLD    1 44.  #define ATR_DIM     2 45.  #define ATR_ULINE   4 46.  #define ATR_BLINK   5 47.  #define ATR_INVERSE 7 48.   49.   /* nh_poskey modifier types */ 50.  #define CLICK_1     1 51.  #define CLICK_2	    2 52.   53.   /* invalid winid */ 54.  #define WIN_ERR ((winid) -1) 55.   56.   #endif /* WINTYPE_H */