girparser: Better support for arrays in return type.
[vala-lang.git] / vapi / linux.vapi
blob8d739c645fddef09cc830948ffad85e2d9ca1052
1 /* linux.vapi
2  *
3  * Copyright (C) 2009-2010 Michael 'Mickey' Lauer <mlauer@vanille-media.de>
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
18  */
20 [CCode (cprefix = "", lower_case_cprefix = "")]
21 namespace Linux {
23     /*
24      * Console
25      */
26     [CCode (cprefix = "", lower_case_cprefix = "")]
27     namespace Console {
29         /* constants */
31         [CCode (cheader_filename = "linux/kd.h")]
32         public const int GIO_FONT;
33         [CCode (cheader_filename = "linux/kd.h")]
34         public const int PIO_FONT;
35         [CCode (cheader_filename = "linux/kd.h")]
36         public const int GIO_FONTX;
37         [CCode (cheader_filename = "linux/kd.h")]
38         public const int PIO_FONTX;
39         [CCode (cheader_filename = "linux/kd.h")]
40         public const int PIO_FONTRESET;
41         [CCode (cheader_filename = "linux/kd.h")]
42         public const int GIO_CMAP;
43         [CCode (cheader_filename = "linux/kd.h")]
44         public const int PIO_CMAP;
45         [CCode (cheader_filename = "linux/kd.h")]
46         public const int KIOCSOUND;
47         [CCode (cheader_filename = "linux/kd.h")]
48         public const int KDMKTONE;
49         [CCode (cheader_filename = "linux/kd.h")]
50         public const int KDGETLED;
51         [CCode (cheader_filename = "linux/kd.h")]
52         public const int KDSETLED;
53         [CCode (cheader_filename = "linux/kd.h")]
54         public const int KDGKBTYPE;
55         [CCode (cheader_filename = "linux/kd.h")]
56         public const int KB_84;
57         [CCode (cheader_filename = "linux/kd.h")]
58         public const int KB_101;
59         [CCode (cheader_filename = "linux/kd.h")]
60         public const int KB_OTHER;
61         [CCode (cheader_filename = "linux/kd.h")]
62         public const int KDADDIO;
63         [CCode (cheader_filename = "linux/kd.h")]
64         public const int KDDELIO;
65         [CCode (cheader_filename = "linux/kd.h")]
66         public const int KDENABIO;
67         [CCode (cheader_filename = "linux/kd.h")]
68         public const int KDDISABIO;
69         [CCode (cheader_filename = "linux/kd.h")]
70         public const int KDSETMODE;
71         [CCode (cheader_filename = "linux/kd.h")]
72         public const int KDGETMODE;
73         [CCode (cheader_filename = "linux/kd.h")]
74         public const int KDMAPDISP;
75         [CCode (cheader_filename = "linux/kd.h")]
76         public const int KDUNMAPDISP;
77         [CCode (cheader_filename = "linux/kd.h")]
78         public const int E_TABSZ;
79         [CCode (cheader_filename = "linux/kd.h")]
80         public const int GIO_SCRNMAP;
81         [CCode (cheader_filename = "linux/kd.h")]
82         public const int PIO_SCRNMAP;
83         [CCode (cheader_filename = "linux/kd.h")]
84         public const int GIO_UNISCRNMAP;
85         [CCode (cheader_filename = "linux/kd.h")]
86         public const int PIO_UNISCRNMAP;
87         [CCode (cheader_filename = "linux/kd.h")]
88         public const int GIO_UNIMAP;
89         [CCode (cheader_filename = "linux/kd.h")]
90         public const int PIO_UNIMAP;
91         [CCode (cheader_filename = "linux/kd.h")]
92         public const int PIO_UNIMAPCLR;
93         [CCode (cheader_filename = "linux/kd.h")]
94         public const int UNI_DIRECT_BASE;
95         [CCode (cheader_filename = "linux/kd.h")]
96         public const int UNI_DIRECT_MASK;
97         [CCode (cheader_filename = "linux/kd.h")]
98         public const int KDGKBMODE;
99         [CCode (cheader_filename = "linux/kd.h")]
100         public const int KDSKBMODE;
101         [CCode (cheader_filename = "linux/kd.h")]
102         public const int KDGKBMETA;
103         [CCode (cheader_filename = "linux/kd.h")]
104         public const int KDSKBMETA;
105         [CCode (cheader_filename = "linux/kd.h")]
106         public const int KDGKBLED;
107         [CCode (cheader_filename = "linux/kd.h")]
108         public const int KDSKBLED;
109         [CCode (cheader_filename = "linux/kd.h")]
110         public const int K_NORMTAB;
111         [CCode (cheader_filename = "linux/kd.h")]
112         public const int K_SHIFTTAB;
113         [CCode (cheader_filename = "linux/kd.h")]
114         public const int K_ALTTAB;
115         [CCode (cheader_filename = "linux/kd.h")]
116         public const int K_ALTSHIFTTAB;
117         [CCode (cheader_filename = "linux/kd.h")]
118         public const int KDGKBSENT;
119         [CCode (cheader_filename = "linux/kd.h")]
120         public const int KDSKBSENT;
121         [CCode (cheader_filename = "linux/kd.h")]
122         public const int KDGKBDIACR;
123         [CCode (cheader_filename = "linux/kd.h")]
124         public const int KDSKBDIACR;
125         [CCode (cheader_filename = "linux/kd.h")]
126         public const int KDGKBDIACRUC;
127         [CCode (cheader_filename = "linux/kd.h")]
128         public const int KDSKBDIACRUC;
129         [CCode (cheader_filename = "linux/kd.h")]
130         public const int KDGETKEYCODE;
131         [CCode (cheader_filename = "linux/kd.h")]
132         public const int KDSETKEYCODE;
133         [CCode (cheader_filename = "linux/kd.h")]
134         public const int KDSIGACCEPT;
135         [CCode (cheader_filename = "linux/kd.h")]
136         public const int KDKBDREP;
137         [CCode (cheader_filename = "linux/kd.h")]
138         public const int KDFONTOP;
139         [CCode (cheader_filename = "linux/kd.h")]
140         public const int KD_FONT_FLAG_DONT_RECALC;
142         /* enums */
144         [CCode (cprefix = "KD_FONT_OP_", cheader_filename = "linux/kd.h")]
145         public enum FontOperationCode {
146             SET,
147             GET,
148             SET_DEFAULT,
149             COPY
150         }
152         [CCode (cprefix = "K_", cheader_filename = "linux/kd.h")]
153         public enum KeyboardMode {
154             RAW,
155             XLATE,
156             MEDIUMRAW,
157             UNICODE
158         }
160         [CCode (cprefix = "K_", cheader_filename = "linux/kd.h")]
161         public enum LedMode {
162             SCROLLLOCK,
163             NUMLOCK,
164             CAPSLOCK
165         }
167         [CCode (cprefix = "LED_", cheader_filename = "linux/kd.h")]
168         public enum LedType {
169             SCR,
170             NUM,
171             CAP
172         }
174         [CCode (cprefix = "KD_", cheader_filename = "linux/kd.h")]
175         public enum TerminalMode {
176             TEXT,
177             GRAPHICS
178         }
180         [CCode (cprefix = "K_", cheader_filename = "linux/kd.h")]
181         public enum MetaMode {
182             METABIT,
183             ESCPREFIX
184         }
186         /* structs */
188         [CCode (cname = "struct kbdiacr", cheader_filename = "linux/kd.h")]
189         public struct Diacritic {
190             public uchar diacr;
191             public uchar base;
192             public uchar result;
193         }
195         [CCode (cname = "struct kbdiacrs", cheader_filename = "linux/kd.h")]
196         public struct Diacritics {
197             public uint kb_cnt;
198             public Diacritic kbdiacr[256];
199         }
201         [CCode (cname = "struct kbdiacruc", cheader_filename = "linux/kd.h")]
202         public struct Diacruc {
203             public uint diacr;
204             public uint base;
205             public uint result;
206         }
208         [CCode (cname = "struct kbdiacrsuc", cheader_filename = "linux/kd.h")]
209         public struct Diacrucs {
210             public uint kb_cnt;
211             public Diacruc kbdiacruc[256];
212         }
214         [CCode (cname = "struct console_font", cheader_filename = "linux/kd.h")]
215         public struct Font {
216             public uint width;
217             public uint height;
218             public uint charcount;
219             public uchar* data;
220         }
222         [CCode (cname = "struct consolefontdesc", cheader_filename = "linux/kd.h")]
223         public struct FontDescription {
224             public uint16 charcount;
225             public uint16 charheight;
226             public string chardata;
227         }
229         [CCode (cname = "struct console_font_op", cheader_filename = "linux/kd.h")]
230         public struct FontOperation {
231             public FontOperationCode op;
232             public uint flags;
233             public uint width;
234             public uint height;
235             public uint charcount;
236             public uchar* data;
237         }
239         [CCode (cname = "struct kbkeycode", cheader_filename = "linux/kd.h")]
240         public struct KeyCode {
241             public uint scancode;
242             public uint keycode;
243         }
245         [CCode (cname = "struct kbentry", cheader_filename = "linux/kd.h")]
246         public struct KeyboardEntry {
247             public uchar kb_table;
248             public uchar kb_index;
249             public uint16 kb_value;
250         }
252         [CCode (cname = "struct kbsentry", cheader_filename = "linux/kd.h")]
253         public struct KeyboardEntries {
254             public uchar kb_func;
255             public uchar kb_string[512];
256         }
258         [CCode (cname = "struct kbd_repeat", cheader_filename = "linux/kd.h")]
259         public struct KeyRepeat {
260             public int delay;
261             public int period;
262         }
264         [CCode (cname = "struct unipair", cheader_filename = "linux/kd.h")]
265         public struct UniPair {
266             public uint16 unicode;
267             public uint16 fontpos;
268         }
270         [CCode (cname = "struct unimapdesc", cheader_filename = "linux/kd.h")]
271         public struct UniMapDesc {
272             public uint16 entry_ct;
273             UniPair entries;
274         }
276         [CCode (cname = "struct unimapinit", cheader_filename = "linux/kd.h")]
277         public struct UniMapInit {
278             public uint16 advised_hashsize;
279             public uint16 advised_hashstep;
280             public uint16 advised_hashlevel;
281         }
282     }
284     /*
285      * EventFd
286      */
287     [CCode (cprefix = "EFD_", cheader_filename = "sys/eventfd.h")]
288     public enum EventFdFlags {
289         CLOEXEC,
290         NONBLOCK
291     }
293     [CCode (cheader_filename = "sys/eventfd.h")]
294     public int eventfd (uint count = 0, EventFdFlags flags = 0);
295     public int eventfd_read (int fd, out uint64 value);
296     public int eventfd_write (int fd, uint64 value);
298     /*
299      * Epoll
300      */
301     [CCode (cprefix = "EPOLL_", cheader_filename = "sys/epoll.h")]
302     public enum EpollFdFlags {
303         CLOEXEC,
304     }
306     [CCode (cheader_filename = "sys/epoll.h", cname = "union epoll_data")]
307     public struct EpollData {
308         public void* ptr;
309         public int fd;
310         public uint32 u32;
311         public uint64 u64;
312     }
314     [CCode (cheader_filename = "sys/epoll.h", cname = "struct epoll_event")]
315     public struct EpollEvent {
316         public uint32 events;
317         public EpollData data;
318     }
320     [CCode (cheader_filename = "sys/epoll.h")]
321     public int epoll_create (int size = 0);
322     [CCode (cheader_filename = "sys/epoll.h")]
323     public int epoll_create1 (int flags = 0);
324     [CCode (cheader_filename = "sys/epoll.h")]
325     public int epoll_wait (int epfd, EpollEvent[] events, int timeout);
326     [CCode (cheader_filename = "sys/epoll.h")]
327     public int epoll_pwait (int epfd, EpollEvent[] events, Posix.sigset_t? sigmask, int timeout);
328     [CCode (cheader_filename = "sys/epoll.h")]
329     public int epoll_ctl (int epfd, int op, int fd, EpollEvent? ev);
330     [CCode (cheader_filename = "sys/epoll.h")]
331     public const int EPOLLIN;
332     [CCode (cheader_filename = "sys/epoll.h")]
333     public const int EPOLLOUT;
334     [CCode (cheader_filename = "sys/epoll.h")]
335     public const int EPOLLERR;
336     [CCode (cheader_filename = "sys/epoll.h")]
337     public const int EPOLLHUP;
338     [CCode (cheader_filename = "sys/epoll.h")]
339     public const int EPOLLET;
340     [CCode (cheader_filename = "sys/epoll.h")]
341     public const int EPOLL_CTL_ADD;
342     [CCode (cheader_filename = "sys/epoll.h")]
343     public const int EPOLL_CTL_MOD;
344     [CCode (cheader_filename = "sys/epoll.h")]
345     public const int EPOLL_CTL_DEL;
347     /*
348      * Framebuffer
349      */
350     [CCode (cprefix = "", lower_case_cprefix = "")]
351     namespace Framebuffer {
353         /* ioctls */
354         [CCode (cheader_filename = "linux/fb.h")]
355         public const int FBIOGET_VSCREENINFO;
356         [CCode (cheader_filename = "linux/fb.h")]
357         public const int FBIOPUT_VSCREENINFO;
358         [CCode (cheader_filename = "linux/fb.h")]
359         public const int FBIOGET_FSCREENINFO;
360         [CCode (cheader_filename = "linux/fb.h")]
361         public const int FBIOGETCMAP;
362         [CCode (cheader_filename = "linux/fb.h")]
363         public const int FBIOPUTCMAP;
364         [CCode (cheader_filename = "linux/fb.h")]
365         public const int FBIOPAN_DISPLAY;
366         [CCode (cheader_filename = "linux/fb.h")]
367         public const int FBIO_CURSOR;
368         [CCode (cheader_filename = "linux/fb.h")]
369         public const int FBIOGET_MONITORSPEC;
370         [CCode (cheader_filename = "linux/fb.h")]
371         public const int FBIOPUT_MONITORSPEC;
372         [CCode (cheader_filename = "linux/fb.h")]
373         public const int FBIOSWITCH_MONIBIT;
374         [CCode (cheader_filename = "linux/fb.h")]
375         public const int FBIOGET_CON2FBMAP;
376         [CCode (cheader_filename = "linux/fb.h")]
377         public const int FBIOPUT_CON2FBMAP;
378         [CCode (cheader_filename = "linux/fb.h")]
379         public const int FBIOBLANK;
380         [CCode (cheader_filename = "linux/fb.h")]
381         public const int FBIOGET_VBLANK;
382         [CCode (cheader_filename = "linux/fb.h")]
383         public const int FBIO_ALLOC;
384         [CCode (cheader_filename = "linux/fb.h")]
385         public const int FBIO_FREE;
386         [CCode (cheader_filename = "linux/fb.h")]
387         public const int FBIOGET_GLYPH;
388         [CCode (cheader_filename = "linux/fb.h")]
389         public const int FBIOGET_HWCINFO;
390         [CCode (cheader_filename = "linux/fb.h")]
391         public const int FBIOPUT_MODEINFO;
392         [CCode (cheader_filename = "linux/fb.h")]
393         public const int FBIOGET_DISPINFO;
395         /* enums */
397         [CCode (cname = "guint32", cprefix = "FB_TYPE_", has_type_id = false, cheader_filename = "linux/fb.h")]
398         public enum Type {
399             PACKED_PIXELS,
400             PLANES,
401             INTERLEAVED_PLANES,
402             TEXT,
403             VGA_PLANES
404         }
406         [CCode (cname = "guint32", cprefix = "FB_ACTIVATE_", has_type_id = false, cheader_filename = "linux/fb.h")]
407         public enum Activate {
408             NOW,
409             NXTOPEN,
410             TEST,
411             MASK,
412             VBL,
413             [CCode (cname = "FB_CHANGE_CMAP_VBL")]
414             CHANGE_CMAP_VBL,
415             ALL,
416             FORCE,
417             INV_MODE
418         }
420         [CCode (cname = "guint32", cprefix = "FB_ACCEL_", has_type_id = false, cheader_filename = "linux/fb.h")]
421         public enum Accel {
422             NONE
423         }
425         [CCode (cname = "guint32", cprefix = "FB_AUX_", has_type_id = false, cheader_filename = "linux/fb.h")]
426         public enum Aux {
427              TEXT_MDA,
428              TEXT_CGA,
429              TEXT_S3_MMIO,
430              TEXT_MGA_STEP16,
431              TEXT_MGA_STEP8,
432              TEXT_SVGA_GROUP,
433              TEXT_SVGA_MASK,
434              TEXT_SVGA_STEP2,
435              TEXT_SVGA_STEP4,
436              TEXT_SVGA_STEP8,
437              TEXT_SVGA_STEP16,
438              TEXT_SVGA_LAST,
439              VGA_PLANES_VGA4,
440              VGA_PLANES_CFB4,
441              VGA_PLANES_CFB8
442         }
444         [CCode (cprefix = "FB_BLANK_", has_type_id = false, cheader_filename = "linux/fb.h")]
445         public enum Blank {
446             UNBLANK,
447             NORMAL,
448             VSYNC_SUSPEND,
449             HSYNC_SUSPEND,
450             POWERDOWN
451         }
453         [CCode (cprefix = "FB_CUR_", has_type_id = false, cheader_filename = "linux/fb.h")]
454         public enum Cur {
455             SETIMAGE,
456             SETPOS,
457             SETHOT,
458             SETCMAP,
459             SETSHAPE,
460             SETSIZE,
461             SETALL
462         }
464         [CCode (cname = "guint32", cprefix = "ROP_", has_type_id = false, cheader_filename = "linux/fb.h")]
465         public enum Rop {
466             COPY,
467             XOR
468         }
470         [CCode (cprefix = "FB_ROTATE_", has_type_id = false, cheader_filename = "linux/fb.h")]
471         public enum Rotate {
472             UR,
473             CW,
474             UD,
475             CCW
476         }
478         [CCode (cname = "guint32", cprefix = "FB_SYNC_", has_type_id = false, cheader_filename = "linux/fb.h")]
479         public enum Sync {
480             HOR_HIGH_ACT,
481             VERT_HIGH_ACT,
482             EXT,
483             COMP_HIGH_ACT,
484             BROADCAST,
485             ON_GREEN
486         }
488         [CCode (cname = "guint32", cprefix = "FB_VISUAL_", has_type_id = false, cheader_filename = "linux/fb.h")]
489         public enum Visual {
490             MONO01,
491             MONO10,
492             TRUECOLOR,
493             PSEUDOCOLOR,
494             DIRECTCOLOR,
495             STATIC_PSEUDOCOLOR
496         }
498         [CCode (cname = "guint32", cprefix = "FB_VMODE_", has_type_id = false, cheader_filename = "linux/fb.h")]
499         public enum Vmode {
500             NONINTERLACED,
501             INTERLACED,
502             DOUBLE,
503             ODD_FLD_FIRST,
504             MASK,
505             YWRAP,
506             SMOOTH_XPAN,
507             CONUPDATE
508         }
510         /* structures */
512         [CCode (cname = "struct fb_bitfield", cheader_filename = "linux/fb.h")]
513         public struct BitField {
514             public uint32 offset;
515             public uint32 length;
516             public uint32 msb_right;
517         }
519         [CCode (cname = "struct fb_cmap", cheader_filename = "linux/fb.h")]
520         public struct Cmap {
521             public uint32 start;
522             public uint32 len;
523             public uint16* red;
524             public uint16* green;
525             public uint16* blue;
526             public uint16* transp;
527         }
529         [CCode (cname = "struct fb_con2fbmap", cheader_filename = "linux/fb.h")]
530         public struct Con2FbMap {
531             public uint32 console;
532             public uint32 framebuffer;
533         }
535         [CCode (cname = "struct fbcurpos", cheader_filename = "linux/fb.h")]
536         public struct CurPos {
537             public uint16 x;
538             public uint16 y;
539         }
541         [CCode (cname = "struct fb_cursor", cheader_filename = "linux/fb.h")]
542         public struct Cursor {
543             public uint16 set;
544             public uint16 enable;
545             public uint16 rop;
546             string mask;
547             public CurPos hot;
548             public Image image;
549         }
551         [CCode (cname = "struct fb_copyarea", cheader_filename = "linux/fb.h")]
552         public struct CopyArea {
553             public uint32 dx;
554             public uint32 dy;
555             public uint32 width;
556             public uint32 height;
557             public uint32 sx;
558             public uint32 sy;
559         }
561         [CCode (cname = "struct fb_fillrect", cheader_filename = "linux/fb.h")]
562         public struct FillRect {
563             public uint32 dx;
564             public uint32 dy;
565             public uint32 width;
566             public uint32 height;
567             public uint32 color;
568             public Rop rop;
569         }
571         [CCode (cname = "struct fb_image", cheader_filename = "linux/fb.h")]
572         public struct Image {
573             public uint32 dx;
574             public uint32 dy;
575             public uint32 width;
576             public uint32 height;
577             public uint32 fg_color;
578             public uint32 bg_color;
579             public uint8 depth;
580             public char* data;
581             public Cmap cmap;
582         }
584         [CCode (cname = "struct fb_fix_screeninfo", cheader_filename = "linux/fb.h")]
585         public struct FixScreenInfo {
586             public char id[16];
587             public long smem_start;
588             public uint32 smem_len;
589             public Type type;
590             public Aux type_aux;
591             public Visual visual;
592             public uint16 xpanstep;
593             public uint16 ypanstep;
594             public uint16 ywrapstep;
595             public uint32 line_length;
596             public long mmio_start;
597             public uint32 mmio_len;
598             public Accel accel;
599         }
601         [CCode (cname = "struct fb_var_screeninfo", cheader_filename = "linux/fb.h")]
602         public struct VarScreenInfo {
603             public uint32 xres;
604             public uint32 yres;
605             public uint32 xres_virtual;
606             public uint32 yres_virtual;
607             public uint32 xoffset;
608             public uint32 yoffset;
609             public uint32 bits_per_pixel;
610             public uint32 grayscale;
611             public BitField red;
612             public BitField green;
613             public BitField blue;
614             public BitField transp;
615             public uint32 nonstd;
616             public Activate activate;
617             public uint32 height;
618             public uint32 width;
619             public uint32 pixclock;
620             public uint32 left_margin;
621             public uint32 right_margin;
622             public uint32 upper_margin;
623             public uint32 lower_margin;
624             public uint32 hsync_len;
625             public uint32 vsync_len;
626             public Sync sync;
627             public Vmode vmode;
628             public uint32 rotate;
629         }
631         [CCode (cname = "struct fb_vblank", cheader_filename = "linux/fb.h")]
632         public struct Vblank {
633             public uint32 flags;
634             public uint32 count;
635             public uint32 vcount;
636             public uint32 hcount;
637         }
639         [CCode (lower_case_cprefix = "omapfb_", cheader_filename = "linux/omapfb.h")]
640         namespace OMAP {
641             [CCode (cname = "int", cprefix = "OMAPFB_")]
642             public enum IOCTL {
643                 MIRROR,
644                 SYNC_GFX,
645                 VSYNC,
646                 SET_UPDATE_MODE,
647                 GET_CAPS,
648                 GET_UPDATE_MODE,
649                 LCD_TEST,
650                 CTRL_TEST,
651                 UPDATE_WINDOW_OLD,
652                 SET_COLOR_KEY,
653                 GET_COLOR_KEY,
654                 SETUP_PLANE,
655                 QUERY_PLANE,
656                 UPDATE_WINDOW,
657                 SETUP_MEM,
658                 QUERY_MEM,
659                 WAITFORVSYNC,
660                 MEMORY_READ,
661                 GET_OVERLAY_COLORMODE,
662                 WAITFORGO,
663                 GET_VRAM_INFO,
664                 SET_TEARSYNC
665             }
667             [Flags, CCode (cname = "int", prefix = "OMAPFB_CAPS_")]
668             public enum Caps {
669                 GENERIC_MASK,
670                 LCDC_MASK,
671                 PANEL_MASK,
673                 MANUAL_UPDATE,
674                 TEARSYNC,
675                 PLANE_RELOCATE_MEM,
676                 PLANE_SCALE,
677                 WINDOW_PIXEL_DOUBLE,
678                 WINDOW_SCALE,
679                 WINDOW_OVERLAY,
680                 WINDOW_ROTATE,
681                 SET_BACKLIGHT,
682             }
684             [Flags, CCode (cname = "int", cprefix = "OMAPFB_FORMAT_FLAG_")]
685             public enum Format {
686                 [CCode (cname = "OMAPFB_FORMAT_MASK")]
687                 MASK,
689                 DOUBLE,
690                 TEARSYNC,
691                 FORCE_VSYNC,
692                 ENABLE_OVERLAY,
693                 DISABLE_OVERLAY
694             }
696             [CCode (cname = "int", cprefix = "OMAPFB_MEMTYPE_")]
697             public enum MemType {
698                 SDRAM,
699                 SRAM,
700                 MAX
701             }
703             [CCode (cname = "enum omapfb_color_format", cprefix = "OMAPFB_COLOR_")]
704             public enum ColorFormat {
705                 RGB565,
706                 YUV422,
707                 YUV420,
708                 CLUT_8BPP,
709                 CLUT_4BPP,
710                 CLUT_2BPP,
711                 CLUT_1BPP,
712                 RGB444,
713                 YUY422,
715                 ARGB16,
716                 RGB24U,
717                 RGB24P,
718                 ARGB32,
719                 RGBA32,
720                 RGBX32,
721             }
723             [CCode (cname = "omapfb_update_window")]
724             public struct UpdateWindow {
725                 public uint32 x;
726                 public uint32 y;
727                 public uint32 width;
728                 public uint32 height;
729                 public uint32 format;
730                 public uint32 out_x;
731                 public uint32 out_y;
732                 public uint32 out_width;
733                 public uint32 out_height;
734             }
736             [CCode (cname = "enum omapfb_plane", cprefix = "OMAPFB_PLANE_")]
737             public enum Plane {
738                 GFX,
739                 VID1,
740                 VID2
741             }
743             [CCode (cname = "enum omapfb_channel_out", cprefix = "OMAPFB_CHANNEL_OUT_")]
744             public enum ChannelOut {
745                 LCD,
746                 DIGIT
747             }
749             [CCode (cname = "struct omapfb_plane_info")]
750             public struct PlaneInfo {
751                 public uint32 pos_x;
752                 public uint32 pos_y;
753                 public uint8 enabled;
754                 public uint8 channel_out;
755                 public uint8 mirror;
756                 public uint32 out_width;
757                 public uint32 out_height;
758             }
760             [CCode (cname = "struct omapfb_mem_info")]
761             public struct MemInfo {
762                 public uint32 size;
763                 public uint8 type;
764             }
766             [CCode (cname = "struct omapfb_caps")]
767             public struct Capabilities {
768                 public uint32 ctrl;
769                 public uint32 plane_color;
770                 public uint32 wnd_color;
771             }
773             [CCode (cname = "enum omapfb_color_key_type", cprefix = "OMAPFB_COLOR_KEY_")]
774             public enum ColorKeyType {
775                 DISABLED,
776                 GFX_DST,
777                 VID_SRC
778             }
780             [CCode (cname = "struct omapfb_color_key")]
781             public struct ColorKey {
782                 public uint8 channel_out;
783                 public uint32 background;
784                 public uint32 trans_key;
785                 public uint8 key_type;
786             }
788             [CCode (cname = "enum omapfb_update_mode")]
789             public enum UpdateMode {
790                 [CCode (cname = "OMAPFB_UPDATE_DISABLED")]
791                 DISABLED,
792                 [CCode (cname = "OMAPFB_AUTO_UPDATE")]
793                 AUTO,
794                 [CCode (cname = "OMAPFB_MANUAL_UPDATE")]
795                 MANUAL
796             }
798             [CCode (cname = "struct omapfb_memory_read")]
799             public struct MemoryRead {
800                 public uint16 x;
801                 public uint16 y;
802                 public uint16 w;
803                 public uint16 h;
804                 public size_t buffer_size;
805                 public void* buffer;
806             }
808             [CCode (cname = "struct omapfb_ovl_colormode")]
809             public struct OvlColorMode {
810                 public uint8 overlay_idx;
811                 public uint8 mode_idx;
812                 public uint32 bits_per_pixel;
813                 public uint32 nonstd;
814                 public Framebuffer.BitField red;
815                 public Framebuffer.BitField green;
816                 public Framebuffer.BitField blue;
817                 public Framebuffer.BitField transp;
818             }
820             [CCode (cname = "struct omapfb_vram_info")]
821             public struct VRamInfo {
822                 public uint32 total;
823                 public uint32 free;
824                 public uint32 largest_free_block;
825             }
827             [CCode (cname = "struct omapfb_tearsync_info")]
828             public struct TearSyncInfo {
829                 public uint8 enabled;
830                 public uint16 line;
831             }
832         }
833     }
835     /*
836      * Gsm
837      */
838     namespace Gsm {
840         [CCode (cname = "GSMIOC_GETCONF", cheader_filename = "linux/gsmmux.h")]
841         public const int GSMIOC_GETCONF;
842         [CCode (cname = "GSMIOC_SETCONF", cheader_filename = "linux/gsmmux.h")]
843         public const int GSMIOC_SETCONF;
845         [CCode (cname = "struct gsm_config", cheader_filename = "linux/gsmmux.h")]
846         public struct Config {
847             public uint adaption;
848             public uint encapsulation;
849             public uint initiator;
850             public uint t1;
851             public uint t2;
852             public uint t3;
853             public uint n2;
854             public uint mru;
855             public uint mtu;
856             public uint k;
857             public uint i;
858         }
859     }
861     /*
862      * Inotify
863      */
864     [CCode (cname = "struct inotify_event", cheader_filename = "sys/inotify.h")]
865     public struct InotifyEvent {
866         public int wd;
867         public uint32 mask;
868         public uint32 cookie;
869         public uint32 len;
870         public string name;
871     }
873     [CCode (cprefix = "IN_", cheader_filename = "sys/inotify.h")]
874     public enum InotifyFlags {
875         CLOEXEC,
876         NONBLOCK
877     }
879     [CCode (cname = "int", cprefix = "IN_", cheader_filename = "sys/inotify.h")]
880     public enum InotifyMaskFlags {
881         ACCESS,
882         ATTRIB,
883         CLOSE,
884         CLOSE_WRITE,
885         CLOSE_NOWRITE,
886         CREATE,
887         DELETE,
888         DELETE_SELF,
889         MODIFY,
890         MOVE,
891         MOVE_SELF,
892         MOVED_FROM,
893         MOVED_TO,
894         OPEN,
895         DONT_FOLLOW,
896         MASK_ADD,
897         ONESHOT,
898         ONLYDIR,
899         IGNORED,
900         ISDIR,
901         Q_OVERFLOW,
902         UNMOUNT
903     }
905     [CCode (cname = "inotify_init1", cheader_filename = "sys/inotify.h")]
906     public int inotify_init (InotifyFlags flags = 0);
907     public int inotify_add_watch (int fd, string pathname, InotifyMaskFlags mask);
908     public int inotify_rm_watch (int fd, int wd);
910     /*
911      * RfKill
912      */
913     [CCode (cname = "struct rfkill_event", cheader_filename = "linux/rfkill.h")]
914     public struct RfKillEvent {
915         public uint32 idx;
916         public RfKillType type;
917         public RfKillOp op;
918         public uint8 soft;
919         public uint8 hard;
920     }
922     [CCode (cname = "guint8", cprefix = "RFKILL_OP_", cheader_filename = "linux/rfkill.h")]
923     public enum RfKillOp {
924         ADD,
925         DEL,
926         CHANGE,
927         CHANGE_ALL
928     }
930     [CCode (cname = "guint8", cprefix = "RFKILL_STATE_", cheader_filename = "linux/rfkill.h")]
931     public enum RfKillState {
932         SOFT_BLOCKED,
933         UNBLOCKED,
934         HARD_BLOCKED
935     }
937     [CCode (cname = "guint8", cprefix = "RFKILL_TYPE_", cheader_filename = "linux/rfkill.h")]
938     public enum RfKillType {
939         ALL,
940         WLAN,
941         BLUETOOTH,
942         UWB,
943         WIMAX,
944         WWAN
945     }
947     /*
948      * SignalFd
949      */
950     [CCode (cprefix = "SFD_", cheader_filename = "sys/signalfd.h")]
951     public enum SignalFdFlags {
952         CLOEXEC,
953         NONBLOCK
954     }
956     [CCode (cheader_filename = "sys/signalfd.h")]
957     public int signalfd (int fd, Posix.sigset_t mask, SignalFdFlags flags = 0);
959     /*
960      * Misc non-posix additions
961      */
962     [CCode (cheader_filename = "dirent.h")]
963     public enum DirEntType {
964         DT_UNKNOWN,
965         DT_FIFO,
966         DT_CHR,
967         DT_DIR,
968         DT_BLK,
969         DT_REG,
970         DT_LNK,
971         DT_SOCK,
972         DT_WHT
973     }
975     [CCode (cheader_filename = "execinfo.h")]
976     public int backtrace (void* buffer, int size);
978     [CCode (cheader_filename = "execinfo.h")]
979     [CCode (array_length = false)]
980     public string[] backtrace_symbols (void* buffer, int size);
982     [CCode (cheader_filename = "execinfo.h")]
983     public void backtrace_symbols_fd (void* buffer, int size, int fd);
985     [CCode (cheader_filename = "unistd.h")]
986     public int sethostname (string name, size_t len);
988     // additional sysconf(3) constants
989     [CCode (cheader_filename = "unistd.h")]
990     public const int _SC_PHYS_PAGES;
991     [CCode (cheader_filename = "unistd.h")]
992     public const int _SC_AVPHYS_PAGES;
993     [CCode (cheader_filename = "unistd.h")]
994     public const int _SC_NPROCESSORS_CONF;
995     [CCode (cheader_filename = "unistd.h")]
996     public const int _SC_NPROCESSORS_ONLN;
998     [CCode (cheader_filename = "arpa/inet.h")]
999     public int inet_aton (string cp, out Posix.InAddr addr);
1001     [CCode (cheader_filename = "sys/ioctl.h", sentinel = "")]
1002     public int ioctl (int fd, int request, ...);
1004     [CCode (cname = "makedev", cheader_filename = "sys/types.h")]
1005     public Posix.dev_t makedev (int maj, int min);
1006     [CCode (cname = "major", cheader_filename = "sys/types.h")]
1007     public int major (Posix.dev_t dev);
1008     [CCode (cname = "minor", cheader_filename = "sys/types.h")]
1009     public int minor (Posix.dev_t dev);
1011     [CCode (cname = "unsigned long int", cprefix = "MS_", cheader_filename = "sys/mount.h,linux/fs.h")]
1012     public enum MountFlags {
1013         RDONLY,
1014         NOSUID,
1015         NODEV,
1016         NOEXEC,
1017         SYNCHRONOUS,
1018         REMOUNT,
1019         MANDLOCK,
1020         DIRSYNC,
1021         NOATIME,
1022         NODIRATIME,
1023         BIND,
1024         MOVE,
1025         REC,
1026         SILENT,
1027         POSIXACL,
1028         UNBINDABLE,
1029         PRIVATE,
1030         SLAVE,
1031         SHARED,
1032         RELATIME,
1033         KERNMOUNT,
1034         I_VERSION,
1035         STRICTATIME,
1036         BORN,
1037         ACTIVE,
1038         NOUSER
1039     }
1041     [CCode (cname = "int", cprefix = "MNT_", cheader_filename = "sys/mount.h")]
1042     public enum UnmountFlags {
1043         FORCE,                /* Force unmounting.  */
1044         DETACH,               /* Just detach from the tree.  */
1045         EXPIRE                /* Mark for expiry.  */
1046     }
1048     [CCode (cheader_filename = "sys/mount.h")]
1049     public int mount (string source, string target, string filesystemtype, MountFlags flags = 0, string options = "");
1050     [CCode (cheader_filename = "sys/mount.h")]
1051     public int umount (string target);
1052     [CCode (cheader_filename = "sys/mount.h")]
1053     public int umount2 (string target, UnmountFlags flags);
1055     [CCode (cname = "struct winsize", cheader_filename = "termios.h", destroy_function = "")]
1056     public struct winsize {
1057         public ushort ws_row;
1058         public ushort ws_col;
1059         public ushort ws_xpixel;
1060         public ushort ws_ypixel;
1061     }
1063     [CCode (cheader_filename = "pty.h")]
1064     public Posix.pid_t forkpty (out int amaster,
1065                                 out int aslave,
1066                                 [CCode (array_length=false, array_null_terminated=true)] char[] name,
1067                                 Posix.termios? termp,
1068                                 winsize? winp);
1070     [CCode (cheader_filename = "pty.h")]
1071     public int openpty (out int amaster,
1072                         out int aslave,
1073                         [CCode (array_length=false, array_null_terminated=true)] char[] name,
1074                         Posix.termios? termp,
1075                         winsize? winp);
1077     [CCode (cprefix = "RB_", cheader_filename = "unistd.h,sys/reboot.h")]
1078     public enum RebootCommands {
1079          AUTOBOOT,
1080          HALT_SYSTEM,
1081          ENABLE_CAD,
1082          DISABLE_CAD,
1083          POWER_OFF
1084     }
1086     [CCode (cheader_filename = "unistd.h,sys/reboot.h")]
1087     public int reboot (RebootCommands cmd);
1089     [CCode (cprefix = "CLONE_", cheader_filename = "sched.h")]
1090     public enum CloneFlags {
1091         FILES,
1092         FS,
1093         NEWNS
1094     }
1096     [CCode (cheader_filename = "sched.h")]
1097     public int unshare (CloneFlags flags);
1099     [CCode (cheader_filename = "sys/time.h")]
1100     public int adjtime (Posix.timeval delta, Posix.timeval? olddelta = null);
1102     // adjtimex(2)
1103     [CCode (cprefix = "ADJ_", cheader_filename = "sys/timex.h")]
1104     public enum AdjustModes {
1105         OFFSET,
1106         FREQUENCY,
1107         MAXERROR,
1108         ESTERROR,
1109         STATUS,
1110         TIMECONST,
1111         TICK,
1112         OFFSET_SINGLESHOT
1113     }
1115     [CCode (cheader_filename = "sys/timex.h")]
1116     public const int TIME_OK;
1117     [CCode (cheader_filename = "sys/timex.h")]
1118     public const int TIME_INS;
1119     [CCode (cheader_filename = "sys/timex.h")]
1120     public const int TIME_DEL;
1121     [CCode (cheader_filename = "sys/timex.h")]
1122     public const int TIME_OOP;
1123     [CCode (cheader_filename = "sys/timex.h")]
1124     public const int TIME_WAIT;
1125     [CCode (cheader_filename = "sys/timex.h")]
1126     public const int TIME_BAD;
1128     // adjtimex(2)
1129     [CCode (cname = "struct timex", cheader_filename = "sys/timex.h")]
1130     public struct timex {
1131         public AdjustModes modes;   /* mode selector */
1132         public long offset;         /* time offset (usec) */
1133         public long freq;           /* frequency offset (scaled ppm) */
1134         public long maxerror;       /* maximum error (usec) */
1135         public long esterror;       /* estimated error (usec) */
1136         public int status;          /* clock command/status */
1137         public long constant;       /* pll time constant */
1138         public long precision;      /* clock precision (usec) (read-only) */
1139         public long tolerance;      /* clock frequency tolerance (ppm) (read-only) */
1140         public Posix.timeval time;  /* current time (read-only) */
1141         public long tick;           /* usecs between clock ticks */
1142     }
1144     [CCode (cheader_filename = "sys/timex.h")]
1145     public int adjtimex (Linux.timex buf);
1147     [CCode (cheader_filename = "time.h")]
1148     public time_t timegm (GLib.Time t);
1150     [CCode (cheader_filename = "utmp.h")]
1151     public int login_tty (int fd);
1153     // emulate gettid(2) for which no glib wrapper exists via syscall
1154     public Posix.pid_t gettid() {
1155         return (Posix.pid_t) syscall( SysCall.gettid );
1156     }
1158     // syscall(2)
1159     [CCode (cprefix = "SYS_", cname = "int")]
1160     public enum SysCall {
1161         gettid
1162     }
1164     [CCode (cname = "syscall", cheader_filename = "unistd.h,sys/syscall.h")]
1165     public int syscall (int number, ...);
1167     // mremap(2)
1168     [CCode (cprefix = "MREMAP_", cheader_filename = "sys/mman.h")]
1169     public enum MremapFlags {
1170         MAYMOVE,
1171         FIXED
1172     }
1174     [CCode (cheader_filename = "sys/mman.h")]
1175     public void *mremap (void *old_address, size_t old_size, size_t new_size, MremapFlags flags);
1177     /*
1178      * Network
1179      */
1180     [CCode (cprefix = "", lower_case_cprefix = "")]
1181     namespace Network {
1183         // interface consts, structs, and methods
1184         [CCode (cname = "IFNAMSIZ", cheader_filename = "linux/if.h")]
1185         public const int INTERFACE_NAME_SIZE;
1187         [CCode (cheader_filename = "net/if.h")]
1188         public uint if_nametoindex (string ifname);
1189         [CCode (cheader_filename = "net/if.h")]
1190         public unowned string if_indextoname (uint ifindex, string ifname);
1191         [CCode (cheader_filename = "net/if.h")]
1192         public IfNameindex if_nameindex ();
1194         [CCode (cname = "int", cprefix = "IFF_", cheader_filename = "linux/if.h")]
1195         public enum IfFlag {
1196             UP,
1197             BROADCAST,
1198             DEBUG,
1199             LOOPBACK,
1200             POINTOPOINT,
1201             NOTRAILERS,
1202             RUNNING,
1203             NOARP,
1204             PROMISC,
1205             ALLMULTI,
1206             MASTER,
1207             SLAVE,
1208             PORTSEL,
1209             AUTOMEDIA,
1210             DYNAMIC
1211         }
1213         [CCode (cname = "struct if_nameindex", cheader_filename = "linux/if.h", destroy_function = "if_freenameindex")]
1214         public struct IfNameindex {
1215             public uint if_index;
1216             public string if_name;
1217         }
1219         [CCode (cname = "struct ifmap", cheader_filename = "linux/if.h", destroy_function = "")]
1220         public struct IfMap {
1221             public ulong mem_start;
1222             public ulong mem_end;
1223             public short base_addr;
1224             public uchar irq;
1225             public uchar dma;
1226             public uchar port;
1227         }
1229         [CCode (cname = "struct ifreq", cheader_filename = "netinet/in.h,linux/if.h", destroy_function = "")]
1230         public struct IfReq {
1231             public char[] ifr_name;
1232             public Posix.SockAddr ifr_addr;
1233             public Posix.SockAddr ifr_dstaddr;
1234             public Posix.SockAddr ifr_broadaddr;
1235             public Posix.SockAddr ifr_netmask;
1236             public Posix.SockAddr ifr_hwaddr;
1237             public short ifr_flags;
1238             public int ifr_metric;
1239             public int ifr_mtu;
1240             public IfMap ifr_map;
1241             public char[] ifr_slave;
1242             public string ifr_data;
1243             public int ifr_ifindex;
1244             public int ifr_bandwidth;
1245             public int ifr_qlen;
1246             public char[] ifr_newname;
1247         }
1249         [CCode (cname = "struct ifconf", cheader_filename = "linux/if.h", destroy_function = "")]
1250         public struct IfConf {
1251             public int ifc_len;
1252             public string ifc_buf;
1253             public IfReq ifc_req;
1254         }
1256         [CCode (cname = "struct ifaddrmsg", cheader_filename = "linux/if_addr.h", destroy_function = "")]
1257         public struct IfAddrMsg {
1258             public uint8 ifa_family;
1259             public uint8 ifa_prefixlen;
1260             public uint8 ifa_flags;
1261             public uint8 ifa_scope;
1262             public uint32 ifa_index;
1263         }
1265         [CCode (cprefix = "IFA_", cheader_filename = "linux/if_addr.h")]
1266         enum IfAddrType {
1267             UNSPEC,
1268             ADDRESS,
1269             LOCAL,
1270             LABEL,
1271             BROADCAST,
1272             ANYCAST,
1273             CACHEINFO,
1274             MULTICAST
1275         }
1277         [CCode (cheader_filename = "linux/if_addr.h")]
1278         public int IFA_PAYLOAD (Linux.Netlink.NlMsgHdr nlh);
1279         [CCode (cheader_filename = "linux/if_addr.h")]
1280         public Linux.Netlink.RtAttr* IFA_RTA (Linux.Network.IfAddrMsg* msg);
1282         [CCode (cprefix = "ARPHRD_", cheader_filename = "linux/if_arp.h")]
1283         enum IfArpHeaderType {
1284             NETROM,
1285             ETHER,
1286             EETHER,
1287             AX25,
1288             PRONET,
1289             CHAOS,
1290             IEEE802,
1291             ARCNET,
1292             APPLETLK,
1293             DLCI,
1294             ATM,
1295             METRICOM,
1296             IEEE1394,
1297             EUI64,
1298             INFINIBAND,
1299             SLIP,
1300             CSLIP,
1301             SLIP6,
1302             CSLIP6,
1303             RSRVD,
1304             ADAPT,
1305             ROSE,
1306             X25,
1307             HWX25,
1308             CAN,
1309             PPP,
1310             CISCO,
1311             HDLC,
1312             LAPB,
1313             DDCMP,
1314             RAWHDLC,
1315             TUNNEL,
1316             TUNNEL6,
1317             FRAD,
1318             SKIP,
1319             LOOPBACK,
1320             LOCALTLK,
1321             FDDI,
1322             BIF,
1323             SIT,
1324             IPDDP,
1325             IPGRE,
1326             PIMREG,
1327             HIPPI,
1328             ASH,
1329             ECONET,
1330             IRDA,
1331             FCPP,
1332             FCAL,
1333             FCPL,
1334             FCFABRIC,
1335             IEEE802_TR,
1336             IEEE80211,
1337             IEEE80211_PRISM,
1338             IEEE80211_RADIOTAP,
1339             IEEE802154,
1340             PHONET,
1341             PHONET_PIPE,
1342             CAIF,
1343             VOID,
1344             NONE
1345         }
1347         [CCode (cprefix = "ARPOP_", cheader_filename = "linux/if_arp.h")]
1348         enum IfArpOpcode {
1349             REQUEST,
1350             REPLY,
1351             RREQUEST,
1352             RREPLY,
1353             InREQUEST,
1354             InREPLY,
1355             ARPOP_NAK
1356         }
1358         // route consts, structs, and methods
1359         [CCode (cname = "struct rtentry", cheader_filename = "net/route.h", destroy_function = "")]
1360         public struct RtEntry {
1361             public Posix.SockAddr rt_dst;
1362             public Posix.SockAddr rt_gateway;
1363             public Posix.SockAddr rt_genmask;
1364             public RtFlag rt_flags;
1365             public short rt_metric;
1366             public string rt_dev;
1367             public ulong rt_mtu;
1368             public ulong rt_window;
1369             public ushort rt_irtt;
1370         }
1372         [CCode (cname = "ushort", cprefix = "RTF_", cheader_filename = "net/route.h")]
1373         public enum RtFlag {
1374             UP,
1375             GATEWAY,
1376             HOST,
1377             REINSTATE,
1378             DYNAMIC,
1379             MODIFIED,
1380             MTU,
1381             WINDOW,
1382             IRTT,
1383             REJECT,
1384             STATIC,
1385             XRESOLVE,
1386             NOFORWARD,
1387             THROW,
1388             NOPMTUDISC
1389         }
1391         /* ioctls */
1392         [CCode (cheader_filename = "sys/ioctl.h")]
1393         public const int SIOCADDRT;
1394         [CCode (cheader_filename = "sys/ioctl.h")]
1395         public const int SIOCDELRT;
1396         [CCode (cheader_filename = "sys/ioctl.h")]
1397         public const int SIOCRTMSG;
1398         [CCode (cheader_filename = "sys/ioctl.h")]
1399         public const int SIOCGIFNAME;
1400         [CCode (cheader_filename = "sys/ioctl.h")]
1401         public const int SIOCSIFLINK;
1402         [CCode (cheader_filename = "sys/ioctl.h")]
1403         public const int SIOCGIFCONF;
1404         [CCode (cheader_filename = "sys/ioctl.h")]
1405         public const int SIOCGIFFLAGS;
1406         [CCode (cheader_filename = "sys/ioctl.h")]
1407         public const int SIOCSIFFLAGS;
1408         [CCode (cheader_filename = "sys/ioctl.h")]
1409         public const int SIOCGIFADDR;
1410         [CCode (cheader_filename = "sys/ioctl.h")]
1411         public const int SIOCSIFADDR;
1412         [CCode (cheader_filename = "sys/ioctl.h")]
1413         public const int SIOCGIFDSTADDR;
1414         [CCode (cheader_filename = "sys/ioctl.h")]
1415         public const int SIOCSIFDSTADDR;
1416         [CCode (cheader_filename = "sys/ioctl.h")]
1417         public const int SIOCGIFBRDADDR;
1418         [CCode (cheader_filename = "sys/ioctl.h")]
1419         public const int SIOCSIFBRDADDR;
1420         [CCode (cheader_filename = "sys/ioctl.h")]
1421         public const int SIOCGIFNETMASK;
1422         [CCode (cheader_filename = "sys/ioctl.h")]
1423         public const int SIOCSIFNETMASK;
1424         [CCode (cheader_filename = "sys/ioctl.h")]
1425         public const int SIOCGIFMETRIC;
1426         [CCode (cheader_filename = "sys/ioctl.h")]
1427         public const int SIOCSIFMETRIC;
1428         [CCode (cheader_filename = "sys/ioctl.h")]
1429         public const int SIOCGIFMEM;
1430         [CCode (cheader_filename = "sys/ioctl.h")]
1431         public const int SIOCSIFMEM;
1432         [CCode (cheader_filename = "sys/ioctl.h")]
1433         public const int SIOCGIFMTU;
1434         [CCode (cheader_filename = "sys/ioctl.h")]
1435         public const int SIOCSIFMTU;
1436         [CCode (cheader_filename = "sys/ioctl.h")]
1437         public const int SIOCSIFNAME;
1438         [CCode (cheader_filename = "sys/ioctl.h")]
1439         public const int SIOCSIFHWADDR;
1440         [CCode (cheader_filename = "sys/ioctl.h")]
1441         public const int SIOCGIFENCAP;
1442         [CCode (cheader_filename = "sys/ioctl.h")]
1443         public const int SIOCSIFENCAP;
1444         [CCode (cheader_filename = "sys/ioctl.h")]
1445         public const int SIOCGIFHWADDR;
1446         [CCode (cheader_filename = "sys/ioctl.h")]
1447         public const int SIOCGIFSLAVE;
1448         [CCode (cheader_filename = "sys/ioctl.h")]
1449         public const int SIOCSIFSLAVE;
1450         [CCode (cheader_filename = "sys/ioctl.h")]
1451         public const int SIOCADDMULTI;
1452         [CCode (cheader_filename = "sys/ioctl.h")]
1453         public const int SIOCDELMULTI;
1454         [CCode (cheader_filename = "sys/ioctl.h")]
1455         public const int SIOCGIFINDEX;
1456         [CCode (cheader_filename = "sys/ioctl.h")]
1457         public const int SIOCSIFPFLAGS;
1458         [CCode (cheader_filename = "sys/ioctl.h")]
1459         public const int SIOCGIFPFLAGS;
1460         [CCode (cheader_filename = "sys/ioctl.h")]
1461         public const int SIOCDIFADDR;
1462         [CCode (cheader_filename = "sys/ioctl.h")]
1463         public const int SIOCSIFHWBROADCAST;
1464         [CCode (cheader_filename = "sys/ioctl.h")]
1465         public const int SIOCGIFCOUNT;
1466         [CCode (cheader_filename = "sys/ioctl.h")]
1467         public const int SIOCGIFBR;
1468         [CCode (cheader_filename = "sys/ioctl.h")]
1469         public const int SIOCSIFBR;
1470         [CCode (cheader_filename = "sys/ioctl.h")]
1471         public const int SIOCGIFTXQLEN;
1472         [CCode (cheader_filename = "sys/ioctl.h")]
1473         public const int SIOCSIFTXQLEN;
1474         [CCode (cheader_filename = "sys/ioctl.h")]
1475         public const int SIOCDARP;
1476         [CCode (cheader_filename = "sys/ioctl.h")]
1477         public const int SIOCGARP;
1478         [CCode (cheader_filename = "sys/ioctl.h")]
1479         public const int SIOCSARP;
1480         [CCode (cheader_filename = "sys/ioctl.h")]
1481         public const int SIOCDRARP;
1482         [CCode (cheader_filename = "sys/ioctl.h")]
1483         public const int SIOCGRARP;
1484         [CCode (cheader_filename = "sys/ioctl.h")]
1485         public const int SIOCSRARP;
1486         [CCode (cheader_filename = "sys/ioctl.h")]
1487         public const int SIOCGIFMAP;
1488         [CCode (cheader_filename = "sys/ioctl.h")]
1489         public const int SIOCSIFMAP;
1490         [CCode (cheader_filename = "sys/ioctl.h")]
1491         public const int SIOCADDDLCI;
1492         [CCode (cheader_filename = "sys/ioctl.h")]
1493         public const int SIOCDELDLCI;
1494     }
1496     /*
1497      * Input subsystem
1498      */
1499     [CCode (cprefix = "", lower_case_cprefix = "")]
1500     namespace Input {
1502         /*
1503          * subsystem structures
1504          */
1506         [CCode (cname = "struct input_event", cheader_filename = "linux/input.h")]
1507         public struct Event {
1508             public Posix.timeval time;
1509             public uint16 type;
1510             public uint16 code;
1511             public int32 value;
1512         }
1514         [CCode (cname = "struct input_id", cheader_filename = "linux/input.h")]
1515         public struct Id {
1516             public uint16 bustype;
1517             public uint16 vendor;
1518             public uint16 product;
1519             public uint16 version;
1520         }
1522         [CCode (cname = "struct input_absinfo", cheader_filename = "linux/input.h")]
1523         public struct AbsInfo {
1524             public int32 value;
1525             public int32 minimum;
1526             public int32 maximum;
1527             public int32 fuzz;
1528             public int32 flat;
1529         }
1531         /*
1532          * ioctls
1533          */
1535         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1536         public const int EVIOCGVERSION;
1537         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1538         public const int EVIOCGID;
1539         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1540         public const int EVIOCGREP;
1541         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1542         public const int EVIOCSREP;
1543         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1544         public const int EVIOCGKEYCODE;
1545         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1546         public const int EVIOCSKEYCODE;
1548         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1549         public int EVIOCGNAME( uint len );
1550         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1551         public int EVIOCGPHYS( uint len );
1552         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1553         public int EVIOCGUNIQ( uint len );
1555         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1556         public int EVIOCGKEY( uint len );
1557         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1558         public int EVIOCGLED( uint len );
1559         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1560         public int EVIOCGSND( uint len );
1561         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1562         public int EVIOCGSW( uint len );
1564         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1565         public int EVIOCGBIT( uint ev, uint len );
1566         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1567         public int EVIOCGABS( uint abs );
1568         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1569         public int EVIOCSABS( uint abs );
1571         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1572         public const int EVIOCSFF;
1573         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1574         public const int EVIOCRMFF;
1575         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1576         public const int EVIOCGEFFECTS;
1577         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1578         public const int EVIOCGRAB;
1580         /*
1581          * event types
1582          */
1584         [CCode (cheader_filename = "linux/input.h")]
1585         public const uint16 EV_SYN;
1586         [CCode (cheader_filename = "linux/input.h")]
1587         public const uint16 EV_KEY;
1588         [CCode (cheader_filename = "linux/input.h")]
1589         public const uint16 EV_REL;
1590         [CCode (cheader_filename = "linux/input.h")]
1591         public const uint16 EV_ABS;
1592         [CCode (cheader_filename = "linux/input.h")]
1593         public const uint16 EV_MSC;
1594         [CCode (cheader_filename = "linux/input.h")]
1595         public const uint16 EV_SW;
1596         [CCode (cheader_filename = "linux/input.h")]
1597         public const uint16 EV_LED;
1598         [CCode (cheader_filename = "linux/input.h")]
1599         public const uint16 EV_SND;
1600         [CCode (cheader_filename = "linux/input.h")]
1601         public const uint16 EV_REP;
1602         [CCode (cheader_filename = "linux/input.h")]
1603         public const uint16 EV_FF;
1604         [CCode (cheader_filename = "linux/input.h")]
1605         public const uint16 EV_PWR;
1606         [CCode (cheader_filename = "linux/input.h")]
1607         public const uint16 EV_FF_STATUS;
1608         [CCode (cheader_filename = "linux/input.h")]
1609         public const uint16 EV_MAX;
1611         /*
1612          * synchronization events
1613          */
1615         [CCode (cheader_filename = "linux/input.h")]
1616         public const int SYN_REPORT;
1617         [CCode (cheader_filename = "linux/input.h")]
1618         public const int SYN_CONFIG;
1620         /*
1621          * keys, switches, buttons, etc.
1622          */
1624         [CCode (cheader_filename = "linux/input.h")]
1625         public const int KEY_RESERVED;
1626         [CCode (cheader_filename = "linux/input.h")]
1627         public const int KEY_ESC;
1628         [CCode (cheader_filename = "linux/input.h")]
1629         public const int KEY_1;
1630         [CCode (cheader_filename = "linux/input.h")]
1631         public const int KEY_2;
1632         [CCode (cheader_filename = "linux/input.h")]
1633         public const int KEY_3;
1634         [CCode (cheader_filename = "linux/input.h")]
1635         public const int KEY_4;
1636         [CCode (cheader_filename = "linux/input.h")]
1637         public const int KEY_5;
1638         [CCode (cheader_filename = "linux/input.h")]
1639         public const int KEY_6;
1640         [CCode (cheader_filename = "linux/input.h")]
1641         public const int KEY_7;
1642         [CCode (cheader_filename = "linux/input.h")]
1643         public const int KEY_8;
1644         [CCode (cheader_filename = "linux/input.h")]
1645         public const int KEY_9;
1646         [CCode (cheader_filename = "linux/input.h")]
1647         public const int KEY_0;
1648         [CCode (cheader_filename = "linux/input.h")]
1649         public const int KEY_MINUS;
1650         [CCode (cheader_filename = "linux/input.h")]
1651         public const int KEY_EQUAL;
1652         [CCode (cheader_filename = "linux/input.h")]
1653         public const int KEY_BACKSPACE;
1654         [CCode (cheader_filename = "linux/input.h")]
1655         public const int KEY_TAB;
1656         [CCode (cheader_filename = "linux/input.h")]
1657         public const int KEY_Q;
1658         [CCode (cheader_filename = "linux/input.h")]
1659         public const int KEY_W;
1660         [CCode (cheader_filename = "linux/input.h")]
1661         public const int KEY_E;
1662         [CCode (cheader_filename = "linux/input.h")]
1663         public const int KEY_R;
1664         [CCode (cheader_filename = "linux/input.h")]
1665         public const int KEY_T;
1666         [CCode (cheader_filename = "linux/input.h")]
1667         public const int KEY_Y;
1668         [CCode (cheader_filename = "linux/input.h")]
1669         public const int KEY_U;
1670         [CCode (cheader_filename = "linux/input.h")]
1671         public const int KEY_I;
1672         [CCode (cheader_filename = "linux/input.h")]
1673         public const int KEY_O;
1674         [CCode (cheader_filename = "linux/input.h")]
1675         public const int KEY_P;
1676         [CCode (cheader_filename = "linux/input.h")]
1677         public const int KEY_LEFTBRACE;
1678         [CCode (cheader_filename = "linux/input.h")]
1679         public const int KEY_RIGHTBRACE;
1680         [CCode (cheader_filename = "linux/input.h")]
1681         public const int KEY_ENTER;
1682         [CCode (cheader_filename = "linux/input.h")]
1683         public const int KEY_LEFTCTRL;
1684         [CCode (cheader_filename = "linux/input.h")]
1685         public const int KEY_A;
1686         [CCode (cheader_filename = "linux/input.h")]
1687         public const int KEY_S;
1688         [CCode (cheader_filename = "linux/input.h")]
1689         public const int KEY_D;
1690         [CCode (cheader_filename = "linux/input.h")]
1691         public const int KEY_F;
1692         [CCode (cheader_filename = "linux/input.h")]
1693         public const int KEY_G;
1694         [CCode (cheader_filename = "linux/input.h")]
1695         public const int KEY_H;
1696         [CCode (cheader_filename = "linux/input.h")]
1697         public const int KEY_J;
1698         [CCode (cheader_filename = "linux/input.h")]
1699         public const int KEY_K;
1700         [CCode (cheader_filename = "linux/input.h")]
1701         public const int KEY_L;
1702         [CCode (cheader_filename = "linux/input.h")]
1703         public const int KEY_SEMICOLON;
1704         [CCode (cheader_filename = "linux/input.h")]
1705         public const int KEY_APOSTROPHE;
1706         [CCode (cheader_filename = "linux/input.h")]
1707         public const int KEY_GRAVE;
1708         [CCode (cheader_filename = "linux/input.h")]
1709         public const int KEY_LEFTSHIFT;
1710         [CCode (cheader_filename = "linux/input.h")]
1711         public const int KEY_BACKSLASH;
1712         [CCode (cheader_filename = "linux/input.h")]
1713         public const int KEY_Z;
1714         [CCode (cheader_filename = "linux/input.h")]
1715         public const int KEY_X;
1716         [CCode (cheader_filename = "linux/input.h")]
1717         public const int KEY_C;
1718         [CCode (cheader_filename = "linux/input.h")]
1719         public const int KEY_V;
1720         [CCode (cheader_filename = "linux/input.h")]
1721         public const int KEY_B;
1722         [CCode (cheader_filename = "linux/input.h")]
1723         public const int KEY_N;
1724         [CCode (cheader_filename = "linux/input.h")]
1725         public const int KEY_M;
1726         [CCode (cheader_filename = "linux/input.h")]
1727         public const int KEY_COMMA;
1728         [CCode (cheader_filename = "linux/input.h")]
1729         public const int KEY_DOT;
1730         [CCode (cheader_filename = "linux/input.h")]
1731         public const int KEY_SLASH;
1732         [CCode (cheader_filename = "linux/input.h")]
1733         public const int KEY_RIGHTSHIFT;
1734         [CCode (cheader_filename = "linux/input.h")]
1735         public const int KEY_KPASTERISK;
1736         [CCode (cheader_filename = "linux/input.h")]
1737         public const int KEY_LEFTALT;
1738         [CCode (cheader_filename = "linux/input.h")]
1739         public const int KEY_SPACE;
1740         [CCode (cheader_filename = "linux/input.h")]
1741         public const int KEY_CAPSLOCK;
1742         [CCode (cheader_filename = "linux/input.h")]
1743         public const int KEY_F1;
1744         [CCode (cheader_filename = "linux/input.h")]
1745         public const int KEY_F2;
1746         [CCode (cheader_filename = "linux/input.h")]
1747         public const int KEY_F3;
1748         [CCode (cheader_filename = "linux/input.h")]
1749         public const int KEY_F4;
1750         [CCode (cheader_filename = "linux/input.h")]
1751         public const int KEY_F5;
1752         [CCode (cheader_filename = "linux/input.h")]
1753         public const int KEY_F6;
1754         [CCode (cheader_filename = "linux/input.h")]
1755         public const int KEY_F7;
1756         [CCode (cheader_filename = "linux/input.h")]
1757         public const int KEY_F8;
1758         [CCode (cheader_filename = "linux/input.h")]
1759         public const int KEY_F9;
1760         [CCode (cheader_filename = "linux/input.h")]
1761         public const int KEY_F10;
1762         [CCode (cheader_filename = "linux/input.h")]
1763         public const int KEY_NUMLOCK;
1764         [CCode (cheader_filename = "linux/input.h")]
1765         public const int KEY_SCROLLLOCK;
1766         [CCode (cheader_filename = "linux/input.h")]
1767         public const int KEY_KP7;
1768         [CCode (cheader_filename = "linux/input.h")]
1769         public const int KEY_KP8;
1770         [CCode (cheader_filename = "linux/input.h")]
1771         public const int KEY_KP9;
1772         [CCode (cheader_filename = "linux/input.h")]
1773         public const int KEY_KPMINUS;
1774         [CCode (cheader_filename = "linux/input.h")]
1775         public const int KEY_KP4;
1776         [CCode (cheader_filename = "linux/input.h")]
1777         public const int KEY_KP5;
1778         [CCode (cheader_filename = "linux/input.h")]
1779         public const int KEY_KP6;
1780         [CCode (cheader_filename = "linux/input.h")]
1781         public const int KEY_KPPLUS;
1782         [CCode (cheader_filename = "linux/input.h")]
1783         public const int KEY_KP1;
1784         [CCode (cheader_filename = "linux/input.h")]
1785         public const int KEY_KP2;
1786         [CCode (cheader_filename = "linux/input.h")]
1787         public const int KEY_KP3;
1788         [CCode (cheader_filename = "linux/input.h")]
1789         public const int KEY_KP0;
1790         [CCode (cheader_filename = "linux/input.h")]
1791         public const int KEY_KPDOT;
1793         [CCode (cheader_filename = "linux/input.h")]
1794         public const int KEY_ZENKAKUHANKAKU;
1795         [CCode (cheader_filename = "linux/input.h")]
1796         public const int KEY_102ND;
1797         [CCode (cheader_filename = "linux/input.h")]
1798         public const int KEY_F11;
1799         [CCode (cheader_filename = "linux/input.h")]
1800         public const int KEY_F12;
1801         [CCode (cheader_filename = "linux/input.h")]
1802         public const int KEY_RO;
1803         [CCode (cheader_filename = "linux/input.h")]
1804         public const int KEY_KATAKANA;
1805         [CCode (cheader_filename = "linux/input.h")]
1806         public const int KEY_HIRAGANA;
1807         [CCode (cheader_filename = "linux/input.h")]
1808         public const int KEY_HENKAN;
1809         [CCode (cheader_filename = "linux/input.h")]
1810         public const int KEY_KATAKANAHIRAGANA;
1811         [CCode (cheader_filename = "linux/input.h")]
1812         public const int KEY_MUHENKAN;
1813         [CCode (cheader_filename = "linux/input.h")]
1814         public const int KEY_KPJPCOMMA;
1815         [CCode (cheader_filename = "linux/input.h")]
1816         public const int KEY_KPENTER;
1817         [CCode (cheader_filename = "linux/input.h")]
1818         public const int KEY_RIGHTCTRL;
1819         [CCode (cheader_filename = "linux/input.h")]
1820         public const int KEY_KPSLASH;
1821         [CCode (cheader_filename = "linux/input.h")]
1822         public const int KEY_SYSRQ;
1823         [CCode (cheader_filename = "linux/input.h")]
1824         public const int KEY_RIGHTALT;
1825         [CCode (cheader_filename = "linux/input.h")]
1826         public const int KEY_LINEFEED;
1827         [CCode (cheader_filename = "linux/input.h")]
1828         public const int KEY_HOME;
1829         [CCode (cheader_filename = "linux/input.h")]
1830         public const int KEY_UP;
1831         [CCode (cheader_filename = "linux/input.h")]
1832         public const int KEY_PAGEUP;
1833         [CCode (cheader_filename = "linux/input.h")]
1834         public const int KEY_LEFT;
1835         [CCode (cheader_filename = "linux/input.h")]
1836         public const int KEY_RIGHT;
1837         [CCode (cheader_filename = "linux/input.h")]
1838         public const int KEY_END;
1839         [CCode (cheader_filename = "linux/input.h")]
1840         public const int KEY_DOWN;
1841         [CCode (cheader_filename = "linux/input.h")]
1842         public const int KEY_PAGEDOWN;
1843         [CCode (cheader_filename = "linux/input.h")]
1844         public const int KEY_INSERT;
1845         [CCode (cheader_filename = "linux/input.h")]
1846         public const int KEY_DELETE;
1847         [CCode (cheader_filename = "linux/input.h")]
1848         public const int KEY_MACRO;
1849         [CCode (cheader_filename = "linux/input.h")]
1850         public const int KEY_MUTE;
1851         [CCode (cheader_filename = "linux/input.h")]
1852         public const int KEY_VOLUMEDOWN;
1853         [CCode (cheader_filename = "linux/input.h")]
1854         public const int KEY_VOLUMEUP;
1855         [CCode (cheader_filename = "linux/input.h")]
1856         public const int KEY_POWER;
1857         [CCode (cheader_filename = "linux/input.h")]
1858         public const int KEY_KPEQUAL;
1859         [CCode (cheader_filename = "linux/input.h")]
1860         public const int KEY_KPPLUSMINUS;
1861         [CCode (cheader_filename = "linux/input.h")]
1862         public const int KEY_PAUSE;
1863         [CCode (cheader_filename = "linux/input.h")]
1864         public const int KEY_SCALE;
1866         [CCode (cheader_filename = "linux/input.h")]
1867         public const int KEY_KPCOMMA;
1868         [CCode (cheader_filename = "linux/input.h")]
1869         public const int KEY_HANGEUL;
1870         [CCode (cheader_filename = "linux/input.h")]
1871         public const int KEY_HANGUEL;
1872         [CCode (cheader_filename = "linux/input.h")]
1873         public const int KEY_HANJA;
1874         [CCode (cheader_filename = "linux/input.h")]
1875         public const int KEY_YEN;
1876         [CCode (cheader_filename = "linux/input.h")]
1877         public const int KEY_LEFTMETA;
1878         [CCode (cheader_filename = "linux/input.h")]
1879         public const int KEY_RIGHTMETA;
1880         [CCode (cheader_filename = "linux/input.h")]
1881         public const int KEY_COMPOSE;
1883         [CCode (cheader_filename = "linux/input.h")]
1884         public const int KEY_STOP;
1885         [CCode (cheader_filename = "linux/input.h")]
1886         public const int KEY_AGAIN;
1887         [CCode (cheader_filename = "linux/input.h")]
1888         public const int KEY_PROPS;
1889         [CCode (cheader_filename = "linux/input.h")]
1890         public const int KEY_UNDO;
1891         [CCode (cheader_filename = "linux/input.h")]
1892         public const int KEY_FRONT;
1893         [CCode (cheader_filename = "linux/input.h")]
1894         public const int KEY_COPY;
1895         [CCode (cheader_filename = "linux/input.h")]
1896         public const int KEY_OPEN;
1897         [CCode (cheader_filename = "linux/input.h")]
1898         public const int KEY_PASTE;
1899         [CCode (cheader_filename = "linux/input.h")]
1900         public const int KEY_FIND;
1901         [CCode (cheader_filename = "linux/input.h")]
1902         public const int KEY_CUT;
1903         [CCode (cheader_filename = "linux/input.h")]
1904         public const int KEY_HELP;
1905         [CCode (cheader_filename = "linux/input.h")]
1906         public const int KEY_MENU;
1907         [CCode (cheader_filename = "linux/input.h")]
1908         public const int KEY_CALC;
1909         [CCode (cheader_filename = "linux/input.h")]
1910         public const int KEY_SETUP;
1911         [CCode (cheader_filename = "linux/input.h")]
1912         public const int KEY_SLEEP;
1913         [CCode (cheader_filename = "linux/input.h")]
1914         public const int KEY_WAKEUP;
1915         [CCode (cheader_filename = "linux/input.h")]
1916         public const int KEY_FILE;
1917         [CCode (cheader_filename = "linux/input.h")]
1918         public const int KEY_SENDFILE;
1919         [CCode (cheader_filename = "linux/input.h")]
1920         public const int KEY_DELETEFILE;
1921         [CCode (cheader_filename = "linux/input.h")]
1922         public const int KEY_XFER;
1923         [CCode (cheader_filename = "linux/input.h")]
1924         public const int KEY_PROG1;
1925         [CCode (cheader_filename = "linux/input.h")]
1926         public const int KEY_PROG2;
1927         [CCode (cheader_filename = "linux/input.h")]
1928         public const int KEY_WWW;
1929         [CCode (cheader_filename = "linux/input.h")]
1930         public const int KEY_MSDOS;
1931         [CCode (cheader_filename = "linux/input.h")]
1932         public const int KEY_COFFEE;
1933         [CCode (cheader_filename = "linux/input.h")]
1934         public const int KEY_SCREENLOCK;
1935         [CCode (cheader_filename = "linux/input.h")]
1936         public const int KEY_DIRECTION;
1937         [CCode (cheader_filename = "linux/input.h")]
1938         public const int KEY_CYCLEWINDOWS;
1939         [CCode (cheader_filename = "linux/input.h")]
1940         public const int KEY_MAIL;
1941         [CCode (cheader_filename = "linux/input.h")]
1942         public const int KEY_BOOKMARKS;
1943         [CCode (cheader_filename = "linux/input.h")]
1944         public const int KEY_COMPUTER;
1945         [CCode (cheader_filename = "linux/input.h")]
1946         public const int KEY_BACK;
1947         [CCode (cheader_filename = "linux/input.h")]
1948         public const int KEY_FORWARD;
1949         [CCode (cheader_filename = "linux/input.h")]
1950         public const int KEY_CLOSECD;
1951         [CCode (cheader_filename = "linux/input.h")]
1952         public const int KEY_EJECTCD;
1953         [CCode (cheader_filename = "linux/input.h")]
1954         public const int KEY_EJECTCLOSECD;
1955         [CCode (cheader_filename = "linux/input.h")]
1956         public const int KEY_NEXTSONG;
1957         [CCode (cheader_filename = "linux/input.h")]
1958         public const int KEY_PLAYPAUSE;
1959         [CCode (cheader_filename = "linux/input.h")]
1960         public const int KEY_PREVIOUSSONG;
1961         [CCode (cheader_filename = "linux/input.h")]
1962         public const int KEY_STOPCD;
1963         [CCode (cheader_filename = "linux/input.h")]
1964         public const int KEY_RECORD;
1965         [CCode (cheader_filename = "linux/input.h")]
1966         public const int KEY_REWIND;
1967         [CCode (cheader_filename = "linux/input.h")]
1968         public const int KEY_PHONE;
1969         [CCode (cheader_filename = "linux/input.h")]
1970         public const int KEY_ISO;
1971         [CCode (cheader_filename = "linux/input.h")]
1972         public const int KEY_CONFIG;
1973         [CCode (cheader_filename = "linux/input.h")]
1974         public const int KEY_HOMEPAGE;
1975         [CCode (cheader_filename = "linux/input.h")]
1976         public const int KEY_REFRESH;
1977         [CCode (cheader_filename = "linux/input.h")]
1978         public const int KEY_EXIT;
1979         [CCode (cheader_filename = "linux/input.h")]
1980         public const int KEY_MOVE;
1981         [CCode (cheader_filename = "linux/input.h")]
1982         public const int KEY_EDIT;
1983         [CCode (cheader_filename = "linux/input.h")]
1984         public const int KEY_SCROLLUP;
1985         [CCode (cheader_filename = "linux/input.h")]
1986         public const int KEY_SCROLLDOWN;
1987         [CCode (cheader_filename = "linux/input.h")]
1988         public const int KEY_KPLEFTPAREN;
1989         [CCode (cheader_filename = "linux/input.h")]
1990         public const int KEY_KPRIGHTPAREN;
1991         [CCode (cheader_filename = "linux/input.h")]
1992         public const int KEY_NEW;
1993         [CCode (cheader_filename = "linux/input.h")]
1994         public const int KEY_REDO;
1996         [CCode (cheader_filename = "linux/input.h")]
1997         public const int KEY_F13;
1998         [CCode (cheader_filename = "linux/input.h")]
1999         public const int KEY_F14;
2000         [CCode (cheader_filename = "linux/input.h")]
2001         public const int KEY_F15;
2002         [CCode (cheader_filename = "linux/input.h")]
2003         public const int KEY_F16;
2004         [CCode (cheader_filename = "linux/input.h")]
2005         public const int KEY_F17;
2006         [CCode (cheader_filename = "linux/input.h")]
2007         public const int KEY_F18;
2008         [CCode (cheader_filename = "linux/input.h")]
2009         public const int KEY_F19;
2010         [CCode (cheader_filename = "linux/input.h")]
2011         public const int KEY_F20;
2012         [CCode (cheader_filename = "linux/input.h")]
2013         public const int KEY_F21;
2014         [CCode (cheader_filename = "linux/input.h")]
2015         public const int KEY_F22;
2016         [CCode (cheader_filename = "linux/input.h")]
2017         public const int KEY_F23;
2018         [CCode (cheader_filename = "linux/input.h")]
2019         public const int KEY_F24;
2021         [CCode (cheader_filename = "linux/input.h")]
2022         public const int KEY_PLAYCD;
2023         [CCode (cheader_filename = "linux/input.h")]
2024         public const int KEY_PAUSECD;
2025         [CCode (cheader_filename = "linux/input.h")]
2026         public const int KEY_PROG3;
2027         [CCode (cheader_filename = "linux/input.h")]
2028         public const int KEY_PROG4;
2029         [CCode (cheader_filename = "linux/input.h")]
2030         public const int KEY_DASHBOARD;
2031         [CCode (cheader_filename = "linux/input.h")]
2032         public const int KEY_SUSPEND;
2033         [CCode (cheader_filename = "linux/input.h")]
2034         public const int KEY_CLOSE;
2035         [CCode (cheader_filename = "linux/input.h")]
2036         public const int KEY_PLAY;
2037         [CCode (cheader_filename = "linux/input.h")]
2038         public const int KEY_FASTFORWARD;
2039         [CCode (cheader_filename = "linux/input.h")]
2040         public const int KEY_BASSBOOST;
2041         [CCode (cheader_filename = "linux/input.h")]
2042         public const int KEY_PRINT;
2043         [CCode (cheader_filename = "linux/input.h")]
2044         public const int KEY_HP;
2045         [CCode (cheader_filename = "linux/input.h")]
2046         public const int KEY_CAMERA;
2047         [CCode (cheader_filename = "linux/input.h")]
2048         public const int KEY_SOUND;
2049         [CCode (cheader_filename = "linux/input.h")]
2050         public const int KEY_QUESTION;
2051         [CCode (cheader_filename = "linux/input.h")]
2052         public const int KEY_EMAIL;
2053         [CCode (cheader_filename = "linux/input.h")]
2054         public const int KEY_CHAT;
2055         [CCode (cheader_filename = "linux/input.h")]
2056         public const int KEY_SEARCH;
2057         [CCode (cheader_filename = "linux/input.h")]
2058         public const int KEY_CONNECT;
2059         [CCode (cheader_filename = "linux/input.h")]
2060         public const int KEY_FINANCE;
2061         [CCode (cheader_filename = "linux/input.h")]
2062         public const int KEY_SPORT;
2063         [CCode (cheader_filename = "linux/input.h")]
2064         public const int KEY_SHOP;
2065         [CCode (cheader_filename = "linux/input.h")]
2066         public const int KEY_ALTERASE;
2067         [CCode (cheader_filename = "linux/input.h")]
2068         public const int KEY_CANCEL;
2069         [CCode (cheader_filename = "linux/input.h")]
2070         public const int KEY_BRIGHTNESSDOWN;
2071         [CCode (cheader_filename = "linux/input.h")]
2072         public const int KEY_BRIGHTNESSUP;
2073         [CCode (cheader_filename = "linux/input.h")]
2074         public const int KEY_MEDIA;
2076         [CCode (cheader_filename = "linux/input.h")]
2077         public const int KEY_SWITCHVIDEOMODE;
2078         [CCode (cheader_filename = "linux/input.h")]
2079         public const int KEY_KBDILLUMTOGGLE;
2080         [CCode (cheader_filename = "linux/input.h")]
2081         public const int KEY_KBDILLUMDOWN;
2082         [CCode (cheader_filename = "linux/input.h")]
2083         public const int KEY_KBDILLUMUP;
2085         [CCode (cheader_filename = "linux/input.h")]
2086         public const int KEY_SEND;
2087         [CCode (cheader_filename = "linux/input.h")]
2088         public const int KEY_REPLY;
2089         [CCode (cheader_filename = "linux/input.h")]
2090         public const int KEY_FORWARDMAIL;
2091         [CCode (cheader_filename = "linux/input.h")]
2092         public const int KEY_SAVE;
2093         [CCode (cheader_filename = "linux/input.h")]
2094         public const int KEY_DOCUMENTS;
2096         [CCode (cheader_filename = "linux/input.h")]
2097         public const int KEY_BATTERY;
2099         [CCode (cheader_filename = "linux/input.h")]
2100         public const int KEY_BLUETOOTH;
2101         [CCode (cheader_filename = "linux/input.h")]
2102         public const int KEY_WLAN;
2103         [CCode (cheader_filename = "linux/input.h")]
2104         public const int KEY_UWB;
2106         [CCode (cheader_filename = "linux/input.h")]
2107         public const int KEY_UNKNOWN;
2109         [CCode (cheader_filename = "linux/input.h")]
2110         public const int KEY_VIDEO_NEXT;
2111         [CCode (cheader_filename = "linux/input.h")]
2112         public const int KEY_VIDEO_PREV;
2113         [CCode (cheader_filename = "linux/input.h")]
2114         public const int KEY_BRIGHTNESS_CYCLE;
2115         [CCode (cheader_filename = "linux/input.h")]
2116         public const int KEY_BRIGHTNESS_ZERO;
2117         [CCode (cheader_filename = "linux/input.h")]
2118         public const int KEY_DISPLAY_OFF;
2120         [CCode (cheader_filename = "linux/input.h")]
2121         public const int KEY_WIMAX;
2123         [CCode (cheader_filename = "linux/input.h")]
2124         public const int KEY_MAX;
2126         /* Range 248 - 255 is reserved for special needs of AT keyboard driver */
2128         [CCode (cheader_filename = "linux/input.h")]
2129         public const int BTN_MISC;
2130         [CCode (cheader_filename = "linux/input.h")]
2131         public const int BTN_0;
2132         [CCode (cheader_filename = "linux/input.h")]
2133         public const int BTN_1;
2134         [CCode (cheader_filename = "linux/input.h")]
2135         public const int BTN_2;
2136         [CCode (cheader_filename = "linux/input.h")]
2137         public const int BTN_3;
2138         [CCode (cheader_filename = "linux/input.h")]
2139         public const int BTN_4;
2140         [CCode (cheader_filename = "linux/input.h")]
2141         public const int BTN_5;
2142         [CCode (cheader_filename = "linux/input.h")]
2143         public const int BTN_6;
2144         [CCode (cheader_filename = "linux/input.h")]
2145         public const int BTN_7;
2146         [CCode (cheader_filename = "linux/input.h")]
2147         public const int BTN_8;
2148         [CCode (cheader_filename = "linux/input.h")]
2149         public const int BTN_9;
2151         [CCode (cheader_filename = "linux/input.h")]
2152         public const int BTN_MOUSE;
2153         [CCode (cheader_filename = "linux/input.h")]
2154         public const int BTN_LEFT;
2155         [CCode (cheader_filename = "linux/input.h")]
2156         public const int BTN_RIGHT;
2157         [CCode (cheader_filename = "linux/input.h")]
2158         public const int BTN_MIDDLE;
2159         [CCode (cheader_filename = "linux/input.h")]
2160         public const int BTN_SIDE;
2161         [CCode (cheader_filename = "linux/input.h")]
2162         public const int BTN_EXTRA;
2163         [CCode (cheader_filename = "linux/input.h")]
2164         public const int BTN_FORWARD;
2165         [CCode (cheader_filename = "linux/input.h")]
2166         public const int BTN_BACK;
2167         [CCode (cheader_filename = "linux/input.h")]
2168         public const int BTN_TASK;
2170         [CCode (cheader_filename = "linux/input.h")]
2171         public const int BTN_JOYSTICK;
2172         [CCode (cheader_filename = "linux/input.h")]
2173         public const int BTN_TRIGGER;
2174         [CCode (cheader_filename = "linux/input.h")]
2175         public const int BTN_THUMB;
2176         [CCode (cheader_filename = "linux/input.h")]
2177         public const int BTN_THUMB2;
2178         [CCode (cheader_filename = "linux/input.h")]
2179         public const int BTN_TOP;
2180         [CCode (cheader_filename = "linux/input.h")]
2181         public const int BTN_TOP2;
2182         [CCode (cheader_filename = "linux/input.h")]
2183         public const int BTN_PINKIE;
2184         [CCode (cheader_filename = "linux/input.h")]
2185         public const int BTN_BASE;
2186         [CCode (cheader_filename = "linux/input.h")]
2187         public const int BTN_BASE2;
2188         [CCode (cheader_filename = "linux/input.h")]
2189         public const int BTN_BASE3;
2190         [CCode (cheader_filename = "linux/input.h")]
2191         public const int BTN_BASE4;
2192         [CCode (cheader_filename = "linux/input.h")]
2193         public const int BTN_BASE5;
2194         [CCode (cheader_filename = "linux/input.h")]
2195         public const int BTN_BASE6;
2196         [CCode (cheader_filename = "linux/input.h")]
2197         public const int BTN_DEAD;
2199         [CCode (cheader_filename = "linux/input.h")]
2200         public const int BTN_GAMEPAD;
2201         [CCode (cheader_filename = "linux/input.h")]
2202         public const int BTN_A;
2203         [CCode (cheader_filename = "linux/input.h")]
2204         public const int BTN_B;
2205         [CCode (cheader_filename = "linux/input.h")]
2206         public const int BTN_C;
2207         [CCode (cheader_filename = "linux/input.h")]
2208         public const int BTN_X;
2209         [CCode (cheader_filename = "linux/input.h")]
2210         public const int BTN_Y;
2211         [CCode (cheader_filename = "linux/input.h")]
2212         public const int BTN_Z;
2213         [CCode (cheader_filename = "linux/input.h")]
2214         public const int BTN_TL;
2215         [CCode (cheader_filename = "linux/input.h")]
2216         public const int BTN_TR;
2217         [CCode (cheader_filename = "linux/input.h")]
2218         public const int BTN_TL2;
2219         [CCode (cheader_filename = "linux/input.h")]
2220         public const int BTN_TR2;
2221         [CCode (cheader_filename = "linux/input.h")]
2222         public const int BTN_SELECT;
2223         [CCode (cheader_filename = "linux/input.h")]
2224         public const int BTN_START;
2225         [CCode (cheader_filename = "linux/input.h")]
2226         public const int BTN_MODE;
2227         [CCode (cheader_filename = "linux/input.h")]
2228         public const int BTN_THUMBL;
2229         [CCode (cheader_filename = "linux/input.h")]
2230         public const int BTN_THUMBR;
2232         [CCode (cheader_filename = "linux/input.h")]
2233         public const int BTN_DIGI;
2234         [CCode (cheader_filename = "linux/input.h")]
2235         public const int BTN_TOOL_PEN;
2236         [CCode (cheader_filename = "linux/input.h")]
2237         public const int BTN_TOOL_RUBBER;
2238         [CCode (cheader_filename = "linux/input.h")]
2239         public const int BTN_TOOL_BRUSH;
2240         [CCode (cheader_filename = "linux/input.h")]
2241         public const int BTN_TOOL_PENCIL;
2242         [CCode (cheader_filename = "linux/input.h")]
2243         public const int BTN_TOOL_AIRBRUSH;
2244         [CCode (cheader_filename = "linux/input.h")]
2245         public const int BTN_TOOL_FINGER;
2246         [CCode (cheader_filename = "linux/input.h")]
2247         public const int BTN_TOOL_MOUSE;
2248         [CCode (cheader_filename = "linux/input.h")]
2249         public const int BTN_TOOL_LENS;
2250         [CCode (cheader_filename = "linux/input.h")]
2251         public const int BTN_TOUCH;
2252         [CCode (cheader_filename = "linux/input.h")]
2253         public const int BTN_STYLUS;
2254         [CCode (cheader_filename = "linux/input.h")]
2255         public const int BTN_STYLUS2;
2256         [CCode (cheader_filename = "linux/input.h")]
2257         public const int BTN_TOOL_DOUBLETAP;
2258         [CCode (cheader_filename = "linux/input.h")]
2259         public const int BTN_TOOL_TRIPLETAP;
2261         [CCode (cheader_filename = "linux/input.h")]
2262         public const int BTN_WHEEL;
2263         [CCode (cheader_filename = "linux/input.h")]
2264         public const int BTN_GEAR_DOWN;
2265         [CCode (cheader_filename = "linux/input.h")]
2266         public const int BTN_GEAR_UP;
2268         [CCode (cheader_filename = "linux/input.h")]
2269         public const int KEY_OK;
2270         [CCode (cheader_filename = "linux/input.h")]
2271         public const int KEY_SELECT;
2272         [CCode (cheader_filename = "linux/input.h")]
2273         public const int KEY_GOTO;
2274         [CCode (cheader_filename = "linux/input.h")]
2275         public const int KEY_CLEAR;
2276         [CCode (cheader_filename = "linux/input.h")]
2277         public const int KEY_POWER2;
2278         [CCode (cheader_filename = "linux/input.h")]
2279         public const int KEY_OPTION;
2280         [CCode (cheader_filename = "linux/input.h")]
2281         public const int KEY_INFO;
2282         [CCode (cheader_filename = "linux/input.h")]
2283         public const int KEY_TIME;
2284         [CCode (cheader_filename = "linux/input.h")]
2285         public const int KEY_VENDOR;
2286         [CCode (cheader_filename = "linux/input.h")]
2287         public const int KEY_ARCHIVE;
2288         [CCode (cheader_filename = "linux/input.h")]
2289         public const int KEY_PROGRAM;
2290         [CCode (cheader_filename = "linux/input.h")]
2291         public const int KEY_CHANNEL;
2292         [CCode (cheader_filename = "linux/input.h")]
2293         public const int KEY_FAVORITES;
2294         [CCode (cheader_filename = "linux/input.h")]
2295         public const int KEY_EPG;
2296         [CCode (cheader_filename = "linux/input.h")]
2297         public const int KEY_PVR;
2298         [CCode (cheader_filename = "linux/input.h")]
2299         public const int KEY_MHP;
2300         [CCode (cheader_filename = "linux/input.h")]
2301         public const int KEY_LANGUAGE;
2302         [CCode (cheader_filename = "linux/input.h")]
2303         public const int KEY_TITLE;
2304         [CCode (cheader_filename = "linux/input.h")]
2305         public const int KEY_SUBTITLE;
2306         [CCode (cheader_filename = "linux/input.h")]
2307         public const int KEY_ANGLE;
2308         [CCode (cheader_filename = "linux/input.h")]
2309         public const int KEY_ZOOM;
2310         [CCode (cheader_filename = "linux/input.h")]
2311         public const int KEY_MODE;
2312         [CCode (cheader_filename = "linux/input.h")]
2313         public const int KEY_KEYBOARD;
2314         [CCode (cheader_filename = "linux/input.h")]
2315         public const int KEY_SCREEN;
2316         [CCode (cheader_filename = "linux/input.h")]
2317         public const int KEY_PC;
2318         [CCode (cheader_filename = "linux/input.h")]
2319         public const int KEY_TV;
2320         [CCode (cheader_filename = "linux/input.h")]
2321         public const int KEY_TV2;
2322         [CCode (cheader_filename = "linux/input.h")]
2323         public const int KEY_VCR;
2324         [CCode (cheader_filename = "linux/input.h")]
2325         public const int KEY_VCR2;
2326         [CCode (cheader_filename = "linux/input.h")]
2327         public const int KEY_SAT;
2328         [CCode (cheader_filename = "linux/input.h")]
2329         public const int KEY_SAT2;
2330         [CCode (cheader_filename = "linux/input.h")]
2331         public const int KEY_CD;
2332         [CCode (cheader_filename = "linux/input.h")]
2333         public const int KEY_TAPE;
2334         [CCode (cheader_filename = "linux/input.h")]
2335         public const int KEY_RADIO;
2336         [CCode (cheader_filename = "linux/input.h")]
2337         public const int KEY_TUNER;
2338         [CCode (cheader_filename = "linux/input.h")]
2339         public const int KEY_PLAYER;
2340         [CCode (cheader_filename = "linux/input.h")]
2341         public const int KEY_TEXT;
2342         [CCode (cheader_filename = "linux/input.h")]
2343         public const int KEY_DVD;
2344         [CCode (cheader_filename = "linux/input.h")]
2345         public const int KEY_AUX;
2346         [CCode (cheader_filename = "linux/input.h")]
2347         public const int KEY_MP3;
2348         [CCode (cheader_filename = "linux/input.h")]
2349         public const int KEY_AUDIO;
2350         [CCode (cheader_filename = "linux/input.h")]
2351         public const int KEY_VIDEO;
2352         [CCode (cheader_filename = "linux/input.h")]
2353         public const int KEY_DIRECTORY;
2354         [CCode (cheader_filename = "linux/input.h")]
2355         public const int KEY_LIST;
2356         [CCode (cheader_filename = "linux/input.h")]
2357         public const int KEY_MEMO;
2358         [CCode (cheader_filename = "linux/input.h")]
2359         public const int KEY_CALENDAR;
2360         [CCode (cheader_filename = "linux/input.h")]
2361         public const int KEY_RED;
2362         [CCode (cheader_filename = "linux/input.h")]
2363         public const int KEY_GREEN;
2364         [CCode (cheader_filename = "linux/input.h")]
2365         public const int KEY_YELLOW;
2366         [CCode (cheader_filename = "linux/input.h")]
2367         public const int KEY_BLUE;
2368         [CCode (cheader_filename = "linux/input.h")]
2369         public const int KEY_CHANNELUP;
2370         [CCode (cheader_filename = "linux/input.h")]
2371         public const int KEY_CHANNELDOWN;
2372         [CCode (cheader_filename = "linux/input.h")]
2373         public const int KEY_FIRST;
2374         [CCode (cheader_filename = "linux/input.h")]
2375         public const int KEY_LAST;
2376         [CCode (cheader_filename = "linux/input.h")]
2377         public const int KEY_AB;
2378         [CCode (cheader_filename = "linux/input.h")]
2379         public const int KEY_NEXT;
2380         [CCode (cheader_filename = "linux/input.h")]
2381         public const int KEY_RESTART;
2382         [CCode (cheader_filename = "linux/input.h")]
2383         public const int KEY_SLOW;
2384         [CCode (cheader_filename = "linux/input.h")]
2385         public const int KEY_SHUFFLE;
2386         [CCode (cheader_filename = "linux/input.h")]
2387         public const int KEY_BREAK;
2388         [CCode (cheader_filename = "linux/input.h")]
2389         public const int KEY_PREVIOUS;
2390         [CCode (cheader_filename = "linux/input.h")]
2391         public const int KEY_DIGITS;
2392         [CCode (cheader_filename = "linux/input.h")]
2393         public const int KEY_TEEN;
2394         [CCode (cheader_filename = "linux/input.h")]
2395         public const int KEY_TWEN;
2396         [CCode (cheader_filename = "linux/input.h")]
2397         public const int KEY_VIDEOPHONE;
2398         [CCode (cheader_filename = "linux/input.h")]
2399         public const int KEY_GAMES;
2400         [CCode (cheader_filename = "linux/input.h")]
2401         public const int KEY_ZOOMIN;
2402         [CCode (cheader_filename = "linux/input.h")]
2403         public const int KEY_ZOOMOUT;
2404         [CCode (cheader_filename = "linux/input.h")]
2405         public const int KEY_ZOOMRESET;
2406         [CCode (cheader_filename = "linux/input.h")]
2407         public const int KEY_WORDPROCESSOR;
2408         [CCode (cheader_filename = "linux/input.h")]
2409         public const int KEY_EDITOR;
2410         [CCode (cheader_filename = "linux/input.h")]
2411         public const int KEY_SPREADSHEET;
2412         [CCode (cheader_filename = "linux/input.h")]
2413         public const int KEY_GRAPHICSEDITOR;
2414         [CCode (cheader_filename = "linux/input.h")]
2415         public const int KEY_PRESENTATION;
2416         [CCode (cheader_filename = "linux/input.h")]
2417         public const int KEY_DATABASE;
2418         [CCode (cheader_filename = "linux/input.h")]
2419         public const int KEY_NEWS;
2420         [CCode (cheader_filename = "linux/input.h")]
2421         public const int KEY_VOICEMAIL;
2422         [CCode (cheader_filename = "linux/input.h")]
2423         public const int KEY_ADDRESSBOOK;
2424         [CCode (cheader_filename = "linux/input.h")]
2425         public const int KEY_MESSENGER;
2426         [CCode (cheader_filename = "linux/input.h")]
2427         public const int KEY_DISPLAYTOGGLE;
2428         [CCode (cheader_filename = "linux/input.h")]
2429         public const int KEY_SPELLCHECK;
2430         [CCode (cheader_filename = "linux/input.h")]
2431         public const int KEY_LOGOFF;
2433         [CCode (cheader_filename = "linux/input.h")]
2434         public const int KEY_DOLLAR;
2435         [CCode (cheader_filename = "linux/input.h")]
2436         public const int KEY_EURO;
2438         [CCode (cheader_filename = "linux/input.h")]
2439         public const int KEY_FRAMEBACK;
2440         [CCode (cheader_filename = "linux/input.h")]
2441         public const int KEY_FRAMEFORWARD;
2442         [CCode (cheader_filename = "linux/input.h")]
2443         public const int KEY_CONTEXT_MENU;
2444         [CCode (cheader_filename = "linux/input.h")]
2445         public const int KEY_MEDIA_REPEAT;
2447         [CCode (cheader_filename = "linux/input.h")]
2448         public const int KEY_DEL_EOL;
2449         [CCode (cheader_filename = "linux/input.h")]
2450         public const int KEY_DEL_EOS;
2451         [CCode (cheader_filename = "linux/input.h")]
2452         public const int KEY_INS_LINE;
2453         [CCode (cheader_filename = "linux/input.h")]
2454         public const int KEY_DEL_LINE;
2456         [CCode (cheader_filename = "linux/input.h")]
2457         public const int KEY_FN;
2458         [CCode (cheader_filename = "linux/input.h")]
2459         public const int KEY_FN_ESC;
2460         [CCode (cheader_filename = "linux/input.h")]
2461         public const int KEY_FN_F1;
2462         [CCode (cheader_filename = "linux/input.h")]
2463         public const int KEY_FN_F2;
2464         [CCode (cheader_filename = "linux/input.h")]
2465         public const int KEY_FN_F3;
2466         [CCode (cheader_filename = "linux/input.h")]
2467         public const int KEY_FN_F4;
2468         [CCode (cheader_filename = "linux/input.h")]
2469         public const int KEY_FN_F5;
2470         [CCode (cheader_filename = "linux/input.h")]
2471         public const int KEY_FN_F6;
2472         [CCode (cheader_filename = "linux/input.h")]
2473         public const int KEY_FN_F7;
2474         [CCode (cheader_filename = "linux/input.h")]
2475         public const int KEY_FN_F8;
2476         [CCode (cheader_filename = "linux/input.h")]
2477         public const int KEY_FN_F9;
2478         [CCode (cheader_filename = "linux/input.h")]
2479         public const int KEY_FN_F10;
2480         [CCode (cheader_filename = "linux/input.h")]
2481         public const int KEY_FN_F11;
2482         [CCode (cheader_filename = "linux/input.h")]
2483         public const int KEY_FN_F12;
2484         [CCode (cheader_filename = "linux/input.h")]
2485         public const int KEY_FN_1;
2486         [CCode (cheader_filename = "linux/input.h")]
2487         public const int KEY_FN_2;
2488         [CCode (cheader_filename = "linux/input.h")]
2489         public const int KEY_FN_D;
2490         [CCode (cheader_filename = "linux/input.h")]
2491         public const int KEY_FN_E;
2492         [CCode (cheader_filename = "linux/input.h")]
2493         public const int KEY_FN_F;
2494         [CCode (cheader_filename = "linux/input.h")]
2495         public const int KEY_FN_S;
2496         [CCode (cheader_filename = "linux/input.h")]
2497         public const int KEY_FN_B;
2499         [CCode (cheader_filename = "linux/input.h")]
2500         public const int KEY_BRL_DOT1;
2501         [CCode (cheader_filename = "linux/input.h")]
2502         public const int KEY_BRL_DOT2;
2503         [CCode (cheader_filename = "linux/input.h")]
2504         public const int KEY_BRL_DOT3;
2505         [CCode (cheader_filename = "linux/input.h")]
2506         public const int KEY_BRL_DOT4;
2507         [CCode (cheader_filename = "linux/input.h")]
2508         public const int KEY_BRL_DOT5;
2509         [CCode (cheader_filename = "linux/input.h")]
2510         public const int KEY_BRL_DOT6;
2511         [CCode (cheader_filename = "linux/input.h")]
2512         public const int KEY_BRL_DOT7;
2513         [CCode (cheader_filename = "linux/input.h")]
2514         public const int KEY_BRL_DOT8;
2515         [CCode (cheader_filename = "linux/input.h")]
2516         public const int KEY_BRL_DOT9;
2517         [CCode (cheader_filename = "linux/input.h")]
2518         public const int KEY_BRL_DOT10;
2520         [CCode (cheader_filename = "linux/input.h")]
2521         public const int KEY_NUMERIC_0;
2522         [CCode (cheader_filename = "linux/input.h")]
2523         public const int KEY_NUMERIC_1;
2524         [CCode (cheader_filename = "linux/input.h")]
2525         public const int KEY_NUMERIC_2;
2526         [CCode (cheader_filename = "linux/input.h")]
2527         public const int KEY_NUMERIC_3;
2528         [CCode (cheader_filename = "linux/input.h")]
2529         public const int KEY_NUMERIC_4;
2530         [CCode (cheader_filename = "linux/input.h")]
2531         public const int KEY_NUMERIC_5;
2532         [CCode (cheader_filename = "linux/input.h")]
2533         public const int KEY_NUMERIC_6;
2534         [CCode (cheader_filename = "linux/input.h")]
2535         public const int KEY_NUMERIC_7;
2536         [CCode (cheader_filename = "linux/input.h")]
2537         public const int KEY_NUMERIC_8;
2538         [CCode (cheader_filename = "linux/input.h")]
2539         public const int KEY_NUMERIC_9;
2540         [CCode (cheader_filename = "linux/input.h")]
2541         public const int KEY_NUMERIC_STAR;
2542         [CCode (cheader_filename = "linux/input.h")]
2543         public const int KEY_NUMERIC_POUND;
2545         /*
2546         * Relative axes
2547         */
2549         [CCode (cheader_filename = "linux/input.h")]
2550         public const int REL_X;
2551         [CCode (cheader_filename = "linux/input.h")]
2552         public const int REL_Y;
2553         [CCode (cheader_filename = "linux/input.h")]
2554         public const int REL_Z;
2555         [CCode (cheader_filename = "linux/input.h")]
2556         public const int REL_RX;
2557         [CCode (cheader_filename = "linux/input.h")]
2558         public const int REL_RY;
2559         [CCode (cheader_filename = "linux/input.h")]
2560         public const int REL_RZ;
2561         [CCode (cheader_filename = "linux/input.h")]
2562         public const int REL_HWHEEL;
2563         [CCode (cheader_filename = "linux/input.h")]
2564         public const int REL_DIAL;
2565         [CCode (cheader_filename = "linux/input.h")]
2566         public const int REL_WHEEL;
2567         [CCode (cheader_filename = "linux/input.h")]
2568         public const int REL_MISC;
2569         [CCode (cheader_filename = "linux/input.h")]
2570         public const int REL_MAX;
2572         /*
2573          * Absolute axes
2574          */
2576         [CCode (cheader_filename = "linux/input.h")]
2577         public const int ABS_X;
2578         [CCode (cheader_filename = "linux/input.h")]
2579         public const int ABS_Y;
2580         [CCode (cheader_filename = "linux/input.h")]
2581         public const int ABS_Z;
2582         [CCode (cheader_filename = "linux/input.h")]
2583         public const int ABS_RX;
2584         [CCode (cheader_filename = "linux/input.h")]
2585         public const int ABS_RY;
2586         [CCode (cheader_filename = "linux/input.h")]
2587         public const int ABS_RZ;
2588         [CCode (cheader_filename = "linux/input.h")]
2589         public const int ABS_THROTTLE;
2590         [CCode (cheader_filename = "linux/input.h")]
2591         public const int ABS_RUDDER;
2592         [CCode (cheader_filename = "linux/input.h")]
2593         public const int ABS_WHEEL;
2594         [CCode (cheader_filename = "linux/input.h")]
2595         public const int ABS_GAS;
2596         [CCode (cheader_filename = "linux/input.h")]
2597         public const int ABS_BRAKE;
2598         [CCode (cheader_filename = "linux/input.h")]
2599         public const int ABS_HAT0X;
2600         [CCode (cheader_filename = "linux/input.h")]
2601         public const int ABS_HAT0Y;
2602         [CCode (cheader_filename = "linux/input.h")]
2603         public const int ABS_HAT1X;
2604         [CCode (cheader_filename = "linux/input.h")]
2605         public const int ABS_HAT1Y;
2606         [CCode (cheader_filename = "linux/input.h")]
2607         public const int ABS_HAT2X;
2608         [CCode (cheader_filename = "linux/input.h")]
2609         public const int ABS_HAT2Y;
2610         [CCode (cheader_filename = "linux/input.h")]
2611         public const int ABS_HAT3X;
2612         [CCode (cheader_filename = "linux/input.h")]
2613         public const int ABS_HAT3Y;
2614         [CCode (cheader_filename = "linux/input.h")]
2615         public const int ABS_PRESSURE;
2616         [CCode (cheader_filename = "linux/input.h")]
2617         public const int ABS_DISTANCE;
2618         [CCode (cheader_filename = "linux/input.h")]
2619         public const int ABS_TILT_X;
2620         [CCode (cheader_filename = "linux/input.h")]
2621         public const int ABS_TILT_Y;
2622         [CCode (cheader_filename = "linux/input.h")]
2623         public const int ABS_TOOL_WIDTH;
2624         [CCode (cheader_filename = "linux/input.h")]
2625         public const int ABS_VOLUME;
2626         [CCode (cheader_filename = "linux/input.h")]
2627         public const int ABS_MISC;
2628         [CCode (cheader_filename = "linux/input.h")]
2629         public const int ABS_MAX;
2631         /*
2632          * Switch events
2633          */
2635         [CCode (cheader_filename = "linux/input.h")]
2636         public const int SW_LID;
2637         [CCode (cheader_filename = "linux/input.h")]
2638         public const int SW_TABLET_MODE;
2639         [CCode (cheader_filename = "linux/input.h")]
2640         public const int SW_HEADPHONE_INSERT;
2641         [CCode (cheader_filename = "linux/input.h")]
2642         public const int SW_RFKILL_ALL;
2643         [CCode (cheader_filename = "linux/input.h")]
2644         public const int SW_RADIO;
2645         [CCode (cheader_filename = "linux/input.h")]
2646         public const int SW_MICROPHONE_INSERT;
2647         [CCode (cheader_filename = "linux/input.h")]
2648         public const int SW_DOCK;
2649         [CCode (cheader_filename = "linux/input.h")]
2650         public const int SW_MAX;
2652         /*
2653          * Misc events
2654          */
2656         [CCode (cheader_filename = "linux/input.h")]
2657         public const int MSC_SERIAL;
2658         [CCode (cheader_filename = "linux/input.h")]
2659         public const int MSC_PULSELED;
2660         [CCode (cheader_filename = "linux/input.h")]
2661         public const int MSC_GESTURE;
2662         [CCode (cheader_filename = "linux/input.h")]
2663         public const int MSC_RAW;
2664         [CCode (cheader_filename = "linux/input.h")]
2665         public const int MSC_SCAN;
2666         [CCode (cheader_filename = "linux/input.h")]
2667         public const int MSC_MAX;
2669         /*
2670          * LEDs
2671          */
2673         [CCode (cheader_filename = "linux/input.h")]
2674         public const int LED_NUML;
2675         [CCode (cheader_filename = "linux/input.h")]
2676         public const int LED_CAPSL;
2677         [CCode (cheader_filename = "linux/input.h")]
2678         public const int LED_SCROLLL;
2679         [CCode (cheader_filename = "linux/input.h")]
2680         public const int LED_COMPOSE;
2681         [CCode (cheader_filename = "linux/input.h")]
2682         public const int LED_KANA;
2683         [CCode (cheader_filename = "linux/input.h")]
2684         public const int LED_SLEEP;
2685         [CCode (cheader_filename = "linux/input.h")]
2686         public const int LED_SUSPEND;
2687         [CCode (cheader_filename = "linux/input.h")]
2688         public const int LED_MUTE;
2689         [CCode (cheader_filename = "linux/input.h")]
2690         public const int LED_MISC;
2691         [CCode (cheader_filename = "linux/input.h")]
2692         public const int LED_MAIL;
2693         [CCode (cheader_filename = "linux/input.h")]
2694         public const int LED_CHARGING;
2695         [CCode (cheader_filename = "linux/input.h")]
2696         public const int LED_MAX;
2698         /*
2699          * Autorepeat values
2700          */
2702         [CCode (cheader_filename = "linux/input.h")]
2703         public const int REP_DELAY;
2704         [CCode (cheader_filename = "linux/input.h")]
2705         public const int REP_PERIOD;
2706         [CCode (cheader_filename = "linux/input.h")]
2707         public const int REP_MAX;
2709         /*
2710          * Sounds
2711          */
2713         [CCode (cheader_filename = "linux/input.h")]
2714         public const int SND_CLICK;
2715         [CCode (cheader_filename = "linux/input.h")]
2716         public const int SND_BELL;
2717         [CCode (cheader_filename = "linux/input.h")]
2718         public const int SND_TONE;
2719         [CCode (cheader_filename = "linux/input.h")]
2720         public const int SND_MAX;
2722         /*
2723          * IDs.
2724          */
2726         [CCode (cheader_filename = "linux/input.h")]
2727         public const int ID_BUS;
2728         [CCode (cheader_filename = "linux/input.h")]
2729         public const int ID_VENDOR;
2730         [CCode (cheader_filename = "linux/input.h")]
2731         public const int ID_PRODUCT;
2732         [CCode (cheader_filename = "linux/input.h")]
2733         public const int ID_VERSION;
2735         [CCode (cheader_filename = "linux/input.h")]
2736         public const int BUS_PCI;
2737         [CCode (cheader_filename = "linux/input.h")]
2738         public const int BUS_ISAPNP;
2739         [CCode (cheader_filename = "linux/input.h")]
2740         public const int BUS_USB;
2741         [CCode (cheader_filename = "linux/input.h")]
2742         public const int BUS_HIL;
2743         [CCode (cheader_filename = "linux/input.h")]
2744         public const int BUS_BLUETOOTH;
2745         [CCode (cheader_filename = "linux/input.h")]
2746         public const int BUS_VIRTUAL;
2748         [CCode (cheader_filename = "linux/input.h")]
2749         public const int BUS_ISA;
2750         [CCode (cheader_filename = "linux/input.h")]
2751         public const int BUS_I8042;
2752         [CCode (cheader_filename = "linux/input.h")]
2753         public const int BUS_XTKBD;
2754         [CCode (cheader_filename = "linux/input.h")]
2755         public const int BUS_RS232;
2756         [CCode (cheader_filename = "linux/input.h")]
2757         public const int BUS_GAMEPORT;
2758         [CCode (cheader_filename = "linux/input.h")]
2759         public const int BUS_PARPORT;
2760         [CCode (cheader_filename = "linux/input.h")]
2761         public const int BUS_AMIGA;
2762         [CCode (cheader_filename = "linux/input.h")]
2763         public const int BUS_ADB;
2764         [CCode (cheader_filename = "linux/input.h")]
2765         public const int BUS_I2C;
2766         [CCode (cheader_filename = "linux/input.h")]
2767         public const int BUS_HOST;
2768         [CCode (cheader_filename = "linux/input.h")]
2769         public const int BUS_GSC;
2770         [CCode (cheader_filename = "linux/input.h")]
2771         public const int BUS_ATARI;
2772     }
2774     /*
2775      * Netlink subsystem
2776      */
2777     [CCode (cprefix = "", lower_case_cprefix = "", cheader_filename = "linux/netlink.h")]
2778     namespace Netlink {
2780         [CCode (cheader_filename = "linux/netlink.h")]
2781         public const int NETLINK_ROUTE;
2782         [CCode (cheader_filename = "linux/netlink.h")]
2783         public const int NETLINK_UNUSED;
2784         [CCode (cheader_filename = "linux/netlink.h")]
2785         public const int NETLINK_USERSOCK;
2786         [CCode (cheader_filename = "linux/netlink.h")]
2787         public const int NETLINK_FIREWALL;
2788         [CCode (cheader_filename = "linux/netlink.h")]
2789         public const int NETLINK_INET_DIAG;
2790         [CCode (cheader_filename = "linux/netlink.h")]
2791         public const int NETLINK_NFLOG;
2792         [CCode (cheader_filename = "linux/netlink.h")]
2793         public const int NETLINK_XFRM;
2794         [CCode (cheader_filename = "linux/netlink.h")]
2795         public const int NETLINK_SELINUX;
2796         [CCode (cheader_filename = "linux/netlink.h")]
2797         public const int NETLINK_ISCSI;
2798         [CCode (cheader_filename = "linux/netlink.h")]
2799         public const int NETLINK_AUDIT;
2800         [CCode (cheader_filename = "linux/netlink.h")]
2801         public const int NETLINK_FIB_LOOKUP;
2802         [CCode (cheader_filename = "linux/netlink.h")]
2803         public const int NETLINK_CONNECTOR;
2804         [CCode (cheader_filename = "linux/netlink.h")]
2805         public const int NETLINK_NETFILTER;
2806         [CCode (cheader_filename = "linux/netlink.h")]
2807         public const int NETLINK_IP6_FW;
2808         [CCode (cheader_filename = "linux/netlink.h")]
2809         public const int NETLINK_DNRTMSG;
2810         [CCode (cheader_filename = "linux/netlink.h")]
2811         public const int NETLINK_KOBJECT_UEVENT;
2812         [CCode (cheader_filename = "linux/netlink.h")]
2813         public const int NETLINK_GENERIC;
2814         [CCode (cheader_filename = "linux/netlink.h")]
2815         public const int NETLINK_SCSITRANSPORT;
2816         [CCode (cheader_filename = "linux/netlink.h")]
2817         public const int NETLINK_ECRYPTFS;
2819         [CCode (cheader_filename = "linux/netlink.h")]
2820         public const int NETLINK_ADD_MEMBERSHIP;
2821         [CCode (cheader_filename = "linux/netlink.h")]
2822         public const int NETLINK_DROP_MEMBERSHIP;
2823         [CCode (cheader_filename = "linux/netlink.h")]
2824         public const int NETLINK_PKTINFO;
2825         [CCode (cheader_filename = "linux/netlink.h")]
2826         public const int NETLINK_BROADCAST_ERROR;
2827         [CCode (cheader_filename = "linux/netlink.h")]
2828         public const int NETLINK_NO_ENOBUFS;
2830         [CCode (cheader_filename = "linux/netlink.h")]
2831         public const int NLM_F_REQUEST;
2832         [CCode (cheader_filename = "linux/netlink.h")]
2833         public const int NLM_F_MULTI;
2834         [CCode (cheader_filename = "linux/netlink.h")]
2835         public const int NLM_F_ACK;
2836         [CCode (cheader_filename = "linux/netlink.h")]
2837         public const int NLM_F_ECHO;
2839         [CCode (cheader_filename = "linux/netlink.h")]
2840         public const int NLM_F_ROOT;
2841         [CCode (cheader_filename = "linux/netlink.h")]
2842         public const int NLM_F_MATCH;
2843         [CCode (cheader_filename = "linux/netlink.h")]
2844         public const int NLM_F_ATOMIC;
2845         [CCode (cheader_filename = "linux/netlink.h")]
2846         public const int NLM_F_DUMP;
2848         [CCode (cheader_filename = "linux/netlink.h")]
2849         public const int NLM_F_REPLACE;
2850         [CCode (cheader_filename = "linux/netlink.h")]
2851         public const int NLM_F_EXCL;
2852         [CCode (cheader_filename = "linux/netlink.h")]
2853         public const int NLM_F_CREATE;
2854         [CCode (cheader_filename = "linux/netlink.h")]
2855         public const int NLM_F_APPEND;
2857         [CCode (cheader_filename = "linux/netlink.h")]
2858         public const int NLMSG_ALIGNTO;
2859         [CCode (cheader_filename = "linux/netlink.h")]
2860         public const int NLMSG_NOOP;
2861         [CCode (cheader_filename = "linux/netlink.h")]
2862         public const int NLMSG_ERROR;
2863         [CCode (cheader_filename = "linux/netlink.h")]
2864         public const int NLMSG_DONE;
2865         [CCode (cheader_filename = "linux/netlink.h")]
2866         public const int NLMSG_OVERRUN;
2867         [CCode (cheader_filename = "linux/netlink.h")]
2868         public const int NLMSG_MIN_TYPE;
2870         /* netlink action macros, we bind them as functions for convenience */
2871         [CCode (cheader_filename = "linux/netlink.h")]
2872         public void NLMSG_ALIGN (int len);
2873         [CCode (cheader_filename = "linux/netlink.h")]
2874         public int NLMSG_HDRLEN ();
2875         [CCode (cheader_filename = "linux/netlink.h")]
2876         public int NLMSG_LENGTH (int len);
2877         [CCode (cheader_filename = "linux/netlink.h")]
2878         public void NLMSG_SPACE (int len);
2879         [CCode (cheader_filename = "linux/netlink.h")]
2880         public void* NLMSG_DATA (NlMsgHdr nlh);
2881         [CCode (cheader_filename = "linux/netlink.h")]
2882         public unowned NlMsgHdr NLMSG_NEXT (NlMsgHdr nlh, int len);
2883         [CCode (cheader_filename = "linux/netlink.h")]
2884         public bool NLMSG_OK (NlMsgHdr nlh, int len);
2885         [CCode (cheader_filename = "linux/netlink.h")]
2886         public int NLMSG_PAYLOAD (NlMsgHdr nlh, int len);
2888         // netlink socket, can be used instead of sockaddr
2889         [CCode (cname = "struct sockaddr_nl", cheader_filename = "linux/netlink.h", destroy_function = "")]
2890         public struct SockAddrNl {
2891             public int nl_family;
2892             public ushort nl_pad;
2893             public uint32 nl_pid;
2894             public uint32 nl_groups;
2895         }
2897         // netlink message header
2898         [CCode (cname = "struct nlmsghdr", cheader_filename = "linux/netlink.h", destroy_function = "")]
2899         public struct NlMsgHdr {
2900             public uint32 nlmsg_len;
2901             public uint16 nlmsg_type;
2902             public uint16 nlmsg_flags;
2903             public uint32 nlmsg_seq;
2904             public uint32 nlmsg_pid;
2905         }
2907         // netlink error message
2908         [CCode (cname = "struct nlmsgerr", cheader_filename = "linux/netlink.h", destroy_function = "")]
2909         public struct NlMsgErr {
2910             public int error;
2911             public NlMsgHdr msg;
2912         }
2914         // rtnetlink multicast groups ( userland compatibility values )
2915         [CCode (cheader_filename = "linux/rtnetlink.h")]
2916         public const int RTMGRP_LINK;
2917         [CCode (cheader_filename = "linux/rtnetlink.h")]
2918         public const int RTMGRP_NOTIFY;
2919         [CCode (cheader_filename = "linux/rtnetlink.h")]
2920         public const int RTMGRP_NEIGH;
2921         [CCode (cheader_filename = "linux/rtnetlink.h")]
2922         public const int RTMGRP_TC;
2923         [CCode (cheader_filename = "linux/rtnetlink.h")]
2924         public const int RTMGRP_IPV4_IFADDR;
2925         [CCode (cheader_filename = "linux/rtnetlink.h")]
2926         public const int RTMGRP_IPV4_MROUTE;
2927         [CCode (cheader_filename = "linux/rtnetlink.h")]
2928         public const int RTMGRP_IPV4_ROUTE;
2929         [CCode (cheader_filename = "linux/rtnetlink.h")]
2930         public const int RTMGRP_IPV4_RULE;
2931         [CCode (cheader_filename = "linux/rtnetlink.h")]
2932         public const int RTMGRP_IPV6_IFADDR;
2933         [CCode (cheader_filename = "linux/rtnetlink.h")]
2934         public const int RTMGRP_IPV6_MROUTE;
2935         [CCode (cheader_filename = "linux/rtnetlink.h")]
2936         public const int RTMGRP_IPV6_ROUTE;
2937         [CCode (cheader_filename = "linux/rtnetlink.h")]
2938         public const int RTMGRP_IPV6_IFINFO;
2939         [CCode (cheader_filename = "linux/rtnetlink.h")]
2940         public const int RTMGRP_DECnet_IFADDR;
2941         [CCode (cheader_filename = "linux/rtnetlink.h")]
2942         public const int RTMGRP_DECnet_ROUTE;
2943         [CCode (cheader_filename = "linux/rtnetlink.h")]
2944         public const int RTMGRP_IPV6_PREFIX;
2946         // rtnetlink multicast groups ( 1 << group )
2947         [CCode (cheader_filename = "linux/rtnetlink.h")]
2948         public const int RTNLGRP_NONE;
2949         [CCode (cheader_filename = "linux/rtnetlink.h")]
2950         public const int RTNLGRP_LINK;
2951         [CCode (cheader_filename = "linux/rtnetlink.h")]
2952         public const int RTNLGRP_NOTIFY;
2953         [CCode (cheader_filename = "linux/rtnetlink.h")]
2954         public const int RTNLGRP_NEIGH;
2955         [CCode (cheader_filename = "linux/rtnetlink.h")]
2956         public const int RTNLGRP_TC;
2957         [CCode (cheader_filename = "linux/rtnetlink.h")]
2958         public const int RTNLGRP_IPV4_IFADDR;
2959         [CCode (cheader_filename = "linux/rtnetlink.h")]
2960         public const int RTNLGRP_IPV4_MROUTE;
2961         [CCode (cheader_filename = "linux/rtnetlink.h")]
2962         public const int RTNLGRP_IPV4_ROUTE;
2963         [CCode (cheader_filename = "linux/rtnetlink.h")]
2964         public const int RTNLGRP_IPV4_RULE;
2965         [CCode (cheader_filename = "linux/rtnetlink.h")]
2966         public const int RTNLGRP_IPV6_IFADDR;
2967         [CCode (cheader_filename = "linux/rtnetlink.h")]
2968         public const int RTNLGRP_IPV6_MROUTE;
2969         [CCode (cheader_filename = "linux/rtnetlink.h")]
2970         public const int RTNLGRP_IPV6_ROUTE;
2971         [CCode (cheader_filename = "linux/rtnetlink.h")]
2972         public const int RTNLGRP_IPV6_IFINFO;
2973         [CCode (cheader_filename = "linux/rtnetlink.h")]
2974         public const int RTNLGRP_DECnet_IFADDR;
2975         [CCode (cheader_filename = "linux/rtnetlink.h")]
2976         public const int RTNLGRP_NOP2;
2977         [CCode (cheader_filename = "linux/rtnetlink.h")]
2978         public const int RTNLGRP_DECnet_ROUTE;
2979         [CCode (cheader_filename = "linux/rtnetlink.h")]
2980         public const int RTNLGRP_DECnet_RULE;
2981         [CCode (cheader_filename = "linux/rtnetlink.h")]
2982         public const int RTNLGRP_NOP4;
2983         [CCode (cheader_filename = "linux/rtnetlink.h")]
2984         public const int RTNLGRP_IPV6_PREFIX;
2985         [CCode (cheader_filename = "linux/rtnetlink.h")]
2986         public const int RTNLGRP_IPV6_RULE;
2987         [CCode (cheader_filename = "linux/rtnetlink.h")]
2988         public const int RTNLGRP_ND_USEROPT;
2989         [CCode (cheader_filename = "linux/rtnetlink.h")]
2990         public const int RTNLGRP_PHONET_IFADDR;
2991         [CCode (cheader_filename = "linux/rtnetlink.h")]
2992         public const int RTNLGRP_PHONET_ROUTE;
2994         /* rtnetlink action macros, we bind them as functions for convenience */
2995         [CCode (cheader_filename = "linux/rtnetlink.h")]
2996         public void RTA_ALIGN (int len);
2997         [CCode (cheader_filename = "linux/rtnetlink.h")]
2998         public int RTA_HDRLEN ();
2999         [CCode (cheader_filename = "linux/rtnetlink.h")]
3000         public int RTA_LENGTH (int len);
3001         [CCode (cheader_filename = "linux/rtnetlink.h")]
3002         public void RTA_SPACE (int len);
3003         [CCode (cheader_filename = "linux/rtnetlink.h")]
3004         public void* RTA_DATA (RtAttr* rta);
3005         [CCode (cheader_filename = "linux/rtnetlink.h")]
3006         public RtAttr* RTA_NEXT (RtAttr* rta, int len);
3007         [CCode (cheader_filename = "linux/rtnetlink.h")]
3008         public bool RTA_OK (RtAttr* rta, int len);
3009         [CCode (cheader_filename = "linux/rtnetlink.h")]
3010         public void* RTA_PAYLOAD (RtAttr* rta, int len);
3012         /*
3013         [CCode (cheader_filename = "sys/socket.h", sentinel = "")]
3014         public int bind (int sockfd, SockAddrNl addr, ulong length);
3015         */
3017         // rtnetlink info message
3018         [CCode (cname = "struct ifinfomsg", cheader_filename = "linux/rtnetlink.h", destroy_function = "")]
3019         public struct IfInfoMsg {
3020             public uchar ifi_family;
3021             public uchar __ifi_pad;
3022             public ushort ifi_type;
3023             public int ifi_index;
3024             public uint32 ifi_flags;
3025             public uint32 ifi_change;
3026         }
3028         // rtnetlink attribute
3029         [CCode (cname = "struct rtattr", cheader_filename = "linux/rtnetlink.h", destroy_function = "")]
3030         public struct RtAttr {
3031             public ushort rta_len;
3032             public ushort rta_type;
3033         }
3035         // rtnetlink routing / discovery messages
3036         [CCode (cprefix = "RTM_", cheader_filename = "linux/rtnetlink.h")]
3037         public enum RtMessageType {
3038             NEWLINK,
3039             DELLINK,
3040             GETLINK,
3041             SETLINK,
3042             NEWADDR,
3043             DELADDR,
3044             GETADDR,
3045             NEWROUTE,
3046             DELROUTE,
3047             GETROUTE,
3048             NEWNEIGH,
3049             DELNEIGH,
3050             GETNEIGH,
3051             NEWRULE,
3052             DELRULE,
3053             GETRULE,
3054             NEWQDISC,
3055             DELQDISC,
3056             GETQDISC,
3057             NEWTCLASS,
3058             DELTCLASS,
3059             GETTCLASS,
3060             NEWTFILTER,
3061             DELTFILTER,
3062             GETTFILTER,
3063             NEWACTION,
3064             DELACTION,
3065             GETACTION,
3066             NEWPREFIX,
3067             GETMULTICAST,
3068             GETANYCAST,
3069             NEWNEIGHTBL,
3070             GETNEIGHTBL,
3071             SETNEIGHTBL,
3072         }
3073     }
3075     /*
3076      * Real time clock subsystem
3077      */
3079     [CCode (cprefix = "", lower_case_cprefix = "")]
3080     namespace Rtc {
3082         [CCode (cname = "struct rtc_wkalrm", cheader_filename = "linux/rtc.h")]
3083         public struct WakeAlarm {
3084             public char enabled;
3085             public char pending;
3086             public Posix.tm time;
3087         }
3089         [CCode (cheader_filename = "linux/rtc.h,sys/ioctl.h")]
3090         public const int RTC_RD_TIME;
3091         [CCode (cheader_filename = "linux/rtc.h,sys/ioctl.h")]
3092         public const int RTC_SET_TIME;
3093         [CCode (cheader_filename = "linux/rtc.h,sys/ioctl.h")]
3094         public const int RTC_WKALM_RD;
3095         [CCode (cheader_filename = "linux/rtc.h,sys/ioctl.h")]
3096         public const int RTC_WKALM_SET;
3097     }
3099     /*
3100      * Socket extensions (non-posix)
3101      */
3102     [CCode (cprefix = "", lower_case_cprefix = "")]
3103     namespace Socket {
3104         [CCode (cheader_filename = "sys/socket.h")]
3105         public const int AF_NETLINK;
3106         [CCode (cheader_filename = "sys/socket.h")]
3107         public const int AF_PHONET;
3108         [CCode (cheader_filename = "sys/socket.h")]
3109         public const int AF_UNSPEC;
3110         [CCode (cheader_filename = "sys/socket.h")]
3111         public const int SOCK_NONBLOCK;
3112         [CCode (cheader_filename = "sys/socket.h")]
3113         public const int SOCK_CLOEXEC;
3115         [CCode (cname = "struct ucred", cheader_filename = "linux/socket.h", destroy_function = "")]
3116         public struct ucred {
3117             public uint32 pid;
3118             public uint32 uid;
3119             public uint32 gid;
3120         }
3122         /* setsockopt(2) level constants */
3123         [CCode (cheader_filename = "linux/socket.h")]
3124         public const int SOL_IP;
3125         [CCode (cheader_filename = "linux/socket.h")]
3126         public const int SOL_TCP;
3127         [CCode (cheader_filename = "linux/socket.h")]
3128         public const int SOL_UDP;
3129         [CCode (cheader_filename = "linux/socket.h")]
3130         public const int SOL_IPV6;
3131         [CCode (cheader_filename = "linux/socket.h")]
3132         public const int SOL_ICMPV6;
3133         [CCode (cheader_filename = "linux/socket.h")]
3134         public const int SOL_SCTP;
3135         [CCode (cheader_filename = "linux/socket.h")]
3136         public const int SOL_UDPLITE;
3137         [CCode (cheader_filename = "linux/socket.h")]
3138         public const int SOL_RAW;
3139         [CCode (cheader_filename = "linux/socket.h")]
3140         public const int SOL_IPX;
3141         [CCode (cheader_filename = "linux/socket.h")]
3142         public const int SOL_AX25;
3143         [CCode (cheader_filename = "linux/socket.h")]
3144         public const int SOL_ATALK;
3145         [CCode (cheader_filename = "linux/socket.h")]
3146         public const int SOL_NETROM;
3147         [CCode (cheader_filename = "linux/socket.h")]
3148         public const int SOL_ROSE;
3149         [CCode (cheader_filename = "linux/socket.h")]
3150         public const int SOL_DECNET;
3151         [CCode (cheader_filename = "linux/socket.h")]
3152         public const int SOL_X25;
3153         [CCode (cheader_filename = "linux/socket.h")]
3154         public const int SOL_PACKET;
3155         [CCode (cheader_filename = "linux/socket.h")]
3156         public const int SOL_ATM;
3157         [CCode (cheader_filename = "linux/socket.h")]
3158         public const int SOL_AAL;
3159         [CCode (cheader_filename = "linux/socket.h")]
3160         public const int SOL_IRDA;
3161         [CCode (cheader_filename = "linux/socket.h")]
3162         public const int SOL_NETBEUI;
3163         [CCode (cheader_filename = "linux/socket.h")]
3164         public const int SOL_LLC;
3165         [CCode (cheader_filename = "linux/socket.h")]
3166         public const int SOL_DCCP;
3167         [CCode (cheader_filename = "linux/socket.h")]
3168         public const int SOL_NETLINK;
3169         [CCode (cheader_filename = "linux/socket.h")]
3170         public const int SOL_TIPC;
3171         [CCode (cheader_filename = "linux/socket.h")]
3172         public const int SOL_RXRPC;
3173         [CCode (cheader_filename = "linux/socket.h")]
3174         public const int SOL_PPPOL2TP;
3175         [CCode (cheader_filename = "linux/socket.h")]
3176         public const int SOL_BLUETOOTH;
3177         [CCode (cheader_filename = "linux/socket.h")]
3178         public const int SOL_PNPIPE;
3179         [CCode (cheader_filename = "linux/socket.h")]
3180         public const int SOL_RDS;
3181         [CCode (cheader_filename = "linux/socket.h")]
3182         public const int SOL_IUCV;
3183     }
3185     /*
3186      * Terminal input/output
3187      */
3188     [CCode (cprefix = "", lower_case_cprefix = "")]
3189     namespace Termios {
3191         /*
3192          * non-posix functions
3193          */
3194         [CCode (cheader_filename = "stdlib.h")]
3195         public int ptsname_r (int fd, char[] buf);
3197         /*
3198          * non-posix flags
3199          */
3200         [CCode (cheader_filename = "termios.h")]
3201         public const int OLCUC;
3203         /*
3204          * non-posix constants
3205          */
3207         // flow control
3208         [CCode (cheader_filename = "termios.h")]
3209         public const int CRTSCTS;
3210         // v24 modem lines
3211         [CCode (cheader_filename = "termios.h")]
3212         public const int TIOCM_LE;
3213         [CCode (cheader_filename = "termios.h")]
3214         public const int TIOCM_DTR;
3215         [CCode (cheader_filename = "termios.h")]
3216         public const int TIOCM_RTS;
3217         [CCode (cheader_filename = "termios.h")]
3218         public const int TIOCM_ST;
3219         [CCode (cheader_filename = "termios.h")]
3220         public const int TIOCM_SR;
3221         [CCode (cheader_filename = "termios.h")]
3222         public const int TIOCM_CTS;
3223         [CCode (cheader_filename = "termios.h")]
3224         public const int TIOCM_CARM;
3225         [CCode (cheader_filename = "termios.h")]
3226         public const int TIOCM_RNG;
3227         [CCode (cheader_filename = "termios.h")]
3228         public const int TIOCM_DSR;
3229         [CCode (cheader_filename = "termios.h")]
3230         [CCode (cheader_filename = "termios.h")]
3231         public const int TIOCM_OUT1;
3232         [CCode (cheader_filename = "termios.h")]
3233         public const int TIOCM_OUT2;
3234         [CCode (cheader_filename = "termios.h")]
3235         public const int TIOCM_LOOP;
3236         // baud rates
3237         [CCode (cheader_filename = "termios.h")]
3238         public const int B460800;
3239         [CCode (cheader_filename = "termios.h")]
3240         public const int B500000;
3241         [CCode (cheader_filename = "termios.h")]
3242         public const int B576000;
3243         [CCode (cheader_filename = "termios.h")]
3244         public const int B921600;
3245         [CCode (cheader_filename = "termios.h")]
3246         public const int B1000000;
3247         [CCode (cheader_filename = "termios.h")]
3248         public const int B1152000;
3249         [CCode (cheader_filename = "termios.h")]
3250         public const int B1500000;
3251         [CCode (cheader_filename = "termios.h")]
3252         public const int B2000000;
3253         [CCode (cheader_filename = "termios.h")]
3254         public const int B2500000;
3255         [CCode (cheader_filename = "termios.h")]
3256         public const int B3000000;
3257         [CCode (cheader_filename = "termios.h")]
3258         public const int B3500000;
3259         [CCode (cheader_filename = "termios.h")]
3260         public const int B4000000;
3263         /*
3264          * ioctls
3265          */
3266         [CCode (cheader_filename = "sys/ioctl.h")]
3267         public const int TCGETS;
3268         [CCode (cheader_filename = "sys/ioctl.h")]
3269         public const int TCSETS;
3270         [CCode (cheader_filename = "sys/ioctl.h")]
3271         public const int TCSETSW;
3272         [CCode (cheader_filename = "sys/ioctl.h")]
3273         public const int TCSETSF;
3274         [CCode (cheader_filename = "sys/ioctl.h")]
3275         public const int TCGETA;
3276         [CCode (cheader_filename = "sys/ioctl.h")]
3277         public const int TCSETA;
3278         [CCode (cheader_filename = "sys/ioctl.h")]
3279         public const int TCSETAW;
3280         [CCode (cheader_filename = "sys/ioctl.h")]
3281         public const int TCSETAF;
3282         [CCode (cheader_filename = "sys/ioctl.h")]
3283         public const int TCSBRK;
3284         [CCode (cheader_filename = "sys/ioctl.h")]
3285         public const int TCXONC;
3286         [CCode (cheader_filename = "sys/ioctl.h")]
3287         public const int TCFLSH;
3288         [CCode (cheader_filename = "sys/ioctl.h")]
3289         public const int TIOCEXCL;
3290         [CCode (cheader_filename = "sys/ioctl.h")]
3291         public const int TIOCNXCL;
3292         [CCode (cheader_filename = "sys/ioctl.h")]
3293         public const int TIOCSCTTY;
3294         [CCode (cheader_filename = "sys/ioctl.h")]
3295         public const int TIOCGPGRP;
3296         [CCode (cheader_filename = "sys/ioctl.h")]
3297         public const int TIOCSPGRP;
3298         [CCode (cheader_filename = "sys/ioctl.h")]
3299         public const int TIOCOUTQ;
3300         [CCode (cheader_filename = "sys/ioctl.h")]
3301         public const int TIOCSTI;
3302         [CCode (cheader_filename = "sys/ioctl.h")]
3303         public const int TIOCGWINSZ;
3304         [CCode (cheader_filename = "sys/ioctl.h")]
3305         public const int TIOCSWINSZ;
3306         [CCode (cheader_filename = "sys/ioctl.h")]
3307         public const int TIOCMGET;
3308         [CCode (cheader_filename = "sys/ioctl.h")]
3309         public const int TIOCMBIS;
3310         [CCode (cheader_filename = "sys/ioctl.h")]
3311         public const int TIOCMBIC;
3312         [CCode (cheader_filename = "sys/ioctl.h")]
3313         public const int TIOCMSET;
3314         [CCode (cheader_filename = "sys/ioctl.h")]
3315         public const int TIOCGSOFTCAR;
3316         [CCode (cheader_filename = "sys/ioctl.h")]
3317         public const int TIOCSSOFTCAR;
3318         [CCode (cheader_filename = "sys/ioctl.h")]
3319         public const int FIONREAD;
3320         [CCode (cheader_filename = "sys/ioctl.h")]
3321         public const int TIOCINQ;
3322         [CCode (cheader_filename = "sys/ioctl.h")]
3323         public const int TIOCLINUX;
3324         [CCode (cheader_filename = "sys/ioctl.h")]
3325         public const int TIOCCONS;
3326         [CCode (cheader_filename = "sys/ioctl.h")]
3327         public const int TIOCGSERIAL;
3328         [CCode (cheader_filename = "sys/ioctl.h")]
3329         public const int TIOCSSERIAL;
3330         [CCode (cheader_filename = "sys/ioctl.h")]
3331         public const int TIOCPKT;
3332         [CCode (cheader_filename = "sys/ioctl.h")]
3333         public const int FIONBIO;
3334         [CCode (cheader_filename = "sys/ioctl.h")]
3335         public const int TIOCNOTTY;
3336         [CCode (cheader_filename = "sys/ioctl.h")]
3337         public const int TIOCSETD;
3338         [CCode (cheader_filename = "sys/ioctl.h")]
3339         public const int TIOCGETD;
3340         [CCode (cheader_filename = "sys/ioctl.h")]
3341         public const int TCSBRKP;
3342         [CCode (cheader_filename = "sys/ioctl.h")]
3343         public const int TIOCSBRK;
3344         [CCode (cheader_filename = "sys/ioctl.h")]
3345         public const int TIOCCBRK;
3346         [CCode (cheader_filename = "sys/ioctl.h")]
3347         public const int TIOCGSID;
3348         [CCode (cheader_filename = "sys/ioctl.h")]
3349         public const int TCGETS2;
3350         [CCode (cheader_filename = "sys/ioctl.h")]
3351         public const int TCSETS2;
3352         [CCode (cheader_filename = "sys/ioctl.h")]
3353         public const int TCSETSW2;
3354         [CCode (cheader_filename = "sys/ioctl.h")]
3355         public const int TCSETSF2;
3356         [CCode (cheader_filename = "sys/ioctl.h")]
3357         public const int TIOCGRS485;
3358         [CCode (cheader_filename = "sys/ioctl.h")]
3359         public const int TIOCSRS485;
3360         [CCode (cheader_filename = "sys/ioctl.h")]
3361         public const int TIOCGPTN;
3362         [CCode (cheader_filename = "sys/ioctl.h")]
3363         public const int TIOCSPTLCK;
3364         [CCode (cheader_filename = "sys/ioctl.h")]
3365         public const int TCGETX;
3366         [CCode (cheader_filename = "sys/ioctl.h")]
3367         public const int TCSETX;
3368         [CCode (cheader_filename = "sys/ioctl.h")]
3369         public const int TCSETXF;
3370         [CCode (cheader_filename = "sys/ioctl.h")]
3371         public const int TCSETXW;
3373         [CCode (cheader_filename = "sys/ioctl.h")]
3374         public const int FIONCLEX;
3375         [CCode (cheader_filename = "sys/ioctl.h")]
3376         public const int FIOCLEX;
3377         [CCode (cheader_filename = "sys/ioctl.h")]
3378         public const int FIOASYNC;
3379         [CCode (cheader_filename = "sys/ioctl.h")]
3380         public const int TIOCSERCONFIG;
3381         [CCode (cheader_filename = "sys/ioctl.h")]
3382         public const int TIOCSERGWILD;
3383         [CCode (cheader_filename = "sys/ioctl.h")]
3384         public const int TIOCSERSWILD;
3385         [CCode (cheader_filename = "sys/ioctl.h")]
3386         public const int TIOCGLCKTRMIOS;
3387         [CCode (cheader_filename = "sys/ioctl.h")]
3388         public const int TIOCSLCKTRMIOS;
3389         [CCode (cheader_filename = "sys/ioctl.h")]
3390         public const int TIOCSERGSTRUCT;
3391         [CCode (cheader_filename = "sys/ioctl.h")]
3392         public const int TIOCSERGETLSR;
3393         [CCode (cheader_filename = "sys/ioctl.h")]
3394         public const int TIOCSERGETMULTI;
3395         [CCode (cheader_filename = "sys/ioctl.h")]
3396         public const int TIOCSERSETMULTI;
3398         [CCode (cheader_filename = "sys/ioctl.h")]
3399         public const int TIOCMIWAIT;
3400         [CCode (cheader_filename = "sys/ioctl.h")]
3401         public const int TIOCGICOUNT;
3402         [CCode (cheader_filename = "sys/ioctl.h")]
3403         public const int TIOCGHAYESESP;
3404         [CCode (cheader_filename = "sys/ioctl.h")]
3405         public const int TIOCSHAYESESP;
3406         [CCode (cheader_filename = "sys/ioctl.h")]
3407         public const int FIOQSIZE;
3409         [CCode (cheader_filename = "sys/ioctl.h")]
3410         public const int TIOCPKT_DATA;
3411         [CCode (cheader_filename = "sys/ioctl.h")]
3412         public const int TIOCPKT_FLUSHREAD;
3413         [CCode (cheader_filename = "sys/ioctl.h")]
3414         public const int TIOCPKT_FLUSHWRITE;
3415         [CCode (cheader_filename = "sys/ioctl.h")]
3416         public const int TIOCPKT_STOP;
3417         [CCode (cheader_filename = "sys/ioctl.h")]
3418         public const int TIOCPKT_START;
3419         [CCode (cheader_filename = "sys/ioctl.h")]
3420         public const int TIOCPKT_NOSTOP;
3421         [CCode (cheader_filename = "sys/ioctl.h")]
3422         public const int TIOCPKT_DOSTOP;
3424         [CCode (cheader_filename = "sys/ioctl.h")]
3425         public const int TIOCSER_TEMT;
3426     }
3428     /*
3429      * Virtual Terminal
3430      */
3431     [CCode (cprefix = "", lower_case_cprefix = "")]
3432     namespace VirtualTerminal {
3434         /* constants */
3436         [CCode (cheader_filename = "linux/vt.h")]
3437         public const int MIN_NR_CONSOLES;
3438         [CCode (cheader_filename = "linux/vt.h")]
3439         public const int MAX_NR_CONSOLES;
3440         [CCode (cheader_filename = "linux/vt.h")]
3441         public const int MAX_NR_USER_CONSOLES;
3442         [CCode (cheader_filename = "linux/vt.h")]
3443         public const int VT_OPENQRY;
3444         [CCode (cheader_filename = "linux/vt.h")]
3445         public const int VT_GETMODE;
3446         [CCode (cheader_filename = "linux/vt.h")]
3447         public const int VT_SETMODE;
3448         [CCode (cheader_filename = "linux/vt.h")]
3449         public const int VT_AUTO;
3450         [CCode (cheader_filename = "linux/vt.h")]
3451         public const int VT_PROCESS;
3452         [CCode (cheader_filename = "linux/vt.h")]
3453         public const int VT_ACKACQ;
3454         [CCode (cheader_filename = "linux/vt.h")]
3455         public const int VT_GETSTATE;
3456         [CCode (cheader_filename = "linux/vt.h")]
3457         public const int VT_SENDSIG;
3458         [CCode (cheader_filename = "linux/vt.h")]
3459         public const int VT_RELDISP;
3460         [CCode (cheader_filename = "linux/vt.h")]
3461         public const int VT_ACTIVATE;
3462         [CCode (cheader_filename = "linux/vt.h")]
3463         public const int VT_WAITACTIVE;
3464         [CCode (cheader_filename = "linux/vt.h")]
3465         public const int VT_DISALLOCATE;
3466         [CCode (cheader_filename = "linux/vt.h")]
3467         public const int VT_RESIZE;
3468         [CCode (cheader_filename = "linux/vt.h")]
3469         public const int VT_RESIZEX;
3470         [CCode (cheader_filename = "linux/vt.h")]
3471         public const int VT_LOCKSWITCH;
3472         [CCode (cheader_filename = "linux/vt.h")]
3473         public const int VT_UNLOCKSWITCH;
3474         [CCode (cheader_filename = "linux/vt.h")]
3475         public const int VT_GETHIFONTMASK;
3477         /* structs */
3479         [CCode (cname = "struct vt_mode", cheader_filename = "linux/vt.h")]
3480         public struct Mode {
3481             public char mode;
3482             public char waitv;
3483             public int16 relsig;
3484             public int16 acqsig;
3485             public int16 frsig;
3486         }
3488         [CCode (cname = "struct vt_stat", cheader_filename = "linux/vt.h")]
3489         public struct Stat {
3490             public uint16 v_active;
3491             public uint16 v_signal;
3492             public uint16 v_state;
3493         }
3495         [CCode (cname = "struct vt_sizes", cheader_filename = "linux/vt.h")]
3496         public struct Sizes {
3497             public uint16 v_rows;
3498             public uint16 v_cols;
3499             public uint16 v_scrollsize;
3500         }
3502         [CCode (cname = "struct vt_consize", cheader_filename = "linux/vt.h")]
3503         public struct Consize {
3504             public uint16 v_rows;
3505             public uint16 v_cols;
3506             public uint16 v_vlin;
3507             public uint16 v_clin;
3508             public uint16 v_vcol;
3509             public uint16 v_ccol;
3510         }
3511     }
3513     /*
3514      * Wireless Extensions (WEXT) Infrastructure
3515      */
3516     [CCode (cprefix = "", lower_case_cprefix = "")]
3517     namespace WirelessExtensions {
3519         /* structs */
3520         // TBD
3522         /* constants */
3523         // TBD
3525         /* ioctls */
3526         [CCode (cheader_filename = "linux/wireless.h")]
3527         public const int SIOCSIWCOMMIT;
3528         [CCode (cheader_filename = "linux/wireless.h")]
3529         public const int SIOCGIWNAME;
3530         [CCode (cheader_filename = "linux/wireless.h")]
3531         public const int SIOCSIWNWID;
3532         [CCode (cheader_filename = "linux/wireless.h")]
3533         public const int SIOCGIWNWID;
3534         [CCode (cheader_filename = "linux/wireless.h")]
3535         public const int SIOCSIWFREQ;
3536         [CCode (cheader_filename = "linux/wireless.h")]
3537         public const int SIOCGIWFREQ;
3538         [CCode (cheader_filename = "linux/wireless.h")]
3539         public const int SIOCSIWMODE;
3540         [CCode (cheader_filename = "linux/wireless.h")]
3541         public const int SIOCGIWMODE;
3542         [CCode (cheader_filename = "linux/wireless.h")]
3543         public const int SIOCSIWSENS;
3544         [CCode (cheader_filename = "linux/wireless.h")]
3545         public const int SIOCGIWSENS;
3546         [CCode (cheader_filename = "linux/wireless.h")]
3547         public const int SIOCSIWRANGE;
3548         [CCode (cheader_filename = "linux/wireless.h")]
3549         public const int SIOCGIWRANGE;
3550         [CCode (cheader_filename = "linux/wireless.h")]
3551         public const int SIOCSIWPRIV;
3552         [CCode (cheader_filename = "linux/wireless.h")]
3553         public const int SIOCGIWPRIV;
3554         [CCode (cheader_filename = "linux/wireless.h")]
3555         public const int SIOCSIWSTATS;
3556         [CCode (cheader_filename = "linux/wireless.h")]
3557         public const int SIOCGIWSTATS;
3558         [CCode (cheader_filename = "linux/wireless.h")]
3559         public const int SIOCSIWSPY;
3560         [CCode (cheader_filename = "linux/wireless.h")]
3561         public const int SIOCGIWSPY;
3562         [CCode (cheader_filename = "linux/wireless.h")]
3563         public const int SIOCSIWTHRSPY;
3564         [CCode (cheader_filename = "linux/wireless.h")]
3565         public const int SIOCGIWTHRSPY;
3566         [CCode (cheader_filename = "linux/wireless.h")]
3567         public const int SIOCSIWAP;
3568         [CCode (cheader_filename = "linux/wireless.h")]
3569         public const int SIOCGIWAP;
3570         [CCode (cheader_filename = "linux/wireless.h")]
3571         public const int SIOCGIWAPLIST;
3572         [CCode (cheader_filename = "linux/wireless.h")]
3573         public const int SIOCSIWSCAN;
3574         [CCode (cheader_filename = "linux/wireless.h")]
3575         public const int SIOCGIWSCAN;
3576         [CCode (cheader_filename = "linux/wireless.h")]
3577         public const int SIOCSIWESSID;
3578         [CCode (cheader_filename = "linux/wireless.h")]
3579         public const int SIOCGIWESSID;
3580         [CCode (cheader_filename = "linux/wireless.h")]
3581         public const int SIOCSIWNICKN;
3582         [CCode (cheader_filename = "linux/wireless.h")]
3583         public const int SIOCGIWNICKN;
3584         [CCode (cheader_filename = "linux/wireless.h")]
3585         public const int SIOCSIWRATE;
3586         [CCode (cheader_filename = "linux/wireless.h")]
3587         public const int SIOCGIWRATE;
3588         [CCode (cheader_filename = "linux/wireless.h")]
3589         public const int SIOCSIWRTS;
3590         [CCode (cheader_filename = "linux/wireless.h")]
3591         public const int SIOCGIWRTS;
3592         [CCode (cheader_filename = "linux/wireless.h")]
3593         public const int SIOCSIWFRAG;
3594         [CCode (cheader_filename = "linux/wireless.h")]
3595         public const int SIOCGIWFRAG;
3596         [CCode (cheader_filename = "linux/wireless.h")]
3597         public const int SIOCSIWTXPOW;
3598         [CCode (cheader_filename = "linux/wireless.h")]
3599         public const int SIOCGIWTXPOW;
3600         [CCode (cheader_filename = "linux/wireless.h")]
3601         public const int SIOCSIWRETRY;
3602         [CCode (cheader_filename = "linux/wireless.h")]
3603         public const int SIOCGIWRETRY;
3604         [CCode (cheader_filename = "linux/wireless.h")]
3605         public const int SIOCSIWENCODE;
3606         [CCode (cheader_filename = "linux/wireless.h")]
3607         public const int SIOCGIWENCODE;
3608         [CCode (cheader_filename = "linux/wireless.h")]
3609         public const int SIOCSIWPOWER;
3610         [CCode (cheader_filename = "linux/wireless.h")]
3611         public const int SIOCGIWPOWER;
3612         [CCode (cheader_filename = "linux/wireless.h")]
3613         public const int SIOCSIWGENIE;
3614         [CCode (cheader_filename = "linux/wireless.h")]
3615         public const int SIOCGIWGENIE;
3616         [CCode (cheader_filename = "linux/wireless.h")]
3617         public const int SIOCSIWMLME;
3618         [CCode (cheader_filename = "linux/wireless.h")]
3619         public const int SIOCSIWAUTH;
3620         [CCode (cheader_filename = "linux/wireless.h")]
3621         public const int SIOCGIWAUTH;
3622         [CCode (cheader_filename = "linux/wireless.h")]
3623         public const int SIOCSIWENCODEEXT;
3624         [CCode (cheader_filename = "linux/wireless.h")]
3625         public const int SIOCGIWENCODEEXT;
3626         [CCode (cheader_filename = "linux/wireless.h")]
3627         public const int SIOCSIWPMKSA;
3628         [CCode (cheader_filename = "linux/wireless.h")]
3629         public const int SIOCIWFIRSTPRIV;
3630         [CCode (cheader_filename = "linux/wireless.h")]
3631         public const int SIOCIWLASTPRIV;
3632     }