1 #ifndef CYGONCE_CONFIG_KEYS_H
2 #define CYGONCE_CONFIG_KEYS_H
3 // ====================================================================
7 // Device I/O "Keys" for get/put config functions
9 // ====================================================================
10 //####ECOSGPLCOPYRIGHTBEGIN####
11 // -------------------------------------------
12 // This file is part of eCos, the Embedded Configurable Operating System.
13 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
14 // Copyright (C) 2004 eCosCentric Limited
16 // eCos is free software; you can redistribute it and/or modify it under
17 // the terms of the GNU General Public License as published by the Free
18 // Software Foundation; either version 2 or (at your option) any later version.
20 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY
21 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
22 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
25 // You should have received a copy of the GNU General Public License along
26 // with eCos; if not, write to the Free Software Foundation, Inc.,
27 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
29 // As a special exception, if other files instantiate templates or use macros
30 // or inline functions from this file, or you compile this file and link it
31 // with other works to produce a work based on this file, this file does not
32 // by itself cause the resulting work to be covered by the GNU General Public
33 // License. However the source code for this file must still be made available
34 // in accordance with section (3) of the GNU General Public License.
36 // This exception does not invalidate any other reasons why a work based on
37 // this file might be covered by the GNU General Public License.
39 // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
40 // at http://sources.redhat.com/ecos/ecos-license/
41 // -------------------------------------------
42 //####ECOSGPLCOPYRIGHTEND####
43 // ====================================================================
44 //#####DESCRIPTIONBEGIN####
47 // Contributors: gthomas,jskov,grante,jlarmour
49 // Purpose: Repository for all get/put config "keys"
52 //####DESCRIPTIONEND####
54 // ====================================================================
56 // This file contains all of the 'key' values used by all I/O components.
57 // It is placed in this single repository to make it easy to reduce conflicts.
59 // ======== 0x0100 Serial ====================================================
60 // Get/Set configuration 'key' values for low-level serial I/O
62 #define CYG_IO_GET_CONFIG_SERIAL_INFO 0x0101
63 #define CYG_IO_GET_CONFIG_SERIAL_OUTPUT_DRAIN 0x0102
64 #define CYG_IO_GET_CONFIG_SERIAL_OUTPUT_FLUSH 0x0103
65 #define CYG_IO_SET_CONFIG_SERIAL_OUTPUT_FLUSH CYG_IO_GET_CONFIG_SERIAL_OUTPUT_FLUSH
66 #define CYG_IO_GET_CONFIG_SERIAL_INPUT_FLUSH 0x0104
67 #define CYG_IO_SET_CONFIG_SERIAL_INPUT_FLUSH CYG_IO_GET_CONFIG_SERIAL_INPUT_FLUSH
68 #define CYG_IO_GET_CONFIG_SERIAL_ABORT 0x0105
69 #define CYG_IO_GET_CONFIG_SERIAL_BUFFER_INFO 0x0111
70 #define CYG_IO_GET_CONFIG_SERIAL_FLOW_CONTROL_METHOD 0x0112
72 #define CYG_IO_SET_CONFIG_SERIAL_INFO 0x0181
73 #define CYG_IO_SET_CONFIG_SERIAL_HW_RX_FLOW_THROTTLE 0x0184
74 #define CYG_IO_SET_CONFIG_SERIAL_HW_FLOW_CONFIG 0x0185
75 #define CYG_IO_SET_CONFIG_SERIAL_FLOW_CONTROL_METHOD 0x0186
76 #define CYG_IO_SET_CONFIG_SERIAL_FLOW_CONTROL_FORCE 0x0187
77 #define CYG_IO_SET_CONFIG_SERIAL_STATUS_CALLBACK 0x0188
78 #define CYG_IO_SET_CONFIG_SERIAL_HW_BREAK 0x0189
80 // Compatibility values. Use of these is deprecated, the generic symbols
81 // should be used instead.
82 #define CYG_IO_GET_CONFIG_SERIAL_READ_BLOCKING CYG_IO_GET_CONFIG_READ_BLOCKING
83 #define CYG_IO_GET_CONFIG_SERIAL_WRITE_BLOCKING CYG_IO_GET_CONFIG_WRITE_BLOCKING
84 #define CYG_IO_SET_CONFIG_SERIAL_READ_BLOCKING CYG_IO_SET_CONFIG_READ_BLOCKING
85 #define CYG_IO_SET_CONFIG_SERIAL_WRITE_BLOCKING CYG_IO_SET_CONFIG_WRITE_BLOCKING
87 // ======== 0x0200 TTY =======================================================
88 // Get/Set configuration 'key' values for tty-like driver
89 #define CYG_IO_GET_CONFIG_TTY_INFO 0x0201 // Get channel configuration
90 #define CYG_IO_SET_CONFIG_TTY_INFO 0x0281 // Set channel configuration
93 // ======== 0x0300 DSP =======================================================
94 // Get/Set configuration 'key' values for low-level DSP I/O
95 #define CYG_IO_GET_CONFIG_DSP_OUTPUT_DRAIN 0x0301
96 #define CYG_IO_GET_CONFIG_DSP_OUTPUT_FLUSH 0x0302
97 #define CYG_IO_GET_CONFIG_DSP_INPUT_FLUSH 0x0303
98 #define CYG_IO_GET_CONFIG_DSP_ABORT 0x0304
99 #define CYG_IO_GET_CONFIG_DSP_INPUT_OVERFLOW_RESET 0x0307
101 // Compatibility values. Use of these is deprecated, the generic symbols
102 // should be used instead.
103 #define CYG_IO_GET_CONFIG_DSP_READ_BLOCKING CYG_IO_GET_CONFIG_READ_BLOCKING
104 #define CYG_IO_GET_CONFIG_DSP_WRITE_BLOCKING CYG_IO_GET_CONFIG_WRITE_BLOCKING
105 #define CYG_IO_SET_CONFIG_DSP_READ_BLOCKING CYG_IO_SET_CONFIG_READ_BLOCKING
106 #define CYG_IO_SET_CONFIG_DSP_WRITE_BLOCKING CYG_IO_SET_CONFIG_WRITE_BLOCKING
108 // ======== 0x400 DSP =======================================================
109 // Get/Set configuration 'key' values for termios emulation
111 #define CYG_IO_GET_CONFIG_TERMIOS 0x0400
112 #define CYG_IO_SET_CONFIG_TERMIOS 0x0401
114 // ======== 0x600 FLASH =====================================================
115 // Get/Set configuration 'key' values for FLASH drivers
117 #define CYG_IO_GET_CONFIG_FLASH_ERASE 0x600
118 #define CYG_IO_GET_CONFIG_FLASH_QUERY 0x601
119 #define CYG_IO_GET_CONFIG_FLASH_LOCK 0x602
120 #define CYG_IO_GET_CONFIG_FLASH_UNLOCK 0x603
121 #define CYG_IO_GET_CONFIG_FLASH_VERIFY 0x604
122 #define CYG_IO_GET_CONFIG_FLASH_DEVSIZE 0x605
123 #define CYG_IO_GET_CONFIG_FLASH_BLOCKSIZE 0x606
125 #define CYG_IO_SET_CONFIG_FLASH_FIS_NAME 0x680
127 // ======== 0x700 DISK =======================================================
128 // Get/Set configuration 'key' values for DISK I/O
130 #define CYG_IO_GET_CONFIG_DISK_INFO 0x700
132 #define CYG_IO_SET_CONFIG_DISK_MOUNT 0x781
133 #define CYG_IO_SET_CONFIG_DISK_UMOUNT 0x782
135 // ======== 0x800 CAN ========================================================
136 // Get/Set configuration 'key' values for CAN I/O
137 #define CYG_IO_GET_CONFIG_CAN_INFO 0x0801
138 #define CYG_IO_GET_CONFIG_CAN_BUFFER_INFO 0x0802
139 #define CYG_IO_GET_CONFIG_CAN_MSGBUF_INFO 0x0803
140 #define CYG_IO_GET_CONFIG_CAN_TIMEOUT 0x0804
141 #define CYG_IO_GET_CONFIG_CAN_HDI 0x0805
142 #define CYG_IO_GET_CONFIG_CAN_STATE 0x0806
144 #define CYG_IO_SET_CONFIG_CAN_INFO 0x0881
145 #define CYG_IO_SET_CONFIG_CAN_OUTPUT_DRAIN 0x0882
146 #define CYG_IO_SET_CONFIG_CAN_OUTPUT_FLUSH 0x0883
147 #define CYG_IO_SET_CONFIG_CAN_INPUT_FLUSH 0x0884
148 #define CYG_IO_SET_CONFIG_CAN_TIMEOUT 0x0885
149 #define CYG_IO_SET_CONFIG_CAN_MSGBUF 0x0886
150 #define CYG_IO_SET_CONFIG_CAN_MODE 0x0887
151 #define CYG_IO_SET_CONFIG_CAN_ABORT 0x0888
152 #define CYG_IO_SET_CONFIG_CAN_CALLBACK 0x0889
154 // ======== 0x1000 Generic ===================================================
155 // Get/Set configuration 'key' values that can apply to more than one
158 #define CYG_IO_GET_CONFIG_READ_BLOCKING 0x1001
159 #define CYG_IO_GET_CONFIG_WRITE_BLOCKING 0x1002
161 #define CYG_IO_SET_CONFIG_READ_BLOCKING 0x1081
162 #define CYG_IO_SET_CONFIG_WRITE_BLOCKING 0x1082
164 // Close the underlying device - primarily useful for io/fileio's devfs,
165 // but probably more widely applicable. Note that this is not like UNIX
166 // close in that there is no reference counting. If that is needed it must
167 // be done at a higher level.
168 #define CYG_IO_SET_CONFIG_CLOSE 0x1100
170 #endif /* CYGONCE_CONFIG_KEYS_H */
171 /* EOF config_keys.h */