Annotation of researchv10no/ncurses/screen/term.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * term.h - this file is automatically made from caps and maketerm.ex.
                      3:  *
                      4:  * Guard against multiple includes.
                      5:  */
                      6: 
                      7: #ifndef auto_left_margin
                      8: 
                      9: #define auto_left_margin               CUR Auto_left_margin
                     10: #define auto_right_margin              CUR Auto_right_margin
                     11: #define beehive_glitch                         CUR Beehive_glitch
                     12: #define ceol_standout_glitch           CUR Ceol_standout_glitch
                     13: #define eat_newline_glitch             CUR Eat_newline_glitch
                     14: #define erase_overstrike               CUR Erase_overstrike
                     15: #define generic_type                   CUR Generic_type
                     16: #define hard_copy                      CUR Hard_copy
                     17: #define has_meta_key                   CUR Has_meta_key
                     18: #define has_status_line                CUR Has_status_line
                     19: #define insert_null_glitch             CUR Insert_null_glitch
                     20: #define memory_above                   CUR Memory_above
                     21: #define memory_below                   CUR Memory_below
                     22: #define move_insert_mode               CUR Move_insert_mode
                     23: #define move_standout_mode             CUR Move_standout_mode
                     24: #define over_strike                    CUR Over_strike
                     25: #define status_line_esc_ok             CUR Status_line_esc_ok
                     26: #define teleray_glitch                         CUR Teleray_glitch
                     27: #define tilde_glitch                   CUR Tilde_glitch
                     28: #define transparent_underline          CUR Transparent_underline
                     29: #define xon_xoff                       CUR Xon_xoff
                     30: #define columns                        CUR Columns
                     31: #define init_tabs                      CUR Init_tabs
                     32: #define lines                          CUR Lines
                     33: #define lines_of_memory                CUR Lines_of_memory
                     34: #define magic_cookie_glitch            CUR Magic_cookie_glitch
                     35: #define padding_baud_rate              CUR Padding_baud_rate
                     36: #define virtual_terminal               CUR Virtual_terminal
                     37: #define width_status_line              CUR Width_status_line
                     38: #define back_tab                       CUR strs.Back_tab
                     39: #define bell                           CUR strs.Bell
                     40: #define carriage_return                CUR strs.Carriage_return
                     41: #define change_scroll_region           CUR strs.Change_scroll_region
                     42: #define clear_all_tabs                         CUR strs.Clear_all_tabs
                     43: #define clear_screen                   CUR strs.Clear_screen
                     44: #define clr_eol                        CUR strs.Clr_eol
                     45: #define clr_eos                        CUR strs.Clr_eos
                     46: #define column_address                         CUR strs.Column_address
                     47: #define command_character              CUR strs.Command_character
                     48: #define cursor_address                         CUR strs.Cursor_address
                     49: #define cursor_down                    CUR strs.Cursor_down
                     50: #define cursor_home                    CUR strs.Cursor_home
                     51: #define cursor_invisible               CUR strs.Cursor_invisible
                     52: #define cursor_left                    CUR strs.Cursor_left
                     53: #define cursor_mem_address             CUR strs.Cursor_mem_address
                     54: #define cursor_normal                  CUR strs.Cursor_normal
                     55: #define cursor_right                   CUR strs.Cursor_right
                     56: #define cursor_to_ll                   CUR strs.Cursor_to_ll
                     57: #define cursor_up                      CUR strs.Cursor_up
                     58: #define cursor_visible                         CUR strs.Cursor_visible
                     59: #define delete_character               CUR strs.Delete_character
                     60: #define delete_line                    CUR strs.Delete_line
                     61: #define dis_status_line                CUR strs.Dis_status_line
                     62: #define down_half_line                         CUR strs.Down_half_line
                     63: #define enter_alt_charset_mode                 CUR strs.Enter_alt_charset_mode
                     64: #define enter_blink_mode               CUR strs.Enter_blink_mode
                     65: #define enter_bold_mode                CUR strs.Enter_bold_mode
                     66: #define enter_ca_mode                  CUR strs.Enter_ca_mode
                     67: #define enter_delete_mode              CUR strs.Enter_delete_mode
                     68: #define enter_dim_mode                         CUR strs.Enter_dim_mode
                     69: #define enter_insert_mode              CUR strs.Enter_insert_mode
                     70: #define enter_secure_mode              CUR strs.Enter_secure_mode
                     71: #define enter_protected_mode           CUR strs.Enter_protected_mode
                     72: #define enter_reverse_mode             CUR strs.Enter_reverse_mode
                     73: #define enter_standout_mode            CUR strs.Enter_standout_mode
                     74: #define enter_underline_mode           CUR strs.Enter_underline_mode
                     75: #define erase_chars                    CUR strs.Erase_chars
                     76: #define exit_alt_charset_mode          CUR strs.Exit_alt_charset_mode
                     77: #define exit_attribute_mode            CUR strs.Exit_attribute_mode
                     78: #define exit_ca_mode                   CUR strs.Exit_ca_mode
                     79: #define exit_delete_mode               CUR strs.Exit_delete_mode
                     80: #define exit_insert_mode               CUR strs.Exit_insert_mode
                     81: #define exit_standout_mode             CUR strs.Exit_standout_mode
                     82: #define exit_underline_mode            CUR strs.Exit_underline_mode
                     83: #define flash_screen                   CUR strs.Flash_screen
                     84: #define form_feed                      CUR strs.Form_feed
                     85: #define from_status_line               CUR strs.From_status_line
                     86: #define init_1string                   CUR strs.Init_1string
                     87: #define init_2string                   CUR strs.Init_2string
                     88: #define init_3string                   CUR strs.Init_3string
                     89: #define init_file                      CUR strs.Init_file
                     90: #define insert_character               CUR strs.Insert_character
                     91: #define insert_line                    CUR strs.Insert_line
                     92: #define insert_padding                         CUR strs.Insert_padding
                     93: #define key_backspace                  CUR strs.Key_backspace
                     94: #define key_catab                      CUR strs.Key_catab
                     95: #define key_clear                      CUR strs.Key_clear
                     96: #define key_ctab                       CUR strs.Key_ctab
                     97: #define key_dc                                 CUR strs.Key_dc
                     98: #define key_dl                                 CUR strs.Key_dl
                     99: #define key_down                       CUR strs.Key_down
                    100: #define key_eic                        CUR strs.Key_eic
                    101: #define key_eol                        CUR strs.Key_eol
                    102: #define key_eos                        CUR strs.Key_eos
                    103: #define key_f0                                 CUR strs.Key_f0
                    104: #define key_f1                                 CUR strs.Key_f1
                    105: #define key_f10                        CUR strs.Key_f10
                    106: #define key_f2                                 CUR strs.Key_f2
                    107: #define key_f3                                 CUR strs.Key_f3
                    108: #define key_f4                                 CUR strs.Key_f4
                    109: #define key_f5                                 CUR strs.Key_f5
                    110: #define key_f6                                 CUR strs.Key_f6
                    111: #define key_f7                                 CUR strs.Key_f7
                    112: #define key_f8                                 CUR strs.Key_f8
                    113: #define key_f9                                 CUR strs.Key_f9
                    114: #define key_home                       CUR strs.Key_home
                    115: #define key_ic                                 CUR strs.Key_ic
                    116: #define key_il                                 CUR strs.Key_il
                    117: #define key_left                       CUR strs.Key_left
                    118: #define key_ll                                 CUR strs.Key_ll
                    119: #define key_npage                      CUR strs.Key_npage
                    120: #define key_ppage                      CUR strs.Key_ppage
                    121: #define key_right                      CUR strs.Key_right
                    122: #define key_sf                                 CUR strs.Key_sf
                    123: #define key_sr                                 CUR strs.Key_sr
                    124: #define key_stab                       CUR strs.Key_stab
                    125: #define key_up                                 CUR strs.Key_up
                    126: #define keypad_local                   CUR strs.Keypad_local
                    127: #define keypad_xmit                    CUR strs.Keypad_xmit
                    128: #define lab_f0                                 CUR strs.Lab_f0
                    129: #define lab_f1                                 CUR strs.Lab_f1
                    130: #define lab_f10                        CUR strs.Lab_f10
                    131: #define lab_f2                                 CUR strs.Lab_f2
                    132: #define lab_f3                                 CUR strs.Lab_f3
                    133: #define lab_f4                                 CUR strs.Lab_f4
                    134: #define lab_f5                                 CUR strs.Lab_f5
                    135: #define lab_f6                                 CUR strs.Lab_f6
                    136: #define lab_f7                                 CUR strs.Lab_f7
                    137: #define lab_f8                                 CUR strs.Lab_f8
                    138: #define lab_f9                                 CUR strs2.Lab_f9
                    139: #define meta_off                       CUR strs2.Meta_off
                    140: #define meta_on                        CUR strs2.Meta_on
                    141: #define newline                        CUR strs2.Newline
                    142: #define pad_char                       CUR strs2.Pad_char
                    143: #define parm_dch                       CUR strs2.Parm_dch
                    144: #define parm_delete_line               CUR strs2.Parm_delete_line
                    145: #define parm_down_cursor               CUR strs2.Parm_down_cursor
                    146: #define parm_ich                       CUR strs2.Parm_ich
                    147: #define parm_index                     CUR strs2.Parm_index
                    148: #define parm_insert_line               CUR strs2.Parm_insert_line
                    149: #define parm_left_cursor               CUR strs2.Parm_left_cursor
                    150: #define parm_right_cursor              CUR strs2.Parm_right_cursor
                    151: #define parm_rindex                    CUR strs2.Parm_rindex
                    152: #define parm_up_cursor                         CUR strs2.Parm_up_cursor
                    153: #define pkey_key                       CUR strs2.Pkey_key
                    154: #define pkey_local                     CUR strs2.Pkey_local
                    155: #define pkey_xmit                      CUR strs2.Pkey_xmit
                    156: #define print_screen                   CUR strs2.Print_screen
                    157: #define prtr_off                       CUR strs2.Prtr_off
                    158: #define prtr_on                        CUR strs2.Prtr_on
                    159: #define repeat_char                    CUR strs2.Repeat_char
                    160: #define reset_1string                  CUR strs2.Reset_1string
                    161: #define reset_2string                  CUR strs2.Reset_2string
                    162: #define reset_3string                  CUR strs2.Reset_3string
                    163: #define reset_file                     CUR strs2.Reset_file
                    164: #define restore_cursor                         CUR strs2.Restore_cursor
                    165: #define row_address                    CUR strs2.Row_address
                    166: #define save_cursor                    CUR strs2.Save_cursor
                    167: #define scroll_forward                         CUR strs2.Scroll_forward
                    168: #define scroll_reverse                         CUR strs2.Scroll_reverse
                    169: #define set_attributes                         CUR strs2.Set_attributes
                    170: #define set_tab                        CUR strs2.Set_tab
                    171: #define set_window                     CUR strs2.Set_window
                    172: #define tab                            CUR strs2.Tab
                    173: #define to_status_line                         CUR strs2.To_status_line
                    174: #define underline_char                         CUR strs2.Underline_char
                    175: #define up_half_line                   CUR strs2.Up_half_line
                    176: #define init_prog                      CUR strs2.Init_prog
                    177: #define key_a1                                 CUR strs2.Key_a1
                    178: #define key_a3                                 CUR strs2.Key_a3
                    179: #define key_b2                                 CUR strs2.Key_b2
                    180: #define key_c1                                 CUR strs2.Key_c1
                    181: #define key_c3                                 CUR strs2.Key_c3
                    182: #define prtr_non                       CUR strs2.Prtr_non
                    183: typedef char *charptr;
                    184: 
                    185: struct strs {
                    186:     charptr
                    187:        Back_tab,               /* Back tab (P) */
                    188:        Bell,                   /* Audible signal (bell) (P) */
                    189:        Carriage_return,        /* Carriage return (P*) */
                    190:        Change_scroll_region,   /* change to lines #1 thru #2 (vt100) (PG) */
                    191:        Clear_all_tabs,         /* Clear all tab stops. (P) */
                    192:        Clear_screen,           /* Clear screen (P*) */
                    193:        Clr_eol,                /* Clear to end of line (P) */
                    194:        Clr_eos,                /* Clear to end of display (P*) */
                    195:        Column_address,         /* Set cursor column (PG) */
                    196:        Command_character,      /* Term. settable cmd char in prototype */
                    197:        Cursor_address,         /* Cursor motion to row #1 col #2 (PG) */
                    198:        Cursor_down,            /* Down one line */
                    199:        Cursor_home,            /* Home cursor (if no cup) */
                    200:        Cursor_invisible,       /* Make cursor invisible */
                    201:        Cursor_left,            /* Move cursor left one space. */
                    202:        Cursor_mem_address,     /* Memory relative cursor addressing. */
                    203:        Cursor_normal,          /* Make cursor appear normal (undo vs/vi) */
                    204:        Cursor_right,           /* Non-destructive space (cursor right) */
                    205:        Cursor_to_ll,           /* Last line, first column (if no cup) */
                    206:        Cursor_up,              /* Upline (cursor up) */
                    207:        Cursor_visible,         /* Make cursor very visible */
                    208:        Delete_character,       /* Delete character (P*) */
                    209:        Delete_line,            /* Delete line (P*) */
                    210:        Dis_status_line,        /* Disable status line */
                    211:        Down_half_line,         /* Half-line down (forward 1/2 linefeed) */
                    212:        Enter_alt_charset_mode, /* Start alternate character set (P) */
                    213:        Enter_blink_mode,       /* Turn on blinking */
                    214:        Enter_bold_mode,        /* Turn on bold (extra bright) mode */
                    215:        Enter_ca_mode,          /* String to begin programs that use cup */
                    216:        Enter_delete_mode,      /* Delete mode (enter) */
                    217:        Enter_dim_mode,         /* Turn on half-bright mode */
                    218:        Enter_insert_mode,      /* Insert mode (enter); */
                    219:        Enter_secure_mode,      /* Turn on blank mode (chars invisible) */
                    220:        Enter_protected_mode,   /* Turn on protected mode */
                    221:        Enter_reverse_mode,     /* Turn on reverse video mode */
                    222:        Enter_standout_mode,    /* Begin stand out mode */
                    223:        Enter_underline_mode,   /* Start underscore mode */
                    224:        Erase_chars,            /* Erase #1 characters (PG) */
                    225:        Exit_alt_charset_mode,  /* End alternate character set (P) */
                    226:        Exit_attribute_mode,    /* Turn off all attributes */
                    227:        Exit_ca_mode,           /* String to end programs that use cup */
                    228:        Exit_delete_mode,       /* End delete mode */
                    229:        Exit_insert_mode,       /* End insert mode; */
                    230:        Exit_standout_mode,     /* End stand out mode */
                    231:        Exit_underline_mode,    /* End underscore mode */
                    232:        Flash_screen,           /* Visible bell (may not move cursor) */
                    233:        Form_feed,              /* Hardcopy terminal page eject (P*) */
                    234:        From_status_line,       /* Return from status line */
                    235:        Init_1string,           /* Terminal initialization string */
                    236:        Init_2string,           /* Terminal initialization string */
                    237:        Init_3string,           /* Terminal initialization string */
                    238:        Init_file,              /* Name of file containing is */
                    239:        Insert_character,       /* Insert character (P) */
                    240:        Insert_line,            /* Add new blank line (P*) */
                    241:        Insert_padding,         /* Insert pad after character inserted (P*) */
                    242:        Key_backspace,          /* Sent by backspace key */
                    243:        Key_catab,              /* Sent by clear-all-tabs key. */
                    244:        Key_clear,              /* Sent by clear screen or erase key. */
                    245:        Key_ctab,               /* Sent by clear-tab key */
                    246:        Key_dc,                 /* Sent by delete character key. */
                    247:        Key_dl,                 /* Sent by delete line key. */
                    248:        Key_down,               /* Sent by terminal down arrow key */
                    249:        Key_eic,                /* Sent by rmir or smir in insert mode. */
                    250:        Key_eol,                /* Sent by clear-to-end-of-line key. */
                    251:        Key_eos,                /* Sent by clear-to-end-of-screen key. */
                    252:        Key_f0,                 /* Sent by function key f0. */
                    253:        Key_f1,                 /* Sent by function key f1. */
                    254:        Key_f10,                /* Sent by function key f10. */
                    255:        Key_f2,                 /* Sent by function key f2. */
                    256:        Key_f3,                 /* Sent by function key f3. */
                    257:        Key_f4,                 /* Sent by function key f4. */
                    258:        Key_f5,                 /* Sent by function key f5. */
                    259:        Key_f6,                 /* Sent by function key f6. */
                    260:        Key_f7,                 /* Sent by function key f7. */
                    261:        Key_f8,                 /* Sent by function key f8. */
                    262:        Key_f9,                 /* Sent by function key f9. */
                    263:        Key_home,               /* Sent by home key. */
                    264:        Key_ic,                 /* Sent by ins char/enter ins mode key. */
                    265:        Key_il,                 /* Sent by insert line. */
                    266:        Key_left,               /* Sent by terminal left arrow key */
                    267:        Key_ll,                 /* Sent by home-down key */
                    268:        Key_npage,              /* Sent by next-page key */
                    269:        Key_ppage,              /* Sent by previous-page key */
                    270:        Key_right,              /* Sent by terminal right arrow key */
                    271:        Key_sf,                 /* Sent by scroll-forward/down key */
                    272:        Key_sr,                 /* Sent by scroll-backward/up key */
                    273:        Key_stab,               /* Sent by set-tab key */
                    274:        Key_up,                 /* Sent by terminal up arrow key */
                    275:        Keypad_local,           /* Out of "keypad transmit" mode */
                    276:        Keypad_xmit,            /* Put terminal in "keypad transmit" mode */
                    277:        Lab_f0,                 /* Labels on function key f0 if not f0 */
                    278:        Lab_f1,                 /* Labels on function key f1 if not f1 */
                    279:        Lab_f10,                /* Labels on function key f10 if not f10 */
                    280:        Lab_f2,                 /* Labels on function key f2 if not f2 */
                    281:        Lab_f3,                 /* Labels on function key f3 if not f3 */
                    282:        Lab_f4,                 /* Labels on function key f4 if not f4 */
                    283:        Lab_f5,                 /* Labels on function key f5 if not f5 */
                    284:        Lab_f6,                 /* Labels on function key f6 if not f6 */
                    285:        Lab_f7,                 /* Labels on function key f7 if not f7 */
                    286:        Lab_f8;                 /* Labels on function key f8 if not f8 */
                    287: };
                    288: struct strs2 {
                    289:     charptr
                    290:        Lab_f9,                 /* Labels on function key f9 if not f9 */
                    291:        Meta_off,               /* Turn off "meta mode" */
                    292:        Meta_on,                /* Turn on "meta mode" (8th bit) */
                    293:        Newline,                /* Newline (behaves like cr followed by lf) */
                    294:        Pad_char,               /* Pad character (rather than null) */
                    295:        Parm_dch,               /* Delete #1 chars (PG*) */
                    296:        Parm_delete_line,       /* Delete #1 lines (PG*) */
                    297:        Parm_down_cursor,       /* Move cursor down #1 lines. (PG*) */
                    298:        Parm_ich,               /* Insert #1 blank chars (PG*) */
                    299:        Parm_index,             /* Scroll forward #1 lines. (PG) */
                    300:        Parm_insert_line,       /* Add #1 new blank lines (PG*) */
                    301:        Parm_left_cursor,       /* Move cursor left #1 spaces (PG) */
                    302:        Parm_right_cursor,      /* Move cursor right #1 spaces. (PG*) */
                    303:        Parm_rindex,            /* Scroll backward #1 lines. (PG) */
                    304:        Parm_up_cursor,         /* Move cursor up #1 lines. (PG*) */
                    305:        Pkey_key,               /* Prog funct key #1 to type string #2 */
                    306:        Pkey_local,             /* Prog funct key #1 to execute string #2 */
                    307:        Pkey_xmit,              /* Prog funct key #1 to xmit string #2 */
                    308:        Print_screen,           /* Print contents of the screen */
                    309:        Prtr_off,               /* Turn off the printer */
                    310:        Prtr_on,                /* Turn on the printer */
                    311:        Repeat_char,            /* Repeat char #1 #2 times.  (PG*) */
                    312:        Reset_1string,          /* Reset terminal completely to sane modes. */
                    313:        Reset_2string,          /* Reset terminal completely to sane modes. */
                    314:        Reset_3string,          /* Reset terminal completely to sane modes. */
                    315:        Reset_file,             /* Name of file containing reset string. */
                    316:        Restore_cursor,         /* Restore cursor to position of last sc. */
                    317:        Row_address,            /* Like hpa but sets row. (PG) */
                    318:        Save_cursor,            /* Save cursor position. (P) */
                    319:        Scroll_forward,         /* Scroll text up (P) */
                    320:        Scroll_reverse,         /* Scroll text down (P) */
                    321:        Set_attributes,         /* Define the video attributes (PG9) */
                    322:        Set_tab,                /* Set a tab in all rows, current column. */
                    323:        Set_window,             /* Current window is lines #1-#2 cols #3-#4 */
                    324:        Tab,                    /* Tab to next 8 space hardware tab stop. */
                    325:        To_status_line,         /* Go to status line */
                    326:        Underline_char,         /* Underscore one char and move past it */
                    327:        Up_half_line,           /* Half-line up (reverse 1/2 linefeed) */
                    328:        Init_prog,              /* Path name of program for init. */
                    329:        Key_a1,                 /* Upper left of keypad */
                    330:        Key_a3,                 /* Upper right of keypad */
                    331:        Key_b2,                 /* Center of keypad */
                    332:        Key_c1,                 /* Lower left of keypad */
                    333:        Key_c3,                 /* Lower right of keypad */
                    334:        Prtr_non;               /* Turn on the printer for #1 bytes. */
                    335: };
                    336: 
                    337: struct term {
                    338:     char
                    339:        Auto_left_margin,       /* cub1 wraps from column 0 to last column */
                    340:        Auto_right_margin,      /* Terminal has automatic margins */
                    341:        Beehive_glitch,         /* Beehive (f1=escape, f2=ctrl C) */
                    342:        Ceol_standout_glitch,   /* Standout not erased by overwriting (hp) */
                    343:        Eat_newline_glitch,     /* newline ignored after 80 cols (Concept) */
                    344:        Erase_overstrike,       /* Can erase overstrikes with a blank */
                    345:        Generic_type,           /* Generic line type (e.g. dialup, switch). */
                    346:        Hard_copy,              /* Hardcopy terminal */
                    347:        Has_meta_key,           /* Has a meta key (shift, sets parity bit) */
                    348:        Has_status_line,        /* Has extra "status line" */
                    349:        Insert_null_glitch,     /* Insert mode distinguishes nulls */
                    350:        Memory_above,           /* Display may be retained above the screen */
                    351:        Memory_below,           /* Display may be retained below the screen */
                    352:        Move_insert_mode,       /* Safe to move while in insert mode */
                    353:        Move_standout_mode,     /* Safe to move in standout modes */
                    354:        Over_strike,            /* Terminal overstrikes */
                    355:        Status_line_esc_ok,     /* Escape can be used on the status line */
                    356:        Teleray_glitch,         /* Tabs destructive, magic so char (t1061) */
                    357:        Tilde_glitch,           /* Hazeltine; can't print ~'s */
                    358:        Transparent_underline,  /* underline character overstrikes */
                    359:        Xon_xoff;               /* Terminal uses xon/xoff handshaking */
                    360:     short
                    361:        Columns,                /* Number of columns in a line */
                    362:        Init_tabs,              /* Tabs initially every # spaces. */
                    363:        Lines,                  /* Number of lines on screen or page */
                    364:        Lines_of_memory,        /* Lines of memory if > lines.  0 => varies */
                    365:        Magic_cookie_glitch,    /* Number blank chars left by smso or rmso */
                    366:        Padding_baud_rate,      /* Lowest baud rate where padding needed */
                    367:        Virtual_terminal,       /* Virtual terminal number (CB/Unix) */
                    368:        Width_status_line;      /* # columns in status line */
                    369:        struct strs strs;
                    370:        struct strs2 strs2;
                    371:        short Filedes;          /* file descriptor being written to */
                    372: #ifndef NONSTANDARD
                    373:        SGTTY Ottyb,            /* original state of the terminal */
                    374:              Nttyb;            /* current state of the terminal */
                    375: #endif
                    376: };
                    377: #ifndef NONSTANDARD
                    378: extern struct term *cur_term;
                    379: #endif
                    380: 
                    381: #endif auto_left_margin
                    382:  
                    383: #ifdef SINGLE
                    384: extern struct term _first_term;
                    385: # define CUR   _first_term.
                    386: #else
                    387: # define CUR   cur_term->
                    388: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.