Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 1 | /**************************************************************************** |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 2 | * Copyright 2020-2021,2024 Thomas E. Dickey * |
| 3 | * Copyright 1998-2014,2016 Free Software Foundation, Inc. * |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 4 | * * |
| 5 | * Permission is hereby granted, free of charge, to any person obtaining a * |
| 6 | * copy of this software and associated documentation files (the * |
| 7 | * "Software"), to deal in the Software without restriction, including * |
| 8 | * without limitation the rights to use, copy, modify, merge, publish, * |
| 9 | * distribute, distribute with modifications, sublicense, and/or sell * |
| 10 | * copies of the Software, and to permit persons to whom the Software is * |
| 11 | * furnished to do so, subject to the following conditions: * |
| 12 | * * |
| 13 | * The above copyright notice and this permission notice shall be included * |
| 14 | * in all copies or substantial portions of the Software. * |
| 15 | * * |
| 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * |
| 17 | * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * |
| 18 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * |
| 19 | * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * |
| 20 | * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * |
| 21 | * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * |
| 22 | * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * |
| 23 | * * |
| 24 | * Except as contained in this notice, the name(s) of the above copyright * |
| 25 | * holders shall not be used in advertising or otherwise to promote the * |
| 26 | * sale, use or other dealings in this Software without prior written * |
| 27 | * authorization. * |
| 28 | ****************************************************************************/ |
| 29 | |
| 30 | /**************************************************************************** |
| 31 | * Author: Juergen Pfeifer, 1996 * |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 32 | * and: Thomas E. Dickey, 1998 * |
| 33 | * and: Nicolas Boulenguez, 2011 * |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 34 | ****************************************************************************/ |
| 35 | |
| 36 | /* |
| 37 | Version Control |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 38 | $Id: gen.c,v 1.79 2024/01/19 13:41:45 tom Exp $ |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 39 | --------------------------------------------------------------------------*/ |
| 40 | /* |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 41 | This program prints on its standard output the source for the |
| 42 | Terminal_Interface.Curses_Constants Ada package specification. This pure |
| 43 | package only exports C constants to the Ada compiler. |
| 44 | */ |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 45 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 46 | #ifdef HAVE_CONFIG_H |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 47 | #include <ncurses_cfg.h> |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 48 | #else |
| 49 | #include <ncurses.h> |
| 50 | #endif |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 51 | |
| 52 | #include <stdlib.h> |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 53 | #include <string.h> |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 54 | |
| 55 | #include <menu.h> |
| 56 | #include <form.h> |
| 57 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 58 | #undef UCHAR |
| 59 | #undef UINT |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 60 | #undef ULONG |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 61 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 62 | typedef unsigned char UCHAR; |
| 63 | typedef unsigned int UINT; |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 64 | typedef unsigned long ULONG; |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 65 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 66 | /* These global variables will be set by main () */ |
| 67 | static int little_endian; |
| 68 | static const char *my_program_invocation_name = NULL; |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 69 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 70 | static void |
| 71 | my_error(const char *message) |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 72 | { |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 73 | fprintf(stderr, "%s: %s\n", my_program_invocation_name, message); |
| 74 | exit(EXIT_FAILURE); |
| 75 | } |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 76 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 77 | static void |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 78 | print_constant(FILE * fp, |
| 79 | const char *name, |
| 80 | UINT value) |
| 81 | { |
| 82 | fprintf(fp, " %-28s : constant := %u;\n", name, value); |
| 83 | } |
| 84 | |
| 85 | static void |
| 86 | print_long_val(FILE * fp, |
| 87 | const char *name, |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 88 | long value) |
| 89 | { |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 90 | fprintf(fp, " %-28s : constant := %ld;\n", name, value); |
| 91 | } |
| 92 | |
| 93 | static void |
| 94 | print_size_of(FILE * fp, |
| 95 | const char *name, |
| 96 | size_t value) |
| 97 | { |
| 98 | fprintf(fp, " %-28s : constant := %lu;\n", name, (unsigned long)value); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 99 | } |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 100 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 101 | #define PRINT_NAMED_CONSTANT(name) \ |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 102 | print_long_val (fp, #name, name) |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 103 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 104 | static void |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 105 | print_comment(FILE * fp, const char *message) |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 106 | { |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 107 | fprintf(fp, "\n -- %s\n\n", message); |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 108 | } |
| 109 | |
| 110 | /* |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 111 | * Make sure that KEY_MIN and KEY_MAX are defined. |
| 112 | * main () will protest if KEY_MIN == 256 |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 113 | */ |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 114 | #ifndef KEY_MAX |
| 115 | # define KEY_MAX 0777 |
| 116 | #endif |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 117 | #ifndef KEY_MIN |
| 118 | # define KEY_MIN 0401 |
| 119 | #endif |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 120 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 121 | static UCHAR |
| 122 | bit_is_set(const UCHAR * const data, |
| 123 | const UINT offset) |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 124 | { |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 125 | const UCHAR byte = data[offset >> 3]; |
| 126 | UINT bit; |
| 127 | |
| 128 | if (little_endian) |
| 129 | bit = offset; /* offset */ |
| 130 | else /* or */ |
| 131 | bit = ~offset; /* 7 - offset */ |
| 132 | bit &= 7; /* modulo 8 */ |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 133 | return (UCHAR) (byte & (1 << bit)); |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 134 | } |
| 135 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 136 | /* Find lowest and highest used offset in a byte array. */ |
| 137 | /* Returns 0 if and only if all bits are unset. */ |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 138 | static int |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 139 | find_pos(const UCHAR * const data, |
| 140 | const UINT sizeof_data, |
| 141 | UINT * const low, |
| 142 | UINT * const high) |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 143 | { |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 144 | const UINT last = (sizeof_data << 3) - 1; |
| 145 | UINT offset; |
| 146 | |
| 147 | for (offset = last; !bit_is_set(data, offset); offset--) |
| 148 | if (!offset) /* All bits are 0. */ |
| 149 | return 0; |
| 150 | *high = offset; |
| 151 | |
| 152 | for (offset = 0; !bit_is_set(data, offset); offset++) |
| 153 | { |
| 154 | } |
| 155 | *low = offset; |
| 156 | |
| 157 | return -1; |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 158 | } |
| 159 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 160 | #define PRINT_BITMASK(c_type, ada_name, mask_macro) \ |
| 161 | { \ |
| 162 | UINT first, last; \ |
| 163 | c_type mask = (mask_macro); \ |
| 164 | if (!find_pos ((UCHAR *)&mask, sizeof (mask), &first, &last)) \ |
| 165 | my_error ("failed to locate " ada_name); \ |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 166 | print_constant (fp, ada_name "_First", first); \ |
| 167 | print_constant (fp, ada_name "_Last", last); \ |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 168 | } |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 169 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 170 | #define PRINT_NAMED_BITMASK(c_type, mask_macro) \ |
| 171 | PRINT_BITMASK (c_type, #mask_macro, mask_macro) |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 172 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 173 | #define STRUCT_OFFSET(record, field) \ |
| 174 | { \ |
| 175 | UINT first, last; \ |
| 176 | record mask; \ |
| 177 | memset (&mask, 0, sizeof (mask)); \ |
| 178 | memset (&mask.field, 0xff, sizeof(mask.field)); \ |
| 179 | if (!find_pos ((UCHAR *)&mask, sizeof (mask), &first, &last)) \ |
| 180 | my_error ("failed to locate" #record "_" #field); \ |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 181 | print_constant (fp, #record "_" #field "_First", first); \ |
| 182 | print_constant (fp, #record "_" #field "_Last", last); \ |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 183 | } |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 184 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 185 | /*--------------------*/ |
| 186 | /* Start of main (). */ |
| 187 | /*--------------------*/ |
| 188 | |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 189 | int |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 190 | main(int argc, const char *argv[]) |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 191 | { |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 192 | FILE *fp = 0; |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 193 | const int x = 0x12345678; |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 194 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 195 | little_endian = (*((const char *)&x) == 0x78); |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 196 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 197 | my_program_invocation_name = argv[0]; |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 198 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 199 | if (KEY_MIN == 256) |
| 200 | my_error("unexpected value for KEY_MIN: 256"); |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 201 | |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 202 | if (argc == 3) |
| 203 | { |
| 204 | fp = fopen(argv[2], "wb"); |
| 205 | } |
| 206 | else if (argc == 2) |
| 207 | { |
| 208 | fp = stdout; |
| 209 | } |
| 210 | else |
| 211 | { |
| 212 | my_error("Only one or two arguments expected (DFT_ARG_SUFFIX)"); |
| 213 | } |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 214 | |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 215 | if ((strlen(argv[0]) + strlen(__FILE__)) > 25) |
| 216 | { |
| 217 | fprintf(fp, "-- Generated by the C program %.40s.\n", |
| 218 | my_program_invocation_name); |
| 219 | } |
| 220 | else |
| 221 | { |
| 222 | fprintf(fp, "-- Generated by the C program %s (source %s).\n", |
| 223 | my_program_invocation_name, |
| 224 | __FILE__); |
| 225 | } |
| 226 | fprintf(fp, "-- Do not edit this file directly.\n"); |
| 227 | fprintf(fp, "-- The values provided here may vary on your system.\n"); |
| 228 | fprintf(fp, "\n"); |
| 229 | fprintf(fp, "with System;\n"); |
| 230 | fprintf(fp, "package Terminal_Interface.Curses_Constants is\n"); |
| 231 | fprintf(fp, " pragma Pure;\n"); |
| 232 | fprintf(fp, "\n"); |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 233 | |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 234 | fprintf(fp, " DFT_ARG_SUFFIX : constant String := \"%s\";\n", argv[1]); |
| 235 | fprintf(fp, |
| 236 | " Bit_Order : constant System.Bit_Order := System.%s_Order_First;\n", |
| 237 | little_endian ? "Low" : "High"); |
| 238 | print_size_of(fp, "Sizeof_Bool", 8 * sizeof(bool)); |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 239 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 240 | PRINT_NAMED_CONSTANT(OK); |
| 241 | PRINT_NAMED_CONSTANT(ERR); |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 242 | fprintf(fp, |
| 243 | " pragma Warnings (Off); -- redefinition of Standard.True and False\n"); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 244 | PRINT_NAMED_CONSTANT(TRUE); |
| 245 | PRINT_NAMED_CONSTANT(FALSE); |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 246 | fprintf(fp, " pragma Warnings (On);\n"); |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 247 | |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 248 | print_comment(fp, "Version of the ncurses library from extensions(3NCURSES)"); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 249 | PRINT_NAMED_CONSTANT(NCURSES_VERSION_MAJOR); |
| 250 | PRINT_NAMED_CONSTANT(NCURSES_VERSION_MINOR); |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 251 | fprintf(fp, " Version : constant String := \"%d.%d\";\n", |
| 252 | NCURSES_VERSION_MAJOR, NCURSES_VERSION_MINOR); |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 253 | |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 254 | print_comment(fp, "Character non-color attributes from attr(3NCURSES)"); |
| 255 | fprintf(fp, " -- attr_t and chtype may be signed in C.\n"); |
| 256 | fprintf(fp, " type attr_t is mod 2 ** %lu;\n", (long unsigned)(8 * sizeof(attr_t))); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 257 | PRINT_NAMED_BITMASK(attr_t, A_CHARTEXT); |
| 258 | PRINT_NAMED_BITMASK(attr_t, A_COLOR); |
| 259 | PRINT_BITMASK(attr_t, "Attr", A_ATTRIBUTES & ~A_COLOR); |
| 260 | PRINT_NAMED_BITMASK(attr_t, A_STANDOUT); |
| 261 | PRINT_NAMED_BITMASK(attr_t, A_UNDERLINE); |
| 262 | PRINT_NAMED_BITMASK(attr_t, A_REVERSE); |
| 263 | PRINT_NAMED_BITMASK(attr_t, A_BLINK); |
| 264 | PRINT_NAMED_BITMASK(attr_t, A_DIM); |
| 265 | PRINT_NAMED_BITMASK(attr_t, A_BOLD); |
| 266 | PRINT_NAMED_BITMASK(attr_t, A_PROTECT); |
| 267 | PRINT_NAMED_BITMASK(attr_t, A_INVIS); |
| 268 | PRINT_NAMED_BITMASK(attr_t, A_ALTCHARSET); |
| 269 | PRINT_NAMED_BITMASK(attr_t, A_HORIZONTAL); |
| 270 | PRINT_NAMED_BITMASK(attr_t, A_LEFT); |
| 271 | PRINT_NAMED_BITMASK(attr_t, A_LOW); |
| 272 | PRINT_NAMED_BITMASK(attr_t, A_RIGHT); |
| 273 | PRINT_NAMED_BITMASK(attr_t, A_TOP); |
| 274 | PRINT_NAMED_BITMASK(attr_t, A_VERTICAL); |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 275 | print_size_of(fp, "chtype_Size", 8 * sizeof(chtype)); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 276 | |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 277 | print_comment(fp, "predefined color numbers from color(3NCURSES)"); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 278 | PRINT_NAMED_CONSTANT(COLOR_BLACK); |
| 279 | PRINT_NAMED_CONSTANT(COLOR_RED); |
| 280 | PRINT_NAMED_CONSTANT(COLOR_GREEN); |
| 281 | PRINT_NAMED_CONSTANT(COLOR_YELLOW); |
| 282 | PRINT_NAMED_CONSTANT(COLOR_BLUE); |
| 283 | PRINT_NAMED_CONSTANT(COLOR_MAGENTA); |
| 284 | PRINT_NAMED_CONSTANT(COLOR_CYAN); |
| 285 | PRINT_NAMED_CONSTANT(COLOR_WHITE); |
| 286 | |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 287 | print_comment(fp, "ETI return codes from ncurses.h"); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 288 | PRINT_NAMED_CONSTANT(E_OK); |
| 289 | PRINT_NAMED_CONSTANT(E_SYSTEM_ERROR); |
| 290 | PRINT_NAMED_CONSTANT(E_BAD_ARGUMENT); |
| 291 | PRINT_NAMED_CONSTANT(E_POSTED); |
| 292 | PRINT_NAMED_CONSTANT(E_CONNECTED); |
| 293 | PRINT_NAMED_CONSTANT(E_BAD_STATE); |
| 294 | PRINT_NAMED_CONSTANT(E_NO_ROOM); |
| 295 | PRINT_NAMED_CONSTANT(E_NOT_POSTED); |
| 296 | PRINT_NAMED_CONSTANT(E_UNKNOWN_COMMAND); |
| 297 | PRINT_NAMED_CONSTANT(E_NO_MATCH); |
| 298 | PRINT_NAMED_CONSTANT(E_NOT_SELECTABLE); |
| 299 | PRINT_NAMED_CONSTANT(E_NOT_CONNECTED); |
| 300 | PRINT_NAMED_CONSTANT(E_REQUEST_DENIED); |
| 301 | PRINT_NAMED_CONSTANT(E_INVALID_FIELD); |
| 302 | PRINT_NAMED_CONSTANT(E_CURRENT); |
| 303 | |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 304 | print_comment(fp, "Input key codes not defined in any ncurses manpage"); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 305 | PRINT_NAMED_CONSTANT(KEY_MIN); |
| 306 | PRINT_NAMED_CONSTANT(KEY_MAX); |
| 307 | #ifdef KEY_CODE_YES |
| 308 | PRINT_NAMED_CONSTANT(KEY_CODE_YES); |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 309 | #endif |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 310 | |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 311 | print_comment(fp, "Input key codes from getch(3NCURSES)"); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 312 | PRINT_NAMED_CONSTANT(KEY_BREAK); |
| 313 | PRINT_NAMED_CONSTANT(KEY_DOWN); |
| 314 | PRINT_NAMED_CONSTANT(KEY_UP); |
| 315 | PRINT_NAMED_CONSTANT(KEY_LEFT); |
| 316 | PRINT_NAMED_CONSTANT(KEY_RIGHT); |
| 317 | PRINT_NAMED_CONSTANT(KEY_HOME); |
| 318 | PRINT_NAMED_CONSTANT(KEY_BACKSPACE); |
| 319 | PRINT_NAMED_CONSTANT(KEY_F0); |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 320 | #define PRINT_NAMED_FUNC_KEY(name) print_constant(fp, "KEY_F"#name, KEY_F(name)) |
| 321 | PRINT_NAMED_FUNC_KEY(1); |
| 322 | PRINT_NAMED_FUNC_KEY(2); |
| 323 | PRINT_NAMED_FUNC_KEY(3); |
| 324 | PRINT_NAMED_FUNC_KEY(4); |
| 325 | PRINT_NAMED_FUNC_KEY(5); |
| 326 | PRINT_NAMED_FUNC_KEY(6); |
| 327 | PRINT_NAMED_FUNC_KEY(7); |
| 328 | PRINT_NAMED_FUNC_KEY(8); |
| 329 | PRINT_NAMED_FUNC_KEY(9); |
| 330 | PRINT_NAMED_FUNC_KEY(10); |
| 331 | PRINT_NAMED_FUNC_KEY(11); |
| 332 | PRINT_NAMED_FUNC_KEY(12); |
| 333 | PRINT_NAMED_FUNC_KEY(13); |
| 334 | PRINT_NAMED_FUNC_KEY(14); |
| 335 | PRINT_NAMED_FUNC_KEY(15); |
| 336 | PRINT_NAMED_FUNC_KEY(16); |
| 337 | PRINT_NAMED_FUNC_KEY(17); |
| 338 | PRINT_NAMED_FUNC_KEY(18); |
| 339 | PRINT_NAMED_FUNC_KEY(19); |
| 340 | PRINT_NAMED_FUNC_KEY(20); |
| 341 | PRINT_NAMED_FUNC_KEY(21); |
| 342 | PRINT_NAMED_FUNC_KEY(22); |
| 343 | PRINT_NAMED_FUNC_KEY(23); |
| 344 | PRINT_NAMED_FUNC_KEY(24); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 345 | PRINT_NAMED_CONSTANT(KEY_DL); |
| 346 | PRINT_NAMED_CONSTANT(KEY_IL); |
| 347 | PRINT_NAMED_CONSTANT(KEY_DC); |
| 348 | PRINT_NAMED_CONSTANT(KEY_IC); |
| 349 | PRINT_NAMED_CONSTANT(KEY_EIC); |
| 350 | PRINT_NAMED_CONSTANT(KEY_CLEAR); |
| 351 | PRINT_NAMED_CONSTANT(KEY_EOS); |
| 352 | PRINT_NAMED_CONSTANT(KEY_EOL); |
| 353 | PRINT_NAMED_CONSTANT(KEY_SF); |
| 354 | PRINT_NAMED_CONSTANT(KEY_SR); |
| 355 | PRINT_NAMED_CONSTANT(KEY_NPAGE); |
| 356 | PRINT_NAMED_CONSTANT(KEY_PPAGE); |
| 357 | PRINT_NAMED_CONSTANT(KEY_STAB); |
| 358 | PRINT_NAMED_CONSTANT(KEY_CTAB); |
| 359 | PRINT_NAMED_CONSTANT(KEY_CATAB); |
| 360 | PRINT_NAMED_CONSTANT(KEY_ENTER); |
| 361 | PRINT_NAMED_CONSTANT(KEY_SRESET); |
| 362 | PRINT_NAMED_CONSTANT(KEY_RESET); |
| 363 | PRINT_NAMED_CONSTANT(KEY_PRINT); |
| 364 | PRINT_NAMED_CONSTANT(KEY_LL); |
| 365 | PRINT_NAMED_CONSTANT(KEY_A1); |
| 366 | PRINT_NAMED_CONSTANT(KEY_A3); |
| 367 | PRINT_NAMED_CONSTANT(KEY_B2); |
| 368 | PRINT_NAMED_CONSTANT(KEY_C1); |
| 369 | PRINT_NAMED_CONSTANT(KEY_C3); |
| 370 | PRINT_NAMED_CONSTANT(KEY_BTAB); |
| 371 | PRINT_NAMED_CONSTANT(KEY_BEG); |
| 372 | PRINT_NAMED_CONSTANT(KEY_CANCEL); |
| 373 | PRINT_NAMED_CONSTANT(KEY_CLOSE); |
| 374 | PRINT_NAMED_CONSTANT(KEY_COMMAND); |
| 375 | PRINT_NAMED_CONSTANT(KEY_COPY); |
| 376 | PRINT_NAMED_CONSTANT(KEY_CREATE); |
| 377 | PRINT_NAMED_CONSTANT(KEY_END); |
| 378 | PRINT_NAMED_CONSTANT(KEY_EXIT); |
| 379 | PRINT_NAMED_CONSTANT(KEY_FIND); |
| 380 | PRINT_NAMED_CONSTANT(KEY_HELP); |
| 381 | PRINT_NAMED_CONSTANT(KEY_MARK); |
| 382 | PRINT_NAMED_CONSTANT(KEY_MESSAGE); |
| 383 | PRINT_NAMED_CONSTANT(KEY_MOVE); |
| 384 | PRINT_NAMED_CONSTANT(KEY_NEXT); |
| 385 | PRINT_NAMED_CONSTANT(KEY_OPEN); |
| 386 | PRINT_NAMED_CONSTANT(KEY_OPTIONS); |
| 387 | PRINT_NAMED_CONSTANT(KEY_PREVIOUS); |
| 388 | PRINT_NAMED_CONSTANT(KEY_REDO); |
| 389 | PRINT_NAMED_CONSTANT(KEY_REFERENCE); |
| 390 | PRINT_NAMED_CONSTANT(KEY_REFRESH); |
| 391 | PRINT_NAMED_CONSTANT(KEY_REPLACE); |
| 392 | PRINT_NAMED_CONSTANT(KEY_RESTART); |
| 393 | PRINT_NAMED_CONSTANT(KEY_RESUME); |
| 394 | PRINT_NAMED_CONSTANT(KEY_SAVE); |
| 395 | PRINT_NAMED_CONSTANT(KEY_SBEG); |
| 396 | PRINT_NAMED_CONSTANT(KEY_SCANCEL); |
| 397 | PRINT_NAMED_CONSTANT(KEY_SCOMMAND); |
| 398 | PRINT_NAMED_CONSTANT(KEY_SCOPY); |
| 399 | PRINT_NAMED_CONSTANT(KEY_SCREATE); |
| 400 | PRINT_NAMED_CONSTANT(KEY_SDC); |
| 401 | PRINT_NAMED_CONSTANT(KEY_SDL); |
| 402 | PRINT_NAMED_CONSTANT(KEY_SELECT); |
| 403 | PRINT_NAMED_CONSTANT(KEY_SEND); |
| 404 | PRINT_NAMED_CONSTANT(KEY_SEOL); |
| 405 | PRINT_NAMED_CONSTANT(KEY_SEXIT); |
| 406 | PRINT_NAMED_CONSTANT(KEY_SFIND); |
| 407 | PRINT_NAMED_CONSTANT(KEY_SHELP); |
| 408 | PRINT_NAMED_CONSTANT(KEY_SHOME); |
| 409 | PRINT_NAMED_CONSTANT(KEY_SIC); |
| 410 | PRINT_NAMED_CONSTANT(KEY_SLEFT); |
| 411 | PRINT_NAMED_CONSTANT(KEY_SMESSAGE); |
| 412 | PRINT_NAMED_CONSTANT(KEY_SMOVE); |
| 413 | PRINT_NAMED_CONSTANT(KEY_SNEXT); |
| 414 | PRINT_NAMED_CONSTANT(KEY_SOPTIONS); |
| 415 | PRINT_NAMED_CONSTANT(KEY_SPREVIOUS); |
| 416 | PRINT_NAMED_CONSTANT(KEY_SPRINT); |
| 417 | PRINT_NAMED_CONSTANT(KEY_SREDO); |
| 418 | PRINT_NAMED_CONSTANT(KEY_SREPLACE); |
| 419 | PRINT_NAMED_CONSTANT(KEY_SRIGHT); |
| 420 | PRINT_NAMED_CONSTANT(KEY_SRSUME); |
| 421 | PRINT_NAMED_CONSTANT(KEY_SSAVE); |
| 422 | PRINT_NAMED_CONSTANT(KEY_SSUSPEND); |
| 423 | PRINT_NAMED_CONSTANT(KEY_SUNDO); |
| 424 | PRINT_NAMED_CONSTANT(KEY_SUSPEND); |
| 425 | PRINT_NAMED_CONSTANT(KEY_UNDO); |
| 426 | PRINT_NAMED_CONSTANT(KEY_MOUSE); |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 427 | #ifdef KEY_RESIZE |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 428 | PRINT_NAMED_CONSTANT(KEY_RESIZE); |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 429 | #endif |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 430 | |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 431 | print_comment(fp, "alternate character codes (ACS) from addch(3NCURSES)"); |
| 432 | #define PRINT_ACS(name) print_size_of (fp, #name, (size_t)(&name - &acs_map[0])) |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 433 | PRINT_ACS(ACS_ULCORNER); |
| 434 | PRINT_ACS(ACS_LLCORNER); |
| 435 | PRINT_ACS(ACS_URCORNER); |
| 436 | PRINT_ACS(ACS_LRCORNER); |
| 437 | PRINT_ACS(ACS_LTEE); |
| 438 | PRINT_ACS(ACS_RTEE); |
| 439 | PRINT_ACS(ACS_BTEE); |
| 440 | PRINT_ACS(ACS_TTEE); |
| 441 | PRINT_ACS(ACS_HLINE); |
| 442 | PRINT_ACS(ACS_VLINE); |
| 443 | PRINT_ACS(ACS_PLUS); |
| 444 | PRINT_ACS(ACS_S1); |
| 445 | PRINT_ACS(ACS_S9); |
| 446 | PRINT_ACS(ACS_DIAMOND); |
| 447 | PRINT_ACS(ACS_CKBOARD); |
| 448 | PRINT_ACS(ACS_DEGREE); |
| 449 | PRINT_ACS(ACS_PLMINUS); |
| 450 | PRINT_ACS(ACS_BULLET); |
| 451 | PRINT_ACS(ACS_LARROW); |
| 452 | PRINT_ACS(ACS_RARROW); |
| 453 | PRINT_ACS(ACS_DARROW); |
| 454 | PRINT_ACS(ACS_UARROW); |
| 455 | PRINT_ACS(ACS_BOARD); |
| 456 | PRINT_ACS(ACS_LANTERN); |
| 457 | PRINT_ACS(ACS_BLOCK); |
| 458 | PRINT_ACS(ACS_S3); |
| 459 | PRINT_ACS(ACS_S7); |
| 460 | PRINT_ACS(ACS_LEQUAL); |
| 461 | PRINT_ACS(ACS_GEQUAL); |
| 462 | PRINT_ACS(ACS_PI); |
| 463 | PRINT_ACS(ACS_NEQUAL); |
| 464 | PRINT_ACS(ACS_STERLING); |
| 465 | |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 466 | print_comment(fp, "Menu_Options from opts(3MENU)"); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 467 | PRINT_NAMED_BITMASK(Menu_Options, O_ONEVALUE); |
| 468 | PRINT_NAMED_BITMASK(Menu_Options, O_SHOWDESC); |
| 469 | PRINT_NAMED_BITMASK(Menu_Options, O_ROWMAJOR); |
| 470 | PRINT_NAMED_BITMASK(Menu_Options, O_IGNORECASE); |
| 471 | PRINT_NAMED_BITMASK(Menu_Options, O_SHOWMATCH); |
| 472 | PRINT_NAMED_BITMASK(Menu_Options, O_NONCYCLIC); |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 473 | print_size_of(fp, "Menu_Options_Size", 8 * sizeof(Menu_Options)); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 474 | |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 475 | print_comment(fp, "Item_Options from menu_opts(3MENU)"); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 476 | PRINT_NAMED_BITMASK(Item_Options, O_SELECTABLE); |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 477 | print_size_of(fp, "Item_Options_Size", 8 * sizeof(Item_Options)); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 478 | |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 479 | print_comment(fp, "Field_Options from field_opts(3FORM)"); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 480 | PRINT_NAMED_BITMASK(Field_Options, O_VISIBLE); |
| 481 | PRINT_NAMED_BITMASK(Field_Options, O_ACTIVE); |
| 482 | PRINT_NAMED_BITMASK(Field_Options, O_PUBLIC); |
| 483 | PRINT_NAMED_BITMASK(Field_Options, O_EDIT); |
| 484 | PRINT_NAMED_BITMASK(Field_Options, O_WRAP); |
| 485 | PRINT_NAMED_BITMASK(Field_Options, O_BLANK); |
| 486 | PRINT_NAMED_BITMASK(Field_Options, O_AUTOSKIP); |
| 487 | PRINT_NAMED_BITMASK(Field_Options, O_NULLOK); |
| 488 | PRINT_NAMED_BITMASK(Field_Options, O_PASSOK); |
| 489 | PRINT_NAMED_BITMASK(Field_Options, O_STATIC); |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 490 | print_size_of(fp, "Field_Options_Size", 8 * sizeof(Field_Options)); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 491 | |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 492 | print_comment(fp, "Field_Options from opts(3FORM)"); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 493 | PRINT_NAMED_BITMASK(Field_Options, O_NL_OVERLOAD); |
| 494 | PRINT_NAMED_BITMASK(Field_Options, O_BS_OVERLOAD); |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 495 | |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 496 | /* Field_Options_Size is defined below */ |
| 497 | |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 498 | print_comment(fp, "MEVENT structure from mouse(3NCURSES)"); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 499 | STRUCT_OFFSET(MEVENT, id); |
| 500 | STRUCT_OFFSET(MEVENT, x); |
| 501 | STRUCT_OFFSET(MEVENT, y); |
| 502 | STRUCT_OFFSET(MEVENT, z); |
| 503 | STRUCT_OFFSET(MEVENT, bstate); |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 504 | print_size_of(fp, "MEVENT_Size", 8 * sizeof(MEVENT)); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 505 | |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 506 | print_comment(fp, "mouse events from mouse(3NCURSES)"); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 507 | { |
| 508 | mmask_t all_events; |
| 509 | |
| 510 | #define PRINT_MOUSE_EVENT(event) \ |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 511 | print_constant (fp, #event, event); \ |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 512 | all_events |= event |
| 513 | |
| 514 | all_events = 0; |
| 515 | PRINT_MOUSE_EVENT(BUTTON1_RELEASED); |
| 516 | PRINT_MOUSE_EVENT(BUTTON1_PRESSED); |
| 517 | PRINT_MOUSE_EVENT(BUTTON1_CLICKED); |
| 518 | PRINT_MOUSE_EVENT(BUTTON1_DOUBLE_CLICKED); |
| 519 | PRINT_MOUSE_EVENT(BUTTON1_TRIPLE_CLICKED); |
| 520 | #ifdef BUTTON1_RESERVED_EVENT |
| 521 | PRINT_MOUSE_EVENT(BUTTON1_RESERVED_EVENT); |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 522 | #endif |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 523 | print_constant(fp, "all_events_button_1", (UINT) all_events); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 524 | |
| 525 | all_events = 0; |
| 526 | PRINT_MOUSE_EVENT(BUTTON2_RELEASED); |
| 527 | PRINT_MOUSE_EVENT(BUTTON2_PRESSED); |
| 528 | PRINT_MOUSE_EVENT(BUTTON2_CLICKED); |
| 529 | PRINT_MOUSE_EVENT(BUTTON2_DOUBLE_CLICKED); |
| 530 | PRINT_MOUSE_EVENT(BUTTON2_TRIPLE_CLICKED); |
| 531 | #ifdef BUTTON2_RESERVED_EVENT |
| 532 | PRINT_MOUSE_EVENT(BUTTON2_RESERVED_EVENT); |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 533 | #endif |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 534 | print_constant(fp, "all_events_button_2", (UINT) all_events); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 535 | |
| 536 | all_events = 0; |
| 537 | PRINT_MOUSE_EVENT(BUTTON3_RELEASED); |
| 538 | PRINT_MOUSE_EVENT(BUTTON3_PRESSED); |
| 539 | PRINT_MOUSE_EVENT(BUTTON3_CLICKED); |
| 540 | PRINT_MOUSE_EVENT(BUTTON3_DOUBLE_CLICKED); |
| 541 | PRINT_MOUSE_EVENT(BUTTON3_TRIPLE_CLICKED); |
| 542 | #ifdef BUTTON3_RESERVED_EVENT |
| 543 | PRINT_MOUSE_EVENT(BUTTON3_RESERVED_EVENT); |
| 544 | #endif |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 545 | print_constant(fp, "all_events_button_3", (UINT) all_events); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 546 | |
| 547 | all_events = 0; |
| 548 | PRINT_MOUSE_EVENT(BUTTON4_RELEASED); |
| 549 | PRINT_MOUSE_EVENT(BUTTON4_PRESSED); |
| 550 | PRINT_MOUSE_EVENT(BUTTON4_CLICKED); |
| 551 | PRINT_MOUSE_EVENT(BUTTON4_DOUBLE_CLICKED); |
| 552 | PRINT_MOUSE_EVENT(BUTTON4_TRIPLE_CLICKED); |
| 553 | #ifdef BUTTON4_RESERVED_EVENT |
| 554 | PRINT_MOUSE_EVENT(BUTTON4_RESERVED_EVENT); |
| 555 | #endif |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 556 | print_constant(fp, "all_events_button_4", (UINT) all_events); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 557 | } |
| 558 | PRINT_NAMED_CONSTANT(BUTTON_CTRL); |
| 559 | PRINT_NAMED_CONSTANT(BUTTON_SHIFT); |
| 560 | PRINT_NAMED_CONSTANT(BUTTON_ALT); |
| 561 | PRINT_NAMED_CONSTANT(REPORT_MOUSE_POSITION); |
| 562 | PRINT_NAMED_CONSTANT(ALL_MOUSE_EVENTS); |
| 563 | |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 564 | print_comment(fp, "trace selection from trace(3NCURSES)"); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 565 | PRINT_NAMED_BITMASK(UINT, TRACE_TIMES); |
| 566 | PRINT_NAMED_BITMASK(UINT, TRACE_TPUTS); |
| 567 | PRINT_NAMED_BITMASK(UINT, TRACE_UPDATE); |
| 568 | PRINT_NAMED_BITMASK(UINT, TRACE_MOVE); |
| 569 | PRINT_NAMED_BITMASK(UINT, TRACE_CHARPUT); |
| 570 | PRINT_NAMED_BITMASK(UINT, TRACE_CALLS); |
| 571 | PRINT_NAMED_BITMASK(UINT, TRACE_VIRTPUT); |
| 572 | PRINT_NAMED_BITMASK(UINT, TRACE_IEVENT); |
| 573 | PRINT_NAMED_BITMASK(UINT, TRACE_BITS); |
| 574 | PRINT_NAMED_BITMASK(UINT, TRACE_ICALLS); |
| 575 | PRINT_NAMED_BITMASK(UINT, TRACE_CCALLS); |
| 576 | PRINT_NAMED_BITMASK(UINT, TRACE_DATABASE); |
| 577 | PRINT_NAMED_BITMASK(UINT, TRACE_ATTRS); |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 578 | print_size_of(fp, "Trace_Size", 8 * sizeof(UINT)); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 579 | |
micky387 | 9b9f5e7 | 2025-07-08 18:04:53 -0400 | [diff] [blame] | 580 | fprintf(fp, "end Terminal_Interface.Curses_Constants;\n"); |
Steve Kondik | ae271bc | 2015-11-15 02:50:53 +0100 | [diff] [blame] | 581 | exit(EXIT_SUCCESS); |
Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 582 | } |