# File : terminal_interface-curses_constants.ads

    --  Generated by the C program ./generate (source ./gen.c).
    --  Do not edit this file directly.
    --  The values provided here may vary on your system.

    with System;
    package Terminal_Interface.Curses_Constants is
       pragma Pure;

       DFT_ARG_SUFFIX : constant String := "w";
       Bit_Order : constant System.Bit_Order := System.Low_Order_First;
       Sizeof_Bool                  : constant := 8;
       OK                           : constant := 0;
       ERR                          : constant := -1;
       pragma Warnings (Off); -- redefinition of Standard.True and False
       TRUE                         : constant := 1;
       FALSE                        : constant := 0;
       pragma Warnings (On);

       --  Version of the ncurses library from extensions(3NCURSES)

       NCURSES_VERSION_MAJOR        : constant := 6;
       NCURSES_VERSION_MINOR        : constant := 4;
       Version : constant String := "6.4";

       --  Character non-color attributes from attr(3NCURSES)

       --  attr_t and chtype may be signed in C.
       type attr_t is mod 2 ** 32;
       A_CHARTEXT_First             : constant := 0;
       A_CHARTEXT_Last              : constant := 7;
       A_COLOR_First                : constant := 8;
       A_COLOR_Last                 : constant := 15;
       Attr_First                   : constant := 16;
       Attr_Last                    : constant := 31;
       A_STANDOUT_First             : constant := 16;
       A_STANDOUT_Last              : constant := 16;
       A_UNDERLINE_First            : constant := 17;
       A_UNDERLINE_Last             : constant := 17;
       A_REVERSE_First              : constant := 18;
       A_REVERSE_Last               : constant := 18;
       A_BLINK_First                : constant := 19;
       A_BLINK_Last                 : constant := 19;
       A_DIM_First                  : constant := 20;
       A_DIM_Last                   : constant := 20;
       A_BOLD_First                 : constant := 21;
       A_BOLD_Last                  : constant := 21;
       A_PROTECT_First              : constant := 24;
       A_PROTECT_Last               : constant := 24;
       A_INVIS_First                : constant := 23;
       A_INVIS_Last                 : constant := 23;
       A_ALTCHARSET_First           : constant := 22;
       A_ALTCHARSET_Last            : constant := 22;
       A_HORIZONTAL_First           : constant := 25;
       A_HORIZONTAL_Last            : constant := 25;
       A_LEFT_First                 : constant := 26;
       A_LEFT_Last                  : constant := 26;
       A_LOW_First                  : constant := 27;
       A_LOW_Last                   : constant := 27;
       A_RIGHT_First                : constant := 28;
       A_RIGHT_Last                 : constant := 28;
       A_TOP_First                  : constant := 29;
       A_TOP_Last                   : constant := 29;
       A_VERTICAL_First             : constant := 30;
       A_VERTICAL_Last              : constant := 30;
       chtype_Size                  : constant := 32;

       --  predefined color numbers from color(3NCURSES)

       COLOR_BLACK                  : constant := 0;
       COLOR_RED                    : constant := 1;
       COLOR_GREEN                  : constant := 2;
       COLOR_YELLOW                 : constant := 3;
       COLOR_BLUE                   : constant := 4;
       COLOR_MAGENTA                : constant := 5;
       COLOR_CYAN                   : constant := 6;
       COLOR_WHITE                  : constant := 7;

       --  ETI return codes from ncurses.h

       E_OK                         : constant := 0;
       E_SYSTEM_ERROR               : constant := -1;
       E_BAD_ARGUMENT               : constant := -2;
       E_POSTED                     : constant := -3;
       E_CONNECTED                  : constant := -4;
       E_BAD_STATE                  : constant := -5;
       E_NO_ROOM                    : constant := -6;
       E_NOT_POSTED                 : constant := -7;
       E_UNKNOWN_COMMAND            : constant := -8;
       E_NO_MATCH                   : constant := -9;
       E_NOT_SELECTABLE             : constant := -10;
       E_NOT_CONNECTED              : constant := -11;
       E_REQUEST_DENIED             : constant := -12;
       E_INVALID_FIELD              : constant := -13;
       E_CURRENT                    : constant := -14;

       --  Input key codes not defined in any ncurses manpage

       KEY_MIN                      : constant := 257;
       KEY_MAX                      : constant := 511;
       KEY_CODE_YES                 : constant := 256;

       --  Input key codes from getch(3NCURSES)

       KEY_BREAK                    : constant := 257;
       KEY_DOWN                     : constant := 258;
       KEY_UP                       : constant := 259;
       KEY_LEFT                     : constant := 260;
       KEY_RIGHT                    : constant := 261;
       KEY_HOME                     : constant := 262;
       KEY_BACKSPACE                : constant := 263;
       KEY_F0                       : constant := 264;
       KEY_F1                       : constant := 265;
       KEY_F2                       : constant := 266;
       KEY_F3                       : constant := 267;
       KEY_F4                       : constant := 268;
       KEY_F5                       : constant := 269;
       KEY_F6                       : constant := 270;
       KEY_F7                       : constant := 271;
       KEY_F8                       : constant := 272;
       KEY_F9                       : constant := 273;
       KEY_F10                      : constant := 274;
       KEY_F11                      : constant := 275;
       KEY_F12                      : constant := 276;
       KEY_F13                      : constant := 277;
       KEY_F14                      : constant := 278;
       KEY_F15                      : constant := 279;
       KEY_F16                      : constant := 280;
       KEY_F17                      : constant := 281;
       KEY_F18                      : constant := 282;
       KEY_F19                      : constant := 283;
       KEY_F20                      : constant := 284;
       KEY_F21                      : constant := 285;
       KEY_F22                      : constant := 286;
       KEY_F23                      : constant := 287;
       KEY_F24                      : constant := 288;
       KEY_DL                       : constant := 328;
       KEY_IL                       : constant := 329;
       KEY_DC                       : constant := 330;
       KEY_IC                       : constant := 331;
       KEY_EIC                      : constant := 332;
       KEY_CLEAR                    : constant := 333;
       KEY_EOS                      : constant := 334;
       KEY_EOL                      : constant := 335;
       KEY_SF                       : constant := 336;
       KEY_SR                       : constant := 337;
       KEY_NPAGE                    : constant := 338;
       KEY_PPAGE                    : constant := 339;
       KEY_STAB                     : constant := 340;
       KEY_CTAB                     : constant := 341;
       KEY_CATAB                    : constant := 342;
       KEY_ENTER                    : constant := 343;
       KEY_SRESET                   : constant := 344;
       KEY_RESET                    : constant := 345;
       KEY_PRINT                    : constant := 346;
       KEY_LL                       : constant := 347;
       KEY_A1                       : constant := 348;
       KEY_A3                       : constant := 349;
       KEY_B2                       : constant := 350;
       KEY_C1                       : constant := 351;
       KEY_C3                       : constant := 352;
       KEY_BTAB                     : constant := 353;
       KEY_BEG                      : constant := 354;
       KEY_CANCEL                   : constant := 355;
       KEY_CLOSE                    : constant := 356;
       KEY_COMMAND                  : constant := 357;
       KEY_COPY                     : constant := 358;
       KEY_CREATE                   : constant := 359;
       KEY_END                      : constant := 360;
       KEY_EXIT                     : constant := 361;
       KEY_FIND                     : constant := 362;
       KEY_HELP                     : constant := 363;
       KEY_MARK                     : constant := 364;
       KEY_MESSAGE                  : constant := 365;
       KEY_MOVE                     : constant := 366;
       KEY_NEXT                     : constant := 367;
       KEY_OPEN                     : constant := 368;
       KEY_OPTIONS                  : constant := 369;
       KEY_PREVIOUS                 : constant := 370;
       KEY_REDO                     : constant := 371;
       KEY_REFERENCE                : constant := 372;
       KEY_REFRESH                  : constant := 373;
       KEY_REPLACE                  : constant := 374;
       KEY_RESTART                  : constant := 375;
       KEY_RESUME                   : constant := 376;
       KEY_SAVE                     : constant := 377;
       KEY_SBEG                     : constant := 378;
       KEY_SCANCEL                  : constant := 379;
       KEY_SCOMMAND                 : constant := 380;
       KEY_SCOPY                    : constant := 381;
       KEY_SCREATE                  : constant := 382;
       KEY_SDC                      : constant := 383;
       KEY_SDL                      : constant := 384;
       KEY_SELECT                   : constant := 385;
       KEY_SEND                     : constant := 386;
       KEY_SEOL                     : constant := 387;
       KEY_SEXIT                    : constant := 388;
       KEY_SFIND                    : constant := 389;
       KEY_SHELP                    : constant := 390;
       KEY_SHOME                    : constant := 391;
       KEY_SIC                      : constant := 392;
       KEY_SLEFT                    : constant := 393;
       KEY_SMESSAGE                 : constant := 394;
       KEY_SMOVE                    : constant := 395;
       KEY_SNEXT                    : constant := 396;
       KEY_SOPTIONS                 : constant := 397;
       KEY_SPREVIOUS                : constant := 398;
       KEY_SPRINT                   : constant := 399;
       KEY_SREDO                    : constant := 400;
       KEY_SREPLACE                 : constant := 401;
       KEY_SRIGHT                   : constant := 402;
       KEY_SRSUME                   : constant := 403;
       KEY_SSAVE                    : constant := 404;
       KEY_SSUSPEND                 : constant := 405;
       KEY_SUNDO                    : constant := 406;
       KEY_SUSPEND                  : constant := 407;
       KEY_UNDO                     : constant := 408;
       KEY_MOUSE                    : constant := 409;
       KEY_RESIZE                   : constant := 410;

       --  alternate character codes (ACS) from addch(3NCURSES)

       ACS_ULCORNER                 : constant := 108;
       ACS_LLCORNER                 : constant := 109;
       ACS_URCORNER                 : constant := 107;
       ACS_LRCORNER                 : constant := 106;
       ACS_LTEE                     : constant := 116;
       ACS_RTEE                     : constant := 117;
       ACS_BTEE                     : constant := 118;
       ACS_TTEE                     : constant := 119;
       ACS_HLINE                    : constant := 113;
       ACS_VLINE                    : constant := 120;
       ACS_PLUS                     : constant := 110;
       ACS_S1                       : constant := 111;
       ACS_S9                       : constant := 115;
       ACS_DIAMOND                  : constant := 96;
       ACS_CKBOARD                  : constant := 97;
       ACS_DEGREE                   : constant := 102;
       ACS_PLMINUS                  : constant := 103;
       ACS_BULLET                   : constant := 126;
       ACS_LARROW                   : constant := 44;
       ACS_RARROW                   : constant := 43;
       ACS_DARROW                   : constant := 46;
       ACS_UARROW                   : constant := 45;
       ACS_BOARD                    : constant := 104;
       ACS_LANTERN                  : constant := 105;
       ACS_BLOCK                    : constant := 48;
       ACS_S3                       : constant := 112;
       ACS_S7                       : constant := 114;
       ACS_LEQUAL                   : constant := 121;
       ACS_GEQUAL                   : constant := 122;
       ACS_PI                       : constant := 123;
       ACS_NEQUAL                   : constant := 124;
       ACS_STERLING                 : constant := 125;

       --  Menu_Options from opts(3MENU)

       O_ONEVALUE_First             : constant := 0;
       O_ONEVALUE_Last              : constant := 0;
       O_SHOWDESC_First             : constant := 1;
       O_SHOWDESC_Last              : constant := 1;
       O_ROWMAJOR_First             : constant := 2;
       O_ROWMAJOR_Last              : constant := 2;
       O_IGNORECASE_First           : constant := 3;
       O_IGNORECASE_Last            : constant := 3;
       O_SHOWMATCH_First            : constant := 4;
       O_SHOWMATCH_Last             : constant := 4;
       O_NONCYCLIC_First            : constant := 5;
       O_NONCYCLIC_Last             : constant := 5;
       Menu_Options_Size            : constant := 32;

       --  Item_Options from menu_opts(3MENU)

       O_SELECTABLE_First           : constant := 0;
       O_SELECTABLE_Last            : constant := 0;
       Item_Options_Size            : constant := 32;

       --  Field_Options from field_opts(3FORM)

       O_VISIBLE_First              : constant := 0;
       O_VISIBLE_Last               : constant := 0;
       O_ACTIVE_First               : constant := 1;
       O_ACTIVE_Last                : constant := 1;
       O_PUBLIC_First               : constant := 2;
       O_PUBLIC_Last                : constant := 2;
       O_EDIT_First                 : constant := 3;
       O_EDIT_Last                  : constant := 3;
       O_WRAP_First                 : constant := 4;
       O_WRAP_Last                  : constant := 4;
       O_BLANK_First                : constant := 5;
       O_BLANK_Last                 : constant := 5;
       O_AUTOSKIP_First             : constant := 6;
       O_AUTOSKIP_Last              : constant := 6;
       O_NULLOK_First               : constant := 7;
       O_NULLOK_Last                : constant := 7;
       O_PASSOK_First               : constant := 8;
       O_PASSOK_Last                : constant := 8;
       O_STATIC_First               : constant := 9;
       O_STATIC_Last                : constant := 9;
       Field_Options_Size           : constant := 32;

       --  Field_Options from opts(3FORM)

       O_NL_OVERLOAD_First          : constant := 0;
       O_NL_OVERLOAD_Last           : constant := 0;
       O_BS_OVERLOAD_First          : constant := 1;
       O_BS_OVERLOAD_Last           : constant := 1;

       --  MEVENT structure from mouse(3NCURSES)

       MEVENT_id_First              : constant := 0;
       MEVENT_id_Last               : constant := 15;
       MEVENT_x_First               : constant := 32;
       MEVENT_x_Last                : constant := 63;
       MEVENT_y_First               : constant := 64;
       MEVENT_y_Last                : constant := 95;
       MEVENT_z_First               : constant := 96;
       MEVENT_z_Last                : constant := 127;
       MEVENT_bstate_First          : constant := 128;
       MEVENT_bstate_Last           : constant := 159;
       MEVENT_Size                  : constant := 160;

       --  mouse events from mouse(3NCURSES)

       BUTTON1_RELEASED             : constant := 1;
       BUTTON1_PRESSED              : constant := 2;
       BUTTON1_CLICKED              : constant := 4;
       BUTTON1_DOUBLE_CLICKED       : constant := 8;
       BUTTON1_TRIPLE_CLICKED       : constant := 16;
       all_events_button_1          : constant := 31;
       BUTTON2_RELEASED             : constant := 32;
       BUTTON2_PRESSED              : constant := 64;
       BUTTON2_CLICKED              : constant := 128;
       BUTTON2_DOUBLE_CLICKED       : constant := 256;
       BUTTON2_TRIPLE_CLICKED       : constant := 512;
       all_events_button_2          : constant := 992;
       BUTTON3_RELEASED             : constant := 1024;
       BUTTON3_PRESSED              : constant := 2048;
       BUTTON3_CLICKED              : constant := 4096;
       BUTTON3_DOUBLE_CLICKED       : constant := 8192;
       BUTTON3_TRIPLE_CLICKED       : constant := 16384;
       all_events_button_3          : constant := 31744;
       BUTTON4_RELEASED             : constant := 32768;
       BUTTON4_PRESSED              : constant := 65536;
       BUTTON4_CLICKED              : constant := 131072;
       BUTTON4_DOUBLE_CLICKED       : constant := 262144;
       BUTTON4_TRIPLE_CLICKED       : constant := 524288;
       all_events_button_4          : constant := 1015808;
       BUTTON_CTRL                  : constant := 33554432;
       BUTTON_SHIFT                 : constant := 67108864;
       BUTTON_ALT                   : constant := 134217728;
       REPORT_MOUSE_POSITION        : constant := 268435456;
       ALL_MOUSE_EVENTS             : constant := 268435455;

       --  trace selection from trace(3NCURSES)

       TRACE_TIMES_First            : constant := 0;
       TRACE_TIMES_Last             : constant := 0;
       TRACE_TPUTS_First            : constant := 1;
       TRACE_TPUTS_Last             : constant := 1;
       TRACE_UPDATE_First           : constant := 2;
       TRACE_UPDATE_Last            : constant := 2;
       TRACE_MOVE_First             : constant := 3;
       TRACE_MOVE_Last              : constant := 3;
       TRACE_CHARPUT_First          : constant := 4;
       TRACE_CHARPUT_Last           : constant := 4;
       TRACE_CALLS_First            : constant := 5;
       TRACE_CALLS_Last             : constant := 5;
       TRACE_VIRTPUT_First          : constant := 6;
       TRACE_VIRTPUT_Last           : constant := 6;
       TRACE_IEVENT_First           : constant := 7;
       TRACE_IEVENT_Last            : constant := 7;
       TRACE_BITS_First             : constant := 8;
       TRACE_BITS_Last              : constant := 8;
       TRACE_ICALLS_First           : constant := 9;
       TRACE_ICALLS_Last            : constant := 9;
       TRACE_CCALLS_First           : constant := 10;
       TRACE_CCALLS_Last            : constant := 10;
       TRACE_DATABASE_First         : constant := 11;
       TRACE_DATABASE_Last          : constant := 11;
       TRACE_ATTRS_First            : constant := 12;
       TRACE_ATTRS_Last             : constant := 12;
       Trace_Size                   : constant := 32;
    end Terminal_Interface.Curses_Constants;