Difference between revisions of "Source:NetHack 3.6.0/include/wintype.h"

From NetHackWiki
Jump to navigation Jump to search
(Created page with "__MIXEDSYNTAXHIGHLIGHT__ Below is the full text to '''wintype.h''' from the source code of NetHack 3.6.0. To link to a particular line, write...")
 
 
Line 3: Line 3:
  
 
{{NGPL}}
 
{{NGPL}}
  <span id="line1">1.   /* NetHack 3.6  wintype.h      $NHDT-Date: 1433207914 2015/06/02 01:18:34 $  $NHDT-Branch: master $:$NHDT-Revision: 1.15 $ */</span>
+
  <span id="line1">1. /* NetHack 3.6  wintype.h      $NHDT-Date: 1433207914 2015/06/02 01:18:34 $  $NHDT-Branch: master $:$NHDT-Revision: 1.15 $ */</span>
  <span id="line2">2.   /* Copyright (c) David Cohrs, 1991                                */</span>
+
  <span id="line2">2. /* Copyright (c) David Cohrs, 1991                                */</span>
  <span id="line3">3.   /* NetHack may be freely redistributed.  See license for details. */</span>
+
  <span id="line3">3. /* NetHack may be freely redistributed.  See license for details. */</span>
  <span id="line4">4.   </span>
+
  <span id="line4">4. </span>
  <span id="line5">5.   #ifndef WINTYPE_H</span>
+
  <span id="line5">5. #ifndef WINTYPE_H</span>
  <span id="line6">6.   #define WINTYPE_H</span>
+
  <span id="line6">6. #define WINTYPE_H</span>
  <span id="line7">7.   </span>
+
  <span id="line7">7. </span>
  <span id="line8">8.   typedef int winid; /* a window identifier */</span>
+
  <span id="line8">8. typedef int winid; /* a window identifier */</span>
  <span id="line9">9.   </span>
+
  <span id="line9">9. </span>
  <span id="line10">10.   /* generic parameter - must not be any larger than a pointer */</span>
+
  <span id="line10">10. /* generic parameter - must not be any larger than a pointer */</span>
  <span id="line11">11.   typedef union any {</span>
+
  <span id="line11">11. typedef union any {</span>
  <span id="line12">12.       genericptr_t a_void;</span>
+
  <span id="line12">12.     genericptr_t a_void;</span>
  <span id="line13">13.       struct obj *a_obj;</span>
+
  <span id="line13">13.     struct obj *a_obj;</span>
  <span id="line14">14.       struct monst *a_monst;</span>
+
  <span id="line14">14.     struct monst *a_monst;</span>
  <span id="line15">15.       int a_int;</span>
+
  <span id="line15">15.     int a_int;</span>
  <span id="line16">16.       char a_char;</span>
+
  <span id="line16">16.     char a_char;</span>
  <span id="line17">17.       schar a_schar;</span>
+
  <span id="line17">17.     schar a_schar;</span>
  <span id="line18">18.       unsigned int a_uint;</span>
+
  <span id="line18">18.     unsigned int a_uint;</span>
  <span id="line19">19.       long a_long;</span>
+
  <span id="line19">19.     long a_long;</span>
  <span id="line20">20.       unsigned long a_ulong;</span>
+
  <span id="line20">20.     unsigned long a_ulong;</span>
  <span id="line21">21.       int *a_iptr;</span>
+
  <span id="line21">21.     int *a_iptr;</span>
  <span id="line22">22.       long *a_lptr;</span>
+
  <span id="line22">22.     long *a_lptr;</span>
  <span id="line23">23.       unsigned long *a_ulptr;</span>
+
  <span id="line23">23.     unsigned long *a_ulptr;</span>
  <span id="line24">24.       unsigned *a_uptr;</span>
+
  <span id="line24">24.     unsigned *a_uptr;</span>
  <span id="line25">25.       const char *a_string;</span>
+
  <span id="line25">25.     const char *a_string;</span>
  <span id="line26">26.       /* add types as needed */</span>
+
  <span id="line26">26.     /* add types as needed */</span>
  <span id="line27">27.   } anything;</span>
+
  <span id="line27">27. } anything;</span>
  <span id="line28">28.   #define ANY_P union any /* avoid typedef in prototypes */</span>
+
  <span id="line28">28. #define ANY_P union any /* avoid typedef in prototypes */</span>
  <span id="line29">29.                           /* (buggy old Ultrix compiler) */</span>
+
  <span id="line29">29.                         /* (buggy old Ultrix compiler) */</span>
  <span id="line30">30.   </span>
+
  <span id="line30">30. </span>
  <span id="line31">31.   /* symbolic names for the data types housed in anything */</span>
+
  <span id="line31">31. /* symbolic names for the data types housed in anything */</span>
  <span id="line32">32.   /* clang-format off */</span>
+
  <span id="line32">32. /* clang-format off */</span>
  <span id="line33">33.   #define ANY_VOID        1</span>
+
  <span id="line33">33. #define ANY_VOID        1</span>
  <span id="line34">34.   #define ANY_OBJ          2      /* struct obj */</span>
+
  <span id="line34">34. #define ANY_OBJ          2      /* struct obj */</span>
  <span id="line35">35.   #define ANY_MONST        3      /* struct monst (not used) */</span>
+
  <span id="line35">35. #define ANY_MONST        3      /* struct monst (not used) */</span>
  <span id="line36">36.   #define ANY_INT          4      /* int */</span>
+
  <span id="line36">36. #define ANY_INT          4      /* int */</span>
  <span id="line37">37.   #define ANY_CHAR        5      /* char */</span>
+
  <span id="line37">37. #define ANY_CHAR        5      /* char */</span>
  <span id="line38">38.   #define ANY_UCHAR        6      /* unsigned char */</span>
+
  <span id="line38">38. #define ANY_UCHAR        6      /* unsigned char */</span>
  <span id="line39">39.   #define ANY_SCHAR        7      /* signed char */</span>
+
  <span id="line39">39. #define ANY_SCHAR        7      /* signed char */</span>
  <span id="line40">40.   #define ANY_UINT        8      /* unsigned int */</span>
+
  <span id="line40">40. #define ANY_UINT        8      /* unsigned int */</span>
  <span id="line41">41.   #define ANY_LONG        9      /* long */</span>
+
  <span id="line41">41. #define ANY_LONG        9      /* long */</span>
  <span id="line42">42.   #define ANY_ULONG      10      /* unsigned long */</span>
+
  <span id="line42">42. #define ANY_ULONG      10      /* unsigned long */</span>
  <span id="line43">43.   #define ANY_IPTR        11      /* pointer to int */</span>
+
  <span id="line43">43. #define ANY_IPTR        11      /* pointer to int */</span>
  <span id="line44">44.   #define ANY_UPTR        12      /* pointer to unsigned int */</span>
+
  <span id="line44">44. #define ANY_UPTR        12      /* pointer to unsigned int */</span>
  <span id="line45">45.   #define ANY_LPTR        13      /* pointer to long */</span>
+
  <span id="line45">45. #define ANY_LPTR        13      /* pointer to long */</span>
  <span id="line46">46.   #define ANY_ULPTR      14      /* pointer to unsigned long */</span>
+
  <span id="line46">46. #define ANY_ULPTR      14      /* pointer to unsigned long */</span>
  <span id="line47">47.   #define ANY_STR        15      /* pointer to null-terminated char string */</span>
+
  <span id="line47">47. #define ANY_STR        15      /* pointer to null-terminated char string */</span>
  <span id="line48">48.   #define ANY_MASK32      16      /* 32-bit mask (stored as unsigned long) */</span>
+
  <span id="line48">48. #define ANY_MASK32      16      /* 32-bit mask (stored as unsigned long) */</span>
  <span id="line49">49.   /* clang-format on */</span>
+
  <span id="line49">49. /* clang-format on */</span>
  <span id="line50">50.   </span>
+
  <span id="line50">50. </span>
  <span id="line51">51.   /* menu return list */</span>
+
  <span id="line51">51. /* menu return list */</span>
  <span id="line52">52.   typedef struct mi {</span>
+
  <span id="line52">52. typedef struct mi {</span>
  <span id="line53">53.       anything item; /* identifier */</span>
+
  <span id="line53">53.     anything item; /* identifier */</span>
  <span id="line54">54.       long count;    /* count */</span>
+
  <span id="line54">54.     long count;    /* count */</span>
  <span id="line55">55.   } menu_item;</span>
+
  <span id="line55">55. } menu_item;</span>
  <span id="line56">56.   #define MENU_ITEM_P struct mi</span>
+
  <span id="line56">56. #define MENU_ITEM_P struct mi</span>
  <span id="line57">57.   </span>
+
  <span id="line57">57. </span>
  <span id="line58">58.   /* select_menu() "how" argument types */</span>
+
  <span id="line58">58. /* select_menu() "how" argument types */</span>
  <span id="line59">59.   #define PICK_NONE 0 /* user picks nothing (display only) */</span>
+
  <span id="line59">59. #define PICK_NONE 0 /* user picks nothing (display only) */</span>
  <span id="line60">60.   #define PICK_ONE 1  /* only pick one */</span>
+
  <span id="line60">60. #define PICK_ONE 1  /* only pick one */</span>
  <span id="line61">61.   #define PICK_ANY 2  /* can pick any amount */</span>
+
  <span id="line61">61. #define PICK_ANY 2  /* can pick any amount */</span>
  <span id="line62">62.   </span>
+
  <span id="line62">62. </span>
  <span id="line63">63.   /* window types */</span>
+
  <span id="line63">63. /* window types */</span>
  <span id="line64">64.   /* any additional port specific types should be defined in win*.h */</span>
+
  <span id="line64">64. /* any additional port specific types should be defined in win*.h */</span>
  <span id="line65">65.   #define NHW_MESSAGE 1</span>
+
  <span id="line65">65. #define NHW_MESSAGE 1</span>
  <span id="line66">66.   #define NHW_STATUS 2</span>
+
  <span id="line66">66. #define NHW_STATUS 2</span>
  <span id="line67">67.   #define NHW_MAP 3</span>
+
  <span id="line67">67. #define NHW_MAP 3</span>
  <span id="line68">68.   #define NHW_MENU 4</span>
+
  <span id="line68">68. #define NHW_MENU 4</span>
  <span id="line69">69.   #define NHW_TEXT 5</span>
+
  <span id="line69">69. #define NHW_TEXT 5</span>
  <span id="line70">70.   </span>
+
  <span id="line70">70. </span>
  <span id="line71">71.   /* attribute types for putstr; the same as the ANSI value, for convenience */</span>
+
  <span id="line71">71. /* attribute types for putstr; the same as the ANSI value, for convenience */</span>
  <span id="line72">72.   #define ATR_NONE 0</span>
+
  <span id="line72">72. #define ATR_NONE 0</span>
  <span id="line73">73.   #define ATR_BOLD 1</span>
+
  <span id="line73">73. #define ATR_BOLD 1</span>
  <span id="line74">74.   #define ATR_DIM 2</span>
+
  <span id="line74">74. #define ATR_DIM 2</span>
  <span id="line75">75.   #define ATR_ULINE 4</span>
+
  <span id="line75">75. #define ATR_ULINE 4</span>
  <span id="line76">76.   #define ATR_BLINK 5</span>
+
  <span id="line76">76. #define ATR_BLINK 5</span>
  <span id="line77">77.   #define ATR_INVERSE 7</span>
+
  <span id="line77">77. #define ATR_INVERSE 7</span>
  <span id="line78">78.   </span>
+
  <span id="line78">78. </span>
  <span id="line79">79.   /* nh_poskey() modifier types */</span>
+
  <span id="line79">79. /* nh_poskey() modifier types */</span>
  <span id="line80">80.   #define CLICK_1 1</span>
+
  <span id="line80">80. #define CLICK_1 1</span>
  <span id="line81">81.   #define CLICK_2 2</span>
+
  <span id="line81">81. #define CLICK_2 2</span>
  <span id="line82">82.   </span>
+
  <span id="line82">82. </span>
  <span id="line83">83.   /* invalid winid */</span>
+
  <span id="line83">83. /* invalid winid */</span>
  <span id="line84">84.   #define WIN_ERR ((winid) -1)</span>
+
  <span id="line84">84. #define WIN_ERR ((winid) -1)</span>
  <span id="line85">85.   </span>
+
  <span id="line85">85. </span>
  <span id="line86">86.   /* menu window keyboard commands (may be mapped) */</span>
+
  <span id="line86">86. /* menu window keyboard commands (may be mapped) */</span>
  <span id="line87">87.   /* clang-format off */</span>
+
  <span id="line87">87. /* clang-format off */</span>
  <span id="line88">88.   #define MENU_FIRST_PAGE        '^'</span>
+
  <span id="line88">88. #define MENU_FIRST_PAGE        '^'</span>
  <span id="line89">89.   #define MENU_LAST_PAGE          '|'</span>
+
  <span id="line89">89. #define MENU_LAST_PAGE          '|'</span>
  <span id="line90">90.   #define MENU_NEXT_PAGE          '>'</span>
+
  <span id="line90">90. #define MENU_NEXT_PAGE          '>'</span>
  <span id="line91">91.   #define MENU_PREVIOUS_PAGE      '<'</span>
+
  <span id="line91">91. #define MENU_PREVIOUS_PAGE      '<'</span>
  <span id="line92">92.   #define MENU_SELECT_ALL        '.'</span>
+
  <span id="line92">92. #define MENU_SELECT_ALL        '.'</span>
  <span id="line93">93.   #define MENU_UNSELECT_ALL      '-'</span>
+
  <span id="line93">93. #define MENU_UNSELECT_ALL      '-'</span>
  <span id="line94">94.   #define MENU_INVERT_ALL        '@'</span>
+
  <span id="line94">94. #define MENU_INVERT_ALL        '@'</span>
  <span id="line95">95.   #define MENU_SELECT_PAGE        ','</span>
+
  <span id="line95">95. #define MENU_SELECT_PAGE        ','</span>
  <span id="line96">96.   #define MENU_UNSELECT_PAGE      '\\'</span>
+
  <span id="line96">96. #define MENU_UNSELECT_PAGE      '\\'</span>
  <span id="line97">97.   #define MENU_INVERT_PAGE        '~'</span>
+
  <span id="line97">97. #define MENU_INVERT_PAGE        '~'</span>
  <span id="line98">98.   #define MENU_SEARCH            ':'</span>
+
  <span id="line98">98. #define MENU_SEARCH            ':'</span>
  <span id="line99">99.   /* clang-format on */</span>
+
  <span id="line99">99. /* clang-format on */</span>
  <span id="line100">100. </span>
+
  <span id="line100">100. </span>
  <span id="line101">101. #endif /* WINTYPE_H */</span>
+
  <span id="line101">101. #endif /* WINTYPE_H */</span>
 
[[Category:NetHack 3.6.0 source code|include/wintype.h]]
 
[[Category:NetHack 3.6.0 source code|include/wintype.h]]

Latest revision as of 13:47, 15 December 2015

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

The NetHack General Public License applies to screenshots, source code and other content from NetHack.

This content was modified from the original NetHack source code distribution (by splitting up NetHack content between wiki pages, and possibly further editing). See the page history for a list of who changed it, and on what dates.

 /* NetHack 3.6  wintype.h       $NHDT-Date: 1433207914 2015/06/02 01:18:34 $  $NHDT-Branch: master $:$NHDT-Revision: 1.15 $ */
 /* Copyright (c) David Cohrs, 1991                                */
 /* NetHack may be freely redistributed.  See license for details. */
 
 #ifndef WINTYPE_H
 #define WINTYPE_H
 
 typedef int winid; /* a window identifier */
 
 /* generic parameter - must not be any larger than a pointer */
 typedef union any {
     genericptr_t a_void;
     struct obj *a_obj;
     struct monst *a_monst;
     int a_int;
     char a_char;
     schar a_schar;
     unsigned int a_uint;
     long a_long;
     unsigned long a_ulong;
     int *a_iptr;
     long *a_lptr;
     unsigned long *a_ulptr;
     unsigned *a_uptr;
     const char *a_string;
     /* add types as needed */
 } anything;
 #define ANY_P union any /* avoid typedef in prototypes */
                         /* (buggy old Ultrix compiler) */
 
 /* symbolic names for the data types housed in anything */
 /* clang-format off */
 #define ANY_VOID         1
 #define ANY_OBJ          2      /* struct obj */
 #define ANY_MONST        3      /* struct monst (not used) */
 #define ANY_INT          4      /* int */
 #define ANY_CHAR         5      /* char */
 #define ANY_UCHAR        6      /* unsigned char */
 #define ANY_SCHAR        7      /* signed char */
 #define ANY_UINT         8      /* unsigned int */
 #define ANY_LONG         9      /* long */
 #define ANY_ULONG       10      /* unsigned long */
 #define ANY_IPTR        11      /* pointer to int */
 #define ANY_UPTR        12      /* pointer to unsigned int */
 #define ANY_LPTR        13      /* pointer to long */
 #define ANY_ULPTR       14      /* pointer to unsigned long */
 #define ANY_STR         15      /* pointer to null-terminated char string */
 #define ANY_MASK32      16      /* 32-bit mask (stored as unsigned long) */
 /* clang-format on */
 
 /* menu return list */
 typedef struct mi {
     anything item; /* identifier */
     long count;    /* count */
 } menu_item;
 #define MENU_ITEM_P struct mi
 
 /* select_menu() "how" argument types */
 #define PICK_NONE 0 /* user picks nothing (display only) */
 #define PICK_ONE 1  /* only pick one */
 #define PICK_ANY 2  /* can pick any amount */
 
 /* window types */
 /* any additional port specific types should be defined in win*.h */
 #define NHW_MESSAGE 1
 #define NHW_STATUS 2
 #define NHW_MAP 3
 #define NHW_MENU 4
 #define NHW_TEXT 5
 
 /* attribute types for putstr; the same as the ANSI value, for convenience */
 #define ATR_NONE 0
 #define ATR_BOLD 1
 #define ATR_DIM 2
 #define ATR_ULINE 4
 #define ATR_BLINK 5
 #define ATR_INVERSE 7
 
 /* nh_poskey() modifier types */
 #define CLICK_1 1
 #define CLICK_2 2
 
 /* invalid winid */
 #define WIN_ERR ((winid) -1)
 
 /* menu window keyboard commands (may be mapped) */
 /* clang-format off */
 #define MENU_FIRST_PAGE         '^'
 #define MENU_LAST_PAGE          '|'
 #define MENU_NEXT_PAGE          '>'
 #define MENU_PREVIOUS_PAGE      '<'
 #define MENU_SELECT_ALL         '.'
 #define MENU_UNSELECT_ALL       '-'
 #define MENU_INVERT_ALL         '@'
 #define MENU_SELECT_PAGE        ','
 #define MENU_UNSELECT_PAGE      '\\'
 #define MENU_INVERT_PAGE        '~'
 #define MENU_SEARCH             ':'
 /* clang-format on */
 
 #endif /* WINTYPE_H */