codegen: Use get_local_cvalue to unref local variables
[vala-lang.git] / vapi / linux.vapi
blob981060ede33fdff8454c12003c46a47df9e0516a
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      * Framebuffer
300      */
301     [CCode (cprefix = "", lower_case_cprefix = "")]
302     namespace Framebuffer {
304         /* ioctls */
305         [CCode (cheader_filename = "linux/fb.h")]
306         public const int FBIOGET_VSCREENINFO;
307         [CCode (cheader_filename = "linux/fb.h")]
308         public const int FBIOPUT_VSCREENINFO;
309         [CCode (cheader_filename = "linux/fb.h")]
310         public const int FBIOGET_FSCREENINFO;
311         [CCode (cheader_filename = "linux/fb.h")]
312         public const int FBIOGETCMAP;
313         [CCode (cheader_filename = "linux/fb.h")]
314         public const int FBIOPUTCMAP;
315         [CCode (cheader_filename = "linux/fb.h")]
316         public const int FBIOPAN_DISPLAY;
317         [CCode (cheader_filename = "linux/fb.h")]
318         public const int FBIO_CURSOR;
319         [CCode (cheader_filename = "linux/fb.h")]
320         public const int FBIOGET_MONITORSPEC;
321         [CCode (cheader_filename = "linux/fb.h")]
322         public const int FBIOPUT_MONITORSPEC;
323         [CCode (cheader_filename = "linux/fb.h")]
324         public const int FBIOSWITCH_MONIBIT;
325         [CCode (cheader_filename = "linux/fb.h")]
326         public const int FBIOGET_CON2FBMAP;
327         [CCode (cheader_filename = "linux/fb.h")]
328         public const int FBIOPUT_CON2FBMAP;
329         [CCode (cheader_filename = "linux/fb.h")]
330         public const int FBIOBLANK;
331         [CCode (cheader_filename = "linux/fb.h")]
332         public const int FBIOGET_VBLANK;
333         [CCode (cheader_filename = "linux/fb.h")]
334         public const int FBIO_ALLOC;
335         [CCode (cheader_filename = "linux/fb.h")]
336         public const int FBIO_FREE;
337         [CCode (cheader_filename = "linux/fb.h")]
338         public const int FBIOGET_GLYPH;
339         [CCode (cheader_filename = "linux/fb.h")]
340         public const int FBIOGET_HWCINFO;
341         [CCode (cheader_filename = "linux/fb.h")]
342         public const int FBIOPUT_MODEINFO;
343         [CCode (cheader_filename = "linux/fb.h")]
344         public const int FBIOGET_DISPINFO;
346         /* enums */
348         [CCode (cname = "guint32", cprefix = "FB_TYPE_", has_type_id = false, cheader_filename = "linux/fb.h")]
349         public enum Type {
350             PACKED_PIXELS,
351             PLANES,
352             INTERLEAVED_PLANES,
353             TEXT,
354             VGA_PLANES
355         }
357         [CCode (cname = "guint32", cprefix = "FB_ACTIVATE_", has_type_id = false, cheader_filename = "linux/fb.h")]
358         public enum Activate {
359             NOW,
360             NXTOPEN,
361             TEST,
362             MASK,
363             VBL,
364             [CCode (cname = "FB_CHANGE_CMAP_VBL")]
365             CHANGE_CMAP_VBL,
366             ALL,
367             FORCE,
368             INV_MODE
369         }
371         [CCode (cname = "guint32", cprefix = "FB_ACCEL_", has_type_id = false, cheader_filename = "linux/fb.h")]
372         public enum Accel {
373             NONE
374         }
376         [CCode (cname = "guint32", cprefix = "FB_AUX_", has_type_id = false, cheader_filename = "linux/fb.h")]
377         public enum Aux {
378              TEXT_MDA,
379              TEXT_CGA,
380              TEXT_S3_MMIO,
381              TEXT_MGA_STEP16,
382              TEXT_MGA_STEP8,
383              TEXT_SVGA_GROUP,
384              TEXT_SVGA_MASK,
385              TEXT_SVGA_STEP2,
386              TEXT_SVGA_STEP4,
387              TEXT_SVGA_STEP8,
388              TEXT_SVGA_STEP16,
389              TEXT_SVGA_LAST,
390              VGA_PLANES_VGA4,
391              VGA_PLANES_CFB4,
392              VGA_PLANES_CFB8
393         }
395         [CCode (cprefix = "FB_BLANK_", has_type_id = false, cheader_filename = "linux/fb.h")]
396         public enum Blank {
397             UNBLANK,
398             NORMAL,
399             VSYNC_SUSPEND,
400             HSYNC_SUSPEND,
401             POWERDOWN
402         }
404         [CCode (cprefix = "FB_CUR_", has_type_id = false, cheader_filename = "linux/fb.h")]
405         public enum Cur {
406             SETIMAGE,
407             SETPOS,
408             SETHOT,
409             SETCMAP,
410             SETSHAPE,
411             SETSIZE,
412             SETALL
413         }
415         [CCode (cname = "guint32", cprefix = "ROP_", has_type_id = false, cheader_filename = "linux/fb.h")]
416         public enum Rop {
417             COPY,
418             XOR
419         }
421         [CCode (cprefix = "FB_ROTATE_", has_type_id = false, cheader_filename = "linux/fb.h")]
422         public enum Rotate {
423             UR,
424             CW,
425             UD,
426             CCW
427         }
429         [CCode (cname = "guint32", cprefix = "FB_SYNC_", has_type_id = false, cheader_filename = "linux/fb.h")]
430         public enum Sync {
431             HOR_HIGH_ACT,
432             VERT_HIGH_ACT,
433             EXT,
434             COMP_HIGH_ACT,
435             BROADCAST,
436             ON_GREEN
437         }
439         [CCode (cname = "guint32", cprefix = "FB_VISUAL_", has_type_id = false, cheader_filename = "linux/fb.h")]
440         public enum Visual {
441             MONO01,
442             MONO10,
443             TRUECOLOR,
444             PSEUDOCOLOR,
445             DIRECTCOLOR,
446             STATIC_PSEUDOCOLOR
447         }
449         [CCode (cname = "guint32", cprefix = "FB_VMODE_", has_type_id = false, cheader_filename = "linux/fb.h")]
450         public enum Vmode {
451             NONINTERLACED,
452             INTERLACED,
453             DOUBLE,
454             ODD_FLD_FIRST,
455             MASK,
456             YWRAP,
457             SMOOTH_XPAN,
458             CONUPDATE
459         }
461         /* structures */
463         [CCode (cname = "struct fb_bitfield", cheader_filename = "linux/fb.h")]
464         public struct BitField {
465             public uint32 offset;
466             public uint32 length;
467             public uint32 msb_right;
468         }
470         [CCode (cname = "struct fb_cmap", cheader_filename = "linux/fb.h")]
471         public struct Cmap {
472             public uint32 start;
473             public uint32 len;
474             public uint16* red;
475             public uint16* green;
476             public uint16* blue;
477             public uint16* transp;
478         }
480         [CCode (cname = "struct fb_con2fbmap", cheader_filename = "linux/fb.h")]
481         public struct Con2FbMap {
482             public uint32 console;
483             public uint32 framebuffer;
484         }
486         [CCode (cname = "struct fbcurpos", cheader_filename = "linux/fb.h")]
487         public struct CurPos {
488             public uint16 x;
489             public uint16 y;
490         }
492         [CCode (cname = "struct fb_cursor", cheader_filename = "linux/fb.h")]
493         public struct Cursor {
494             public uint16 set;
495             public uint16 enable;
496             public uint16 rop;
497             string mask;
498             public CurPos hot;
499             public Image image;
500         }
502         [CCode (cname = "struct fb_copyarea", cheader_filename = "linux/fb.h")]
503         public struct CopyArea {
504             public uint32 dx;
505             public uint32 dy;
506             public uint32 width;
507             public uint32 height;
508             public uint32 sx;
509             public uint32 sy;
510         }
512         [CCode (cname = "struct fb_fillrect", cheader_filename = "linux/fb.h")]
513         public struct FillRect {
514             public uint32 dx;
515             public uint32 dy;
516             public uint32 width;
517             public uint32 height;
518             public uint32 color;
519             public Rop rop;
520         }
522         [CCode (cname = "struct fb_image", cheader_filename = "linux/fb.h")]
523         public struct Image {
524             public uint32 dx;
525             public uint32 dy;
526             public uint32 width;
527             public uint32 height;
528             public uint32 fg_color;
529             public uint32 bg_color;
530             public uint8 depth;
531             public char* data;
532             public Cmap cmap;
533         }
535         [CCode (cname = "struct fb_fix_screeninfo", cheader_filename = "linux/fb.h")]
536         public struct FixScreenInfo {
537             public char id[16];
538             public long smem_start;
539             public uint32 smem_len;
540             public Type type;
541             public Aux type_aux;
542             public Visual visual;
543             public uint16 xpanstep;
544             public uint16 ypanstep;
545             public uint16 ywrapstep;
546             public uint32 line_length;
547             public long mmio_start;
548             public uint32 mmio_len;
549             public Accel accel;
550         }
552         [CCode (cname = "struct fb_var_screeninfo", cheader_filename = "linux/fb.h")]
553         public struct VarScreenInfo {
554             public uint32 xres;
555             public uint32 yres;
556             public uint32 xres_virtual;
557             public uint32 yres_virtual;
558             public uint32 xoffset;
559             public uint32 yoffset;
560             public uint32 bits_per_pixel;
561             public uint32 grayscale;
562             public BitField red;
563             public BitField green;
564             public BitField blue;
565             public BitField transp;
566             public uint32 nonstd;
567             public Activate activate;
568             public uint32 height;
569             public uint32 width;
570             public uint32 pixclock;
571             public uint32 left_margin;
572             public uint32 right_margin;
573             public uint32 upper_margin;
574             public uint32 lower_margin;
575             public uint32 hsync_len;
576             public uint32 vsync_len;
577             public Sync sync;
578             public Vmode vmode;
579             public uint32 rotate;
580         }
582         [CCode (cname = "struct fb_vblank", cheader_filename = "linux/fb.h")]
583         public struct Vblank {
584             public uint32 flags;
585             public uint32 count;
586             public uint32 vcount;
587             public uint32 hcount;
588         }
589     }
591     /*
592      * Inotify
593      */
594     [CCode (cname = "struct inotify_event", cheader_filename = "sys/inotify.h")]
595     public struct InotifyEvent {
596         public int wd;
597         public uint32 mask;
598         public uint32 cookie;
599         public uint32 len;
600         public string name;
601     }
603     [CCode (cprefix = "IN_", cheader_filename = "sys/inotify.h")]
604     public enum InotifyFlags {
605         CLOEXEC,
606         NONBLOCK
607     }
609     [CCode (cname = "int", cprefix = "IN_", cheader_filename = "sys/inotify.h")]
610     public enum InotifyMaskFlags {
611         ACCESS,
612         ATTRIB,
613         CLOSE,
614         CLOSE_WRITE,
615         CLOSE_NOWRITE,
616         CREATE,
617         DELETE,
618         DELETE_SELF,
619         MODIFY,
620         MOVE,
621         MOVE_SELF,
622         MOVED_FROM,
623         MOVED_TO,
624         OPEN,
625         DONT_FOLLOW,
626         MASK_ADD,
627         ONESHOT,
628         ONLYDIR,
629         IGNORED,
630         ISDIR,
631         Q_OVERFLOW,
632         UNMOUNT
633     }
635     [CCode (cname = "inotify_init1", cheader_filename = "sys/inotify.h")]
636     public int inotify_init (InotifyFlags flags = 0);
637     public int inotify_add_watch (int fd, string pathname, InotifyMaskFlags mask);
638     public int inotify_rm_watch (int fd, int wd);
640     /*
641      * RfKill
642      */
643     [CCode (cname = "struct rfkill_event", cheader_filename = "linux/rfkill.h")]
644     public struct RfKillEvent {
645         public uint32 idx;
646         public RfKillType type;
647         public RfKillOp op;
648         public uint8 soft;
649         public uint8 hard;
650     }
652     [CCode (cname = "guint8", cprefix = "RFKILL_OP_", cheader_filename = "linux/rfkill.h")]
653     public enum RfKillOp {
654         ADD,
655         DEL,
656         CHANGE,
657         CHANGE_ALL
658     }
660     [CCode (cname = "guint8", cprefix = "RFKILL_STATE_", cheader_filename = "linux/rfkill.h")]
661     public enum RfKillState {
662         SOFT_BLOCKED,
663         UNBLOCKED,
664         HARD_BLOCKED
665     }
667     [CCode (cname = "guint8", cprefix = "RFKILL_TYPE_", cheader_filename = "linux/rfkill.h")]
668     public enum RfKillType {
669         ALL,
670         WLAN,
671         BLUETOOTH,
672         UWB,
673         WIMAX,
674         WWAN
675     }
677     /*
678      * SignalFd
679      */
680     [CCode (cprefix = "SFD_", cheader_filename = "sys/signalfd.h")]
681     public enum SignalFdFlags {
682         CLOEXEC,
683         NONBLOCK
684     }
686     [CCode (cheader_filename = "sys/signalfd.h")]
687     public int signalfd (int fd, Posix.sigset_t mask, SignalFdFlags flags = 0);
689     /*
690      * Misc non-posix additions
691      */
692     [CCode (cheader_filename = "dirent.h")]
693     public enum DirEntType {
694         DT_UNKNOWN,
695         DT_FIFO,
696         DT_CHR,
697         DT_DIR,
698         DT_BLK,
699         DT_REG,
700         DT_LNK,
701         DT_SOCK,
702         DT_WHT
703     }
705     [CCode (cheader_filename = "execinfo.h")]
706     public int backtrace (void* buffer, int size);
708     [CCode (cheader_filename = "execinfo.h")]
709     [CCode (array_length = false)]
710     public string[] backtrace_symbols (void* buffer, int size);
712     [CCode (cheader_filename = "execinfo.h")]
713     public void backtrace_symbols_fd (void* buffer, int size, int fd);
715     [CCode (cheader_filename = "unistd.h")]
716     public int sethostname (string name, size_t len);
718     // additional sysconf(3) constants
719     [CCode (cheader_filename = "unistd.h")]
720     public const int _SC_PHYS_PAGES;
721     [CCode (cheader_filename = "unistd.h")]
722     public const int _SC_AVPHYS_PAGES;
723     [CCode (cheader_filename = "unistd.h")]
724     public const int _SC_NPROCESSORS_CONF;
725     [CCode (cheader_filename = "unistd.h")]
726     public const int _SC_NPROCESSORS_ONLN;
728     [CCode (cheader_filename = "arpa/inet.h")]
729     public int inet_aton (string cp, out Posix.InAddr addr);
731     [CCode (cheader_filename = "sys/ioctl.h", sentinel = "")]
732     public int ioctl (int fd, int request, ...);
734     [CCode (cname = "unsigned long int", cprefix = "MS_", cheader_filename = "sys/mount.h,linux/fs.h")]
735     public enum MountFlags {
736         RDONLY,
737         NOSUID,
738         NODEV,
739         NOEXEC,
740         SYNCHRONOUS,
741         REMOUNT,
742         MANDLOCK,
743         DIRSYNC,
744         NOATIME,
745         NODIRATIME,
746         BIND,
747         MOVE,
748         REC,
749         SILENT,
750         POSIXACL,
751         UNBINDABLE,
752         PRIVATE,
753         SLAVE,
754         SHARED,
755         RELATIME,
756         KERNMOUNT,
757         I_VERSION,
758         STRICTATIME,
759         BORN,
760         ACTIVE,
761         NOUSER
762     }
764     [CCode (cname = "int", cprefix = "MNT_", cheader_filename = "sys/mount.h")]
765     public enum UnmountFlags {
766         FORCE,                /* Force unmounting.  */
767         DETACH,               /* Just detach from the tree.  */
768         EXPIRE                /* Mark for expiry.  */
769     }
771     [CCode (cheader_filename = "sys/mount.h")]
772     public int mount (string source, string target, string filesystemtype, MountFlags flags = 0, string options = "");
773     [CCode (cheader_filename = "sys/mount.h")]
774     public int umount (string target);
775     [CCode (cheader_filename = "sys/mount.h")]
776     public int umount2 (string target, UnmountFlags flags);
778     [CCode (cname = "struct winsize", cheader_filename = "termios.h", destroy_function = "")]
779     public struct winsize {
780         public ushort ws_row;
781         public ushort ws_col;
782         public ushort ws_xpixel;
783         public ushort ws_ypixel;
784     }
786     [CCode (cheader_filename = "pty.h")]
787     public Posix.pid_t forkpty (out int amaster,
788                                 out int aslave,
789                                 [CCode (array_length=false, array_null_terminated=true)] char[] name,
790                                 Posix.termios? termp,
791                                 winsize? winp);
793     [CCode (cheader_filename = "pty.h")]
794     public int openpty (out int amaster,
795                         out int aslave,
796                         [CCode (array_length=false, array_null_terminated=true)] char[] name,
797                         Posix.termios? termp,
798                         winsize? winp);
800     [CCode (cprefix = "RB_", cheader_filename = "unistd.h,sys/reboot.h")]
801     public enum RebootCommands {
802          AUTOBOOT,
803          HALT_SYSTEM,
804          ENABLE_CAD,
805          DISABLE_CAD,
806          POWER_OFF
807     }
809     [CCode (cheader_filename = "unistd.h,sys/reboot.h")]
810     public int reboot (RebootCommands cmd);
812     [CCode (cprefix = "CLONE_", cheader_filename = "sched.h")]
813     public enum CloneFlags {
814         FILES,
815         FS,
816         NEWNS
817     }
819     [CCode (cheader_filename = "sched.h")]
820     public int unshare (CloneFlags flags);
822     [CCode (cheader_filename = "sys/time.h")]
823     public int adjtime (Posix.timeval delta, Posix.timeval? olddelta = null);
825     // adjtimex(2)
826     [CCode (cprefix = "ADJ_", cheader_filename = "sys/timex.h")]
827     public enum AdjustModes {
828         OFFSET,
829         FREQUENCY,
830         MAXERROR,
831         ESTERROR,
832         STATUS,
833         TIMECONST,
834         TICK,
835         OFFSET_SINGLESHOT
836     }
838     [CCode (cheader_filename = "sys/timex.h")]
839     public const int TIME_OK;
840     [CCode (cheader_filename = "sys/timex.h")]
841     public const int TIME_INS;
842     [CCode (cheader_filename = "sys/timex.h")]
843     public const int TIME_DEL;
844     [CCode (cheader_filename = "sys/timex.h")]
845     public const int TIME_OOP;
846     [CCode (cheader_filename = "sys/timex.h")]
847     public const int TIME_WAIT;
848     [CCode (cheader_filename = "sys/timex.h")]
849     public const int TIME_BAD;
851     // adjtimex(2)
852     [CCode (cname = "struct timex", cheader_filename = "sys/timex.h")]
853     public struct timex {
854         public AdjustModes modes;   /* mode selector */
855         public long offset;         /* time offset (usec) */
856         public long freq;           /* frequency offset (scaled ppm) */
857         public long maxerror;       /* maximum error (usec) */
858         public long esterror;       /* estimated error (usec) */
859         public int status;          /* clock command/status */
860         public long constant;       /* pll time constant */
861         public long precision;      /* clock precision (usec) (read-only) */
862         public long tolerance;      /* clock frequency tolerance (ppm) (read-only) */
863         public Posix.timeval time;  /* current time (read-only) */
864         public long tick;           /* usecs between clock ticks */
865     }
867     [CCode (cheader_filename = "sys/timex.h")]
868     public int adjtimex (Linux.timex buf);
870     [CCode (cheader_filename = "time.h")]
871     public time_t timegm (GLib.Time t);
873     [CCode (cheader_filename = "utmp.h")]
874     public int login_tty (int fd);
876     // emulate gettid(2) for which no glib wrapper exists via syscall
877     public Posix.pid_t gettid() {
878         return (Posix.pid_t) syscall( SysCall.gettid );
879     }
881     // syscall(2)
882     [CCode (cprefix = "SYS_", cname = "int")]
883     public enum SysCall {
884         gettid
885     }
887     [CCode (cname = "syscall", cheader_filename = "unistd.h,sys/syscall.h")]
888     public int syscall (int number, ...);
890     // mremap(2)
891     [CCode (cprefix = "MREMAP_", cheader_filename = "sys/mman.h")]
892     public enum MremapFlags {
893         MAYMOVE,
894         FIXED
895     }
897     [CCode (cheader_filename = "sys/mman.h")]
898     public void *mremap (void *old_address, size_t old_size, size_t new_size, MremapFlags flags);
900     /*
901      * Network
902      */
903     [CCode (cprefix = "", lower_case_cprefix = "")]
904     namespace Network {
906         // interface consts, structs, and methods
907         [CCode (cheader_filename = "net/if.h")]
908         public const int IF_NAMESIZ;
910         [CCode (cheader_filename = "net/if.h")]
911         public uint if_nametoindex (string ifname);
912         [CCode (cheader_filename = "net/if.h")]
913         public unowned string if_indextoname (uint ifindex, string ifname);
914         [CCode (cheader_filename = "net/if.h")]
915         public IfNameindex if_nameindex ();
917         [CCode (cname = "int", cprefix = "IFF_", cheader_filename = "linux/if.h")]
918         public enum IfFlag {
919             UP,
920             BROADCAST,
921             DEBUG,
922             LOOPBACK,
923             POINTOPOINT,
924             NOTRAILERS,
925             RUNNING,
926             NOARP,
927             PROMISC,
928             ALLMULTI,
929             MASTER,
930             SLAVE,
931             PORTSEL,
932             AUTOMEDIA,
933             DYNAMIC
934         }
936         [CCode (cname = "struct if_nameindex", cheader_filename = "linux/if.h", destroy_function = "if_freenameindex")]
937         public struct IfNameindex {
938             public uint if_index;
939             public string if_name;
940         }
942         [CCode (cname = "struct ifmap", cheader_filename = "linux/if.h", destroy_function = "")]
943         public struct IfMap {
944             public ulong mem_start;
945             public ulong mem_end;
946             public short base_addr;
947             public uchar irq;
948             public uchar dma;
949             public uchar port;
950         }
952         [CCode (cname = "struct ifreq", cheader_filename = "linux/if.h", destroy_function = "")]
953         public struct IfReq {
954             public char[] ifr_name;
955             public Posix.SockAddr ifr_addr;
956             public Posix.SockAddr ifr_dstaddr;
957             public Posix.SockAddr ifr_broadaddr;
958             public Posix.SockAddr ifr_netmask;
959             public Posix.SockAddr ifr_hwaddr;
960             public short ifr_flags;
961             public int ifr_metric;
962             public int ifr_mtu;
963             public IfMap ifr_map;
964             public char[] ifr_slave;
965             public string ifr_data;
966             public int ifr_ifindex;
967             public int ifr_bandwidth;
968             public int ifr_qlen;
969             public char[] ifr_newname;
970         }
972         [CCode (cname = "struct ifconf", cheader_filename = "linux/if.h", destroy_function = "")]
973         public struct IfConf {
974             public int ifc_len;
975             public string ifc_buf;
976             public IfReq ifc_req;
977         }
979         [CCode (cname = "struct ifaddrmsg", cheader_filename = "linux/if_addr.h", destroy_function = "")]
980         public struct IfAddrMsg {
981             public uint8 ifa_family;
982             public uint8 ifa_prefixlen;
983             public uint8 ifa_flags;
984             public uint8 ifa_scope;
985             public uint32 ifa_index;
986         }
988         [CCode (cprefix = "IFA_", cheader_filename = "linux/if_addr.h")]
989         enum IfAddrType {
990             UNSPEC,
991             ADDRESS,
992             LOCAL,
993             LABEL,
994             BROADCAST,
995             ANYCAST,
996             CACHEINFO,
997             MULTICAST
998         }
1000         [CCode (cheader_filename = "linux/if_addr.h")]
1001         public int IFA_PAYLOAD (Linux.Netlink.NlMsgHdr nlh);
1002         [CCode (cheader_filename = "linux/if_addr.h")]
1003         public Linux.Netlink.RtAttr* IFA_RTA (Linux.Network.IfAddrMsg* msg);
1005         [CCode (cprefix = "ARPHRD_", cheader_filename = "linux/if_arp.h")]
1006         enum IfArpHeaderType {
1007             NETROM,
1008             ETHER,
1009             EETHER,
1010             AX25,
1011             PRONET,
1012             CHAOS,
1013             IEEE802,
1014             ARCNET,
1015             APPLETLK,
1016             DLCI,
1017             ATM,
1018             METRICOM,
1019             IEEE1394,
1020             EUI64,
1021             INFINIBAND,
1022             SLIP,
1023             CSLIP,
1024             SLIP6,
1025             CSLIP6,
1026             RSRVD,
1027             ADAPT,
1028             ROSE,
1029             X25,
1030             HWX25,
1031             CAN,
1032             PPP,
1033             CISCO,
1034             HDLC,
1035             LAPB,
1036             DDCMP,
1037             RAWHDLC,
1038             TUNNEL,
1039             TUNNEL6,
1040             FRAD,
1041             SKIP,
1042             LOOPBACK,
1043             LOCALTLK,
1044             FDDI,
1045             BIF,
1046             SIT,
1047             IPDDP,
1048             IPGRE,
1049             PIMREG,
1050             HIPPI,
1051             ASH,
1052             ECONET,
1053             IRDA,
1054             FCPP,
1055             FCAL,
1056             FCPL,
1057             FCFABRIC,
1058             IEEE802_TR,
1059             IEEE80211,
1060             IEEE80211_PRISM,
1061             IEEE80211_RADIOTAP,
1062             IEEE802154,
1063             PHONET,
1064             PHONET_PIPE,
1065             CAIF,
1066             VOID,
1067             NONE
1068         }
1070         [CCode (cprefix = "ARPOP_", cheader_filename = "linux/if_arp.h")]
1071         enum IfArpOpcode {
1072             REQUEST,
1073             REPLY,
1074             RREQUEST,
1075             RREPLY,
1076             InREQUEST,
1077             InREPLY,
1078             ARPOP_NAK
1079         }
1081         // route consts, structs, and methods
1082         [CCode (cname = "struct rtentry", cheader_filename = "net/route.h", destroy_function = "")]
1083         public struct RtEntry {
1084             public Posix.SockAddr rt_dst;
1085             public Posix.SockAddr rt_gateway;
1086             public Posix.SockAddr rt_genmask;
1087             public RtFlag rt_flags;
1088             public short rt_metric;
1089             public string rt_dev;
1090             public ulong rt_mtu;
1091             public ulong rt_window;
1092             public ushort rt_irtt;
1093         }
1095         [CCode (cname = "ushort", cprefix = "RTF_", cheader_filename = "net/route.h")]
1096         public enum RtFlag {
1097             UP,
1098             GATEWAY,
1099             HOST,
1100             REINSTATE,
1101             DYNAMIC,
1102             MODIFIED,
1103             MTU,
1104             WINDOW,
1105             IRTT,
1106             REJECT,
1107             STATIC,
1108             XRESOLVE,
1109             NOFORWARD,
1110             THROW,
1111             NOPMTUDISC
1112         }
1114         /* ioctls */
1115         [CCode (cheader_filename = "sys/ioctl.h")]
1116         public const int SIOCADDRT;
1117         [CCode (cheader_filename = "sys/ioctl.h")]
1118         public const int SIOCDELRT;
1119         [CCode (cheader_filename = "sys/ioctl.h")]
1120         public const int SIOCRTMSG;
1121         [CCode (cheader_filename = "sys/ioctl.h")]
1122         public const int SIOCGIFNAME;
1123         [CCode (cheader_filename = "sys/ioctl.h")]
1124         public const int SIOCSIFLINK;
1125         [CCode (cheader_filename = "sys/ioctl.h")]
1126         public const int SIOCGIFCONF;
1127         [CCode (cheader_filename = "sys/ioctl.h")]
1128         public const int SIOCGIFFLAGS;
1129         [CCode (cheader_filename = "sys/ioctl.h")]
1130         public const int SIOCSIFFLAGS;
1131         [CCode (cheader_filename = "sys/ioctl.h")]
1132         public const int SIOCGIFADDR;
1133         [CCode (cheader_filename = "sys/ioctl.h")]
1134         public const int SIOCSIFADDR;
1135         [CCode (cheader_filename = "sys/ioctl.h")]
1136         public const int SIOCGIFDSTADDR;
1137         [CCode (cheader_filename = "sys/ioctl.h")]
1138         public const int SIOCSIFDSTADDR;
1139         [CCode (cheader_filename = "sys/ioctl.h")]
1140         public const int SIOCGIFBRDADDR;
1141         [CCode (cheader_filename = "sys/ioctl.h")]
1142         public const int SIOCSIFBRDADDR;
1143         [CCode (cheader_filename = "sys/ioctl.h")]
1144         public const int SIOCGIFNETMASK;
1145         [CCode (cheader_filename = "sys/ioctl.h")]
1146         public const int SIOCSIFNETMASK;
1147         [CCode (cheader_filename = "sys/ioctl.h")]
1148         public const int SIOCGIFMETRIC;
1149         [CCode (cheader_filename = "sys/ioctl.h")]
1150         public const int SIOCSIFMETRIC;
1151         [CCode (cheader_filename = "sys/ioctl.h")]
1152         public const int SIOCGIFMEM;
1153         [CCode (cheader_filename = "sys/ioctl.h")]
1154         public const int SIOCSIFMEM;
1155         [CCode (cheader_filename = "sys/ioctl.h")]
1156         public const int SIOCGIFMTU;
1157         [CCode (cheader_filename = "sys/ioctl.h")]
1158         public const int SIOCSIFMTU;
1159         [CCode (cheader_filename = "sys/ioctl.h")]
1160         public const int SIOCSIFNAME;
1161         [CCode (cheader_filename = "sys/ioctl.h")]
1162         public const int SIOCSIFHWADDR;
1163         [CCode (cheader_filename = "sys/ioctl.h")]
1164         public const int SIOCGIFENCAP;
1165         [CCode (cheader_filename = "sys/ioctl.h")]
1166         public const int SIOCSIFENCAP;
1167         [CCode (cheader_filename = "sys/ioctl.h")]
1168         public const int SIOCGIFHWADDR;
1169         [CCode (cheader_filename = "sys/ioctl.h")]
1170         public const int SIOCGIFSLAVE;
1171         [CCode (cheader_filename = "sys/ioctl.h")]
1172         public const int SIOCSIFSLAVE;
1173         [CCode (cheader_filename = "sys/ioctl.h")]
1174         public const int SIOCADDMULTI;
1175         [CCode (cheader_filename = "sys/ioctl.h")]
1176         public const int SIOCDELMULTI;
1177         [CCode (cheader_filename = "sys/ioctl.h")]
1178         public const int SIOCGIFINDEX;
1179         [CCode (cheader_filename = "sys/ioctl.h")]
1180         public const int SIOCSIFPFLAGS;
1181         [CCode (cheader_filename = "sys/ioctl.h")]
1182         public const int SIOCGIFPFLAGS;
1183         [CCode (cheader_filename = "sys/ioctl.h")]
1184         public const int SIOCDIFADDR;
1185         [CCode (cheader_filename = "sys/ioctl.h")]
1186         public const int SIOCSIFHWBROADCAST;
1187         [CCode (cheader_filename = "sys/ioctl.h")]
1188         public const int SIOCGIFCOUNT;
1189         [CCode (cheader_filename = "sys/ioctl.h")]
1190         public const int SIOCGIFBR;
1191         [CCode (cheader_filename = "sys/ioctl.h")]
1192         public const int SIOCSIFBR;
1193         [CCode (cheader_filename = "sys/ioctl.h")]
1194         public const int SIOCGIFTXQLEN;
1195         [CCode (cheader_filename = "sys/ioctl.h")]
1196         public const int SIOCSIFTXQLEN;
1197         [CCode (cheader_filename = "sys/ioctl.h")]
1198         public const int SIOCDARP;
1199         [CCode (cheader_filename = "sys/ioctl.h")]
1200         public const int SIOCGARP;
1201         [CCode (cheader_filename = "sys/ioctl.h")]
1202         public const int SIOCSARP;
1203         [CCode (cheader_filename = "sys/ioctl.h")]
1204         public const int SIOCDRARP;
1205         [CCode (cheader_filename = "sys/ioctl.h")]
1206         public const int SIOCGRARP;
1207         [CCode (cheader_filename = "sys/ioctl.h")]
1208         public const int SIOCSRARP;
1209         [CCode (cheader_filename = "sys/ioctl.h")]
1210         public const int SIOCGIFMAP;
1211         [CCode (cheader_filename = "sys/ioctl.h")]
1212         public const int SIOCSIFMAP;
1213         [CCode (cheader_filename = "sys/ioctl.h")]
1214         public const int SIOCADDDLCI;
1215         [CCode (cheader_filename = "sys/ioctl.h")]
1216         public const int SIOCDELDLCI;
1217     }
1219     /*
1220      * Input subsystem
1221      */
1222     [CCode (cprefix = "", lower_case_cprefix = "")]
1223     namespace Input {
1225         /*
1226          * subsystem structures
1227          */
1229         [CCode (cname = "struct input_event", cheader_filename = "linux/input.h")]
1230         public struct Event {
1231             public Posix.timeval time;
1232             public uint16 type;
1233             public uint16 code;
1234             public int32 value;
1235         }
1237         [CCode (cname = "struct input_id", cheader_filename = "linux/input.h")]
1238         public struct Id {
1239             public uint16 bustype;
1240             public uint16 vendor;
1241             public uint16 product;
1242             public uint16 version;
1243         }
1245         [CCode (cname = "struct input_absinfo", cheader_filename = "linux/input.h")]
1246         public struct AbsInfo {
1247             public int32 value;
1248             public int32 minimum;
1249             public int32 maximum;
1250             public int32 fuzz;
1251             public int32 flat;
1252         }
1254         /*
1255          * ioctls
1256          */
1258         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1259         public const int EVIOCGVERSION;
1260         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1261         public const int EVIOCGID;
1262         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1263         public const int EVIOCGREP;
1264         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1265         public const int EVIOCSREP;
1266         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1267         public const int EVIOCGKEYCODE;
1268         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1269         public const int EVIOCSKEYCODE;
1271         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1272         public int EVIOCGNAME( uint len );
1273         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1274         public int EVIOCGPHYS( uint len );
1275         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1276         public int EVIOCGUNIQ( uint len );
1278         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1279         public int EVIOCGKEY( uint len );
1280         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1281         public int EVIOCGLED( uint len );
1282         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1283         public int EVIOCGSND( uint len );
1284         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1285         public int EVIOCGSW( uint len );
1287         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1288         public int EVIOCGBIT( uint ev, uint len );
1289         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1290         public int EVIOCGABS( uint abs );
1291         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1292         public int EVIOCSABS( uint abs );
1294         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1295         public const int EVIOCSFF;
1296         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1297         public const int EVIOCRMFF;
1298         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1299         public const int EVIOCGEFFECTS;
1300         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
1301         public const int EVIOCGRAB;
1303         /*
1304          * event types
1305          */
1307         [CCode (cheader_filename = "linux/input.h")]
1308         public const uint16 EV_SYN;
1309         [CCode (cheader_filename = "linux/input.h")]
1310         public const uint16 EV_KEY;
1311         [CCode (cheader_filename = "linux/input.h")]
1312         public const uint16 EV_REL;
1313         [CCode (cheader_filename = "linux/input.h")]
1314         public const uint16 EV_ABS;
1315         [CCode (cheader_filename = "linux/input.h")]
1316         public const uint16 EV_MSC;
1317         [CCode (cheader_filename = "linux/input.h")]
1318         public const uint16 EV_SW;
1319         [CCode (cheader_filename = "linux/input.h")]
1320         public const uint16 EV_LED;
1321         [CCode (cheader_filename = "linux/input.h")]
1322         public const uint16 EV_SND;
1323         [CCode (cheader_filename = "linux/input.h")]
1324         public const uint16 EV_REP;
1325         [CCode (cheader_filename = "linux/input.h")]
1326         public const uint16 EV_FF;
1327         [CCode (cheader_filename = "linux/input.h")]
1328         public const uint16 EV_PWR;
1329         [CCode (cheader_filename = "linux/input.h")]
1330         public const uint16 EV_FF_STATUS;
1331         [CCode (cheader_filename = "linux/input.h")]
1332         public const uint16 EV_MAX;
1334         /*
1335          * synchronization events
1336          */
1338         [CCode (cheader_filename = "linux/input.h")]
1339         public const int SYN_REPORT;
1340         [CCode (cheader_filename = "linux/input.h")]
1341         public const int SYN_CONFIG;
1343         /*
1344          * keys, switches, buttons, etc.
1345          */
1347         [CCode (cheader_filename = "linux/input.h")]
1348         public const int KEY_RESERVED;
1349         [CCode (cheader_filename = "linux/input.h")]
1350         public const int KEY_ESC;
1351         [CCode (cheader_filename = "linux/input.h")]
1352         public const int KEY_1;
1353         [CCode (cheader_filename = "linux/input.h")]
1354         public const int KEY_2;
1355         [CCode (cheader_filename = "linux/input.h")]
1356         public const int KEY_3;
1357         [CCode (cheader_filename = "linux/input.h")]
1358         public const int KEY_4;
1359         [CCode (cheader_filename = "linux/input.h")]
1360         public const int KEY_5;
1361         [CCode (cheader_filename = "linux/input.h")]
1362         public const int KEY_6;
1363         [CCode (cheader_filename = "linux/input.h")]
1364         public const int KEY_7;
1365         [CCode (cheader_filename = "linux/input.h")]
1366         public const int KEY_8;
1367         [CCode (cheader_filename = "linux/input.h")]
1368         public const int KEY_9;
1369         [CCode (cheader_filename = "linux/input.h")]
1370         public const int KEY_0;
1371         [CCode (cheader_filename = "linux/input.h")]
1372         public const int KEY_MINUS;
1373         [CCode (cheader_filename = "linux/input.h")]
1374         public const int KEY_EQUAL;
1375         [CCode (cheader_filename = "linux/input.h")]
1376         public const int KEY_BACKSPACE;
1377         [CCode (cheader_filename = "linux/input.h")]
1378         public const int KEY_TAB;
1379         [CCode (cheader_filename = "linux/input.h")]
1380         public const int KEY_Q;
1381         [CCode (cheader_filename = "linux/input.h")]
1382         public const int KEY_W;
1383         [CCode (cheader_filename = "linux/input.h")]
1384         public const int KEY_E;
1385         [CCode (cheader_filename = "linux/input.h")]
1386         public const int KEY_R;
1387         [CCode (cheader_filename = "linux/input.h")]
1388         public const int KEY_T;
1389         [CCode (cheader_filename = "linux/input.h")]
1390         public const int KEY_Y;
1391         [CCode (cheader_filename = "linux/input.h")]
1392         public const int KEY_U;
1393         [CCode (cheader_filename = "linux/input.h")]
1394         public const int KEY_I;
1395         [CCode (cheader_filename = "linux/input.h")]
1396         public const int KEY_O;
1397         [CCode (cheader_filename = "linux/input.h")]
1398         public const int KEY_P;
1399         [CCode (cheader_filename = "linux/input.h")]
1400         public const int KEY_LEFTBRACE;
1401         [CCode (cheader_filename = "linux/input.h")]
1402         public const int KEY_RIGHTBRACE;
1403         [CCode (cheader_filename = "linux/input.h")]
1404         public const int KEY_ENTER;
1405         [CCode (cheader_filename = "linux/input.h")]
1406         public const int KEY_LEFTCTRL;
1407         [CCode (cheader_filename = "linux/input.h")]
1408         public const int KEY_A;
1409         [CCode (cheader_filename = "linux/input.h")]
1410         public const int KEY_S;
1411         [CCode (cheader_filename = "linux/input.h")]
1412         public const int KEY_D;
1413         [CCode (cheader_filename = "linux/input.h")]
1414         public const int KEY_F;
1415         [CCode (cheader_filename = "linux/input.h")]
1416         public const int KEY_G;
1417         [CCode (cheader_filename = "linux/input.h")]
1418         public const int KEY_H;
1419         [CCode (cheader_filename = "linux/input.h")]
1420         public const int KEY_J;
1421         [CCode (cheader_filename = "linux/input.h")]
1422         public const int KEY_K;
1423         [CCode (cheader_filename = "linux/input.h")]
1424         public const int KEY_L;
1425         [CCode (cheader_filename = "linux/input.h")]
1426         public const int KEY_SEMICOLON;
1427         [CCode (cheader_filename = "linux/input.h")]
1428         public const int KEY_APOSTROPHE;
1429         [CCode (cheader_filename = "linux/input.h")]
1430         public const int KEY_GRAVE;
1431         [CCode (cheader_filename = "linux/input.h")]
1432         public const int KEY_LEFTSHIFT;
1433         [CCode (cheader_filename = "linux/input.h")]
1434         public const int KEY_BACKSLASH;
1435         [CCode (cheader_filename = "linux/input.h")]
1436         public const int KEY_Z;
1437         [CCode (cheader_filename = "linux/input.h")]
1438         public const int KEY_X;
1439         [CCode (cheader_filename = "linux/input.h")]
1440         public const int KEY_C;
1441         [CCode (cheader_filename = "linux/input.h")]
1442         public const int KEY_V;
1443         [CCode (cheader_filename = "linux/input.h")]
1444         public const int KEY_B;
1445         [CCode (cheader_filename = "linux/input.h")]
1446         public const int KEY_N;
1447         [CCode (cheader_filename = "linux/input.h")]
1448         public const int KEY_M;
1449         [CCode (cheader_filename = "linux/input.h")]
1450         public const int KEY_COMMA;
1451         [CCode (cheader_filename = "linux/input.h")]
1452         public const int KEY_DOT;
1453         [CCode (cheader_filename = "linux/input.h")]
1454         public const int KEY_SLASH;
1455         [CCode (cheader_filename = "linux/input.h")]
1456         public const int KEY_RIGHTSHIFT;
1457         [CCode (cheader_filename = "linux/input.h")]
1458         public const int KEY_KPASTERISK;
1459         [CCode (cheader_filename = "linux/input.h")]
1460         public const int KEY_LEFTALT;
1461         [CCode (cheader_filename = "linux/input.h")]
1462         public const int KEY_SPACE;
1463         [CCode (cheader_filename = "linux/input.h")]
1464         public const int KEY_CAPSLOCK;
1465         [CCode (cheader_filename = "linux/input.h")]
1466         public const int KEY_F1;
1467         [CCode (cheader_filename = "linux/input.h")]
1468         public const int KEY_F2;
1469         [CCode (cheader_filename = "linux/input.h")]
1470         public const int KEY_F3;
1471         [CCode (cheader_filename = "linux/input.h")]
1472         public const int KEY_F4;
1473         [CCode (cheader_filename = "linux/input.h")]
1474         public const int KEY_F5;
1475         [CCode (cheader_filename = "linux/input.h")]
1476         public const int KEY_F6;
1477         [CCode (cheader_filename = "linux/input.h")]
1478         public const int KEY_F7;
1479         [CCode (cheader_filename = "linux/input.h")]
1480         public const int KEY_F8;
1481         [CCode (cheader_filename = "linux/input.h")]
1482         public const int KEY_F9;
1483         [CCode (cheader_filename = "linux/input.h")]
1484         public const int KEY_F10;
1485         [CCode (cheader_filename = "linux/input.h")]
1486         public const int KEY_NUMLOCK;
1487         [CCode (cheader_filename = "linux/input.h")]
1488         public const int KEY_SCROLLLOCK;
1489         [CCode (cheader_filename = "linux/input.h")]
1490         public const int KEY_KP7;
1491         [CCode (cheader_filename = "linux/input.h")]
1492         public const int KEY_KP8;
1493         [CCode (cheader_filename = "linux/input.h")]
1494         public const int KEY_KP9;
1495         [CCode (cheader_filename = "linux/input.h")]
1496         public const int KEY_KPMINUS;
1497         [CCode (cheader_filename = "linux/input.h")]
1498         public const int KEY_KP4;
1499         [CCode (cheader_filename = "linux/input.h")]
1500         public const int KEY_KP5;
1501         [CCode (cheader_filename = "linux/input.h")]
1502         public const int KEY_KP6;
1503         [CCode (cheader_filename = "linux/input.h")]
1504         public const int KEY_KPPLUS;
1505         [CCode (cheader_filename = "linux/input.h")]
1506         public const int KEY_KP1;
1507         [CCode (cheader_filename = "linux/input.h")]
1508         public const int KEY_KP2;
1509         [CCode (cheader_filename = "linux/input.h")]
1510         public const int KEY_KP3;
1511         [CCode (cheader_filename = "linux/input.h")]
1512         public const int KEY_KP0;
1513         [CCode (cheader_filename = "linux/input.h")]
1514         public const int KEY_KPDOT;
1516         [CCode (cheader_filename = "linux/input.h")]
1517         public const int KEY_ZENKAKUHANKAKU;
1518         [CCode (cheader_filename = "linux/input.h")]
1519         public const int KEY_102ND;
1520         [CCode (cheader_filename = "linux/input.h")]
1521         public const int KEY_F11;
1522         [CCode (cheader_filename = "linux/input.h")]
1523         public const int KEY_F12;
1524         [CCode (cheader_filename = "linux/input.h")]
1525         public const int KEY_RO;
1526         [CCode (cheader_filename = "linux/input.h")]
1527         public const int KEY_KATAKANA;
1528         [CCode (cheader_filename = "linux/input.h")]
1529         public const int KEY_HIRAGANA;
1530         [CCode (cheader_filename = "linux/input.h")]
1531         public const int KEY_HENKAN;
1532         [CCode (cheader_filename = "linux/input.h")]
1533         public const int KEY_KATAKANAHIRAGANA;
1534         [CCode (cheader_filename = "linux/input.h")]
1535         public const int KEY_MUHENKAN;
1536         [CCode (cheader_filename = "linux/input.h")]
1537         public const int KEY_KPJPCOMMA;
1538         [CCode (cheader_filename = "linux/input.h")]
1539         public const int KEY_KPENTER;
1540         [CCode (cheader_filename = "linux/input.h")]
1541         public const int KEY_RIGHTCTRL;
1542         [CCode (cheader_filename = "linux/input.h")]
1543         public const int KEY_KPSLASH;
1544         [CCode (cheader_filename = "linux/input.h")]
1545         public const int KEY_SYSRQ;
1546         [CCode (cheader_filename = "linux/input.h")]
1547         public const int KEY_RIGHTALT;
1548         [CCode (cheader_filename = "linux/input.h")]
1549         public const int KEY_LINEFEED;
1550         [CCode (cheader_filename = "linux/input.h")]
1551         public const int KEY_HOME;
1552         [CCode (cheader_filename = "linux/input.h")]
1553         public const int KEY_UP;
1554         [CCode (cheader_filename = "linux/input.h")]
1555         public const int KEY_PAGEUP;
1556         [CCode (cheader_filename = "linux/input.h")]
1557         public const int KEY_LEFT;
1558         [CCode (cheader_filename = "linux/input.h")]
1559         public const int KEY_RIGHT;
1560         [CCode (cheader_filename = "linux/input.h")]
1561         public const int KEY_END;
1562         [CCode (cheader_filename = "linux/input.h")]
1563         public const int KEY_DOWN;
1564         [CCode (cheader_filename = "linux/input.h")]
1565         public const int KEY_PAGEDOWN;
1566         [CCode (cheader_filename = "linux/input.h")]
1567         public const int KEY_INSERT;
1568         [CCode (cheader_filename = "linux/input.h")]
1569         public const int KEY_DELETE;
1570         [CCode (cheader_filename = "linux/input.h")]
1571         public const int KEY_MACRO;
1572         [CCode (cheader_filename = "linux/input.h")]
1573         public const int KEY_MUTE;
1574         [CCode (cheader_filename = "linux/input.h")]
1575         public const int KEY_VOLUMEDOWN;
1576         [CCode (cheader_filename = "linux/input.h")]
1577         public const int KEY_VOLUMEUP;
1578         [CCode (cheader_filename = "linux/input.h")]
1579         public const int KEY_POWER;
1580         [CCode (cheader_filename = "linux/input.h")]
1581         public const int KEY_KPEQUAL;
1582         [CCode (cheader_filename = "linux/input.h")]
1583         public const int KEY_KPPLUSMINUS;
1584         [CCode (cheader_filename = "linux/input.h")]
1585         public const int KEY_PAUSE;
1586         [CCode (cheader_filename = "linux/input.h")]
1587         public const int KEY_SCALE;
1589         [CCode (cheader_filename = "linux/input.h")]
1590         public const int KEY_KPCOMMA;
1591         [CCode (cheader_filename = "linux/input.h")]
1592         public const int KEY_HANGEUL;
1593         [CCode (cheader_filename = "linux/input.h")]
1594         public const int KEY_HANGUEL;
1595         [CCode (cheader_filename = "linux/input.h")]
1596         public const int KEY_HANJA;
1597         [CCode (cheader_filename = "linux/input.h")]
1598         public const int KEY_YEN;
1599         [CCode (cheader_filename = "linux/input.h")]
1600         public const int KEY_LEFTMETA;
1601         [CCode (cheader_filename = "linux/input.h")]
1602         public const int KEY_RIGHTMETA;
1603         [CCode (cheader_filename = "linux/input.h")]
1604         public const int KEY_COMPOSE;
1606         [CCode (cheader_filename = "linux/input.h")]
1607         public const int KEY_STOP;
1608         [CCode (cheader_filename = "linux/input.h")]
1609         public const int KEY_AGAIN;
1610         [CCode (cheader_filename = "linux/input.h")]
1611         public const int KEY_PROPS;
1612         [CCode (cheader_filename = "linux/input.h")]
1613         public const int KEY_UNDO;
1614         [CCode (cheader_filename = "linux/input.h")]
1615         public const int KEY_FRONT;
1616         [CCode (cheader_filename = "linux/input.h")]
1617         public const int KEY_COPY;
1618         [CCode (cheader_filename = "linux/input.h")]
1619         public const int KEY_OPEN;
1620         [CCode (cheader_filename = "linux/input.h")]
1621         public const int KEY_PASTE;
1622         [CCode (cheader_filename = "linux/input.h")]
1623         public const int KEY_FIND;
1624         [CCode (cheader_filename = "linux/input.h")]
1625         public const int KEY_CUT;
1626         [CCode (cheader_filename = "linux/input.h")]
1627         public const int KEY_HELP;
1628         [CCode (cheader_filename = "linux/input.h")]
1629         public const int KEY_MENU;
1630         [CCode (cheader_filename = "linux/input.h")]
1631         public const int KEY_CALC;
1632         [CCode (cheader_filename = "linux/input.h")]
1633         public const int KEY_SETUP;
1634         [CCode (cheader_filename = "linux/input.h")]
1635         public const int KEY_SLEEP;
1636         [CCode (cheader_filename = "linux/input.h")]
1637         public const int KEY_WAKEUP;
1638         [CCode (cheader_filename = "linux/input.h")]
1639         public const int KEY_FILE;
1640         [CCode (cheader_filename = "linux/input.h")]
1641         public const int KEY_SENDFILE;
1642         [CCode (cheader_filename = "linux/input.h")]
1643         public const int KEY_DELETEFILE;
1644         [CCode (cheader_filename = "linux/input.h")]
1645         public const int KEY_XFER;
1646         [CCode (cheader_filename = "linux/input.h")]
1647         public const int KEY_PROG1;
1648         [CCode (cheader_filename = "linux/input.h")]
1649         public const int KEY_PROG2;
1650         [CCode (cheader_filename = "linux/input.h")]
1651         public const int KEY_WWW;
1652         [CCode (cheader_filename = "linux/input.h")]
1653         public const int KEY_MSDOS;
1654         [CCode (cheader_filename = "linux/input.h")]
1655         public const int KEY_COFFEE;
1656         [CCode (cheader_filename = "linux/input.h")]
1657         public const int KEY_SCREENLOCK;
1658         [CCode (cheader_filename = "linux/input.h")]
1659         public const int KEY_DIRECTION;
1660         [CCode (cheader_filename = "linux/input.h")]
1661         public const int KEY_CYCLEWINDOWS;
1662         [CCode (cheader_filename = "linux/input.h")]
1663         public const int KEY_MAIL;
1664         [CCode (cheader_filename = "linux/input.h")]
1665         public const int KEY_BOOKMARKS;
1666         [CCode (cheader_filename = "linux/input.h")]
1667         public const int KEY_COMPUTER;
1668         [CCode (cheader_filename = "linux/input.h")]
1669         public const int KEY_BACK;
1670         [CCode (cheader_filename = "linux/input.h")]
1671         public const int KEY_FORWARD;
1672         [CCode (cheader_filename = "linux/input.h")]
1673         public const int KEY_CLOSECD;
1674         [CCode (cheader_filename = "linux/input.h")]
1675         public const int KEY_EJECTCD;
1676         [CCode (cheader_filename = "linux/input.h")]
1677         public const int KEY_EJECTCLOSECD;
1678         [CCode (cheader_filename = "linux/input.h")]
1679         public const int KEY_NEXTSONG;
1680         [CCode (cheader_filename = "linux/input.h")]
1681         public const int KEY_PLAYPAUSE;
1682         [CCode (cheader_filename = "linux/input.h")]
1683         public const int KEY_PREVIOUSSONG;
1684         [CCode (cheader_filename = "linux/input.h")]
1685         public const int KEY_STOPCD;
1686         [CCode (cheader_filename = "linux/input.h")]
1687         public const int KEY_RECORD;
1688         [CCode (cheader_filename = "linux/input.h")]
1689         public const int KEY_REWIND;
1690         [CCode (cheader_filename = "linux/input.h")]
1691         public const int KEY_PHONE;
1692         [CCode (cheader_filename = "linux/input.h")]
1693         public const int KEY_ISO;
1694         [CCode (cheader_filename = "linux/input.h")]
1695         public const int KEY_CONFIG;
1696         [CCode (cheader_filename = "linux/input.h")]
1697         public const int KEY_HOMEPAGE;
1698         [CCode (cheader_filename = "linux/input.h")]
1699         public const int KEY_REFRESH;
1700         [CCode (cheader_filename = "linux/input.h")]
1701         public const int KEY_EXIT;
1702         [CCode (cheader_filename = "linux/input.h")]
1703         public const int KEY_MOVE;
1704         [CCode (cheader_filename = "linux/input.h")]
1705         public const int KEY_EDIT;
1706         [CCode (cheader_filename = "linux/input.h")]
1707         public const int KEY_SCROLLUP;
1708         [CCode (cheader_filename = "linux/input.h")]
1709         public const int KEY_SCROLLDOWN;
1710         [CCode (cheader_filename = "linux/input.h")]
1711         public const int KEY_KPLEFTPAREN;
1712         [CCode (cheader_filename = "linux/input.h")]
1713         public const int KEY_KPRIGHTPAREN;
1714         [CCode (cheader_filename = "linux/input.h")]
1715         public const int KEY_NEW;
1716         [CCode (cheader_filename = "linux/input.h")]
1717         public const int KEY_REDO;
1719         [CCode (cheader_filename = "linux/input.h")]
1720         public const int KEY_F13;
1721         [CCode (cheader_filename = "linux/input.h")]
1722         public const int KEY_F14;
1723         [CCode (cheader_filename = "linux/input.h")]
1724         public const int KEY_F15;
1725         [CCode (cheader_filename = "linux/input.h")]
1726         public const int KEY_F16;
1727         [CCode (cheader_filename = "linux/input.h")]
1728         public const int KEY_F17;
1729         [CCode (cheader_filename = "linux/input.h")]
1730         public const int KEY_F18;
1731         [CCode (cheader_filename = "linux/input.h")]
1732         public const int KEY_F19;
1733         [CCode (cheader_filename = "linux/input.h")]
1734         public const int KEY_F20;
1735         [CCode (cheader_filename = "linux/input.h")]
1736         public const int KEY_F21;
1737         [CCode (cheader_filename = "linux/input.h")]
1738         public const int KEY_F22;
1739         [CCode (cheader_filename = "linux/input.h")]
1740         public const int KEY_F23;
1741         [CCode (cheader_filename = "linux/input.h")]
1742         public const int KEY_F24;
1744         [CCode (cheader_filename = "linux/input.h")]
1745         public const int KEY_PLAYCD;
1746         [CCode (cheader_filename = "linux/input.h")]
1747         public const int KEY_PAUSECD;
1748         [CCode (cheader_filename = "linux/input.h")]
1749         public const int KEY_PROG3;
1750         [CCode (cheader_filename = "linux/input.h")]
1751         public const int KEY_PROG4;
1752         [CCode (cheader_filename = "linux/input.h")]
1753         public const int KEY_DASHBOARD;
1754         [CCode (cheader_filename = "linux/input.h")]
1755         public const int KEY_SUSPEND;
1756         [CCode (cheader_filename = "linux/input.h")]
1757         public const int KEY_CLOSE;
1758         [CCode (cheader_filename = "linux/input.h")]
1759         public const int KEY_PLAY;
1760         [CCode (cheader_filename = "linux/input.h")]
1761         public const int KEY_FASTFORWARD;
1762         [CCode (cheader_filename = "linux/input.h")]
1763         public const int KEY_BASSBOOST;
1764         [CCode (cheader_filename = "linux/input.h")]
1765         public const int KEY_PRINT;
1766         [CCode (cheader_filename = "linux/input.h")]
1767         public const int KEY_HP;
1768         [CCode (cheader_filename = "linux/input.h")]
1769         public const int KEY_CAMERA;
1770         [CCode (cheader_filename = "linux/input.h")]
1771         public const int KEY_SOUND;
1772         [CCode (cheader_filename = "linux/input.h")]
1773         public const int KEY_QUESTION;
1774         [CCode (cheader_filename = "linux/input.h")]
1775         public const int KEY_EMAIL;
1776         [CCode (cheader_filename = "linux/input.h")]
1777         public const int KEY_CHAT;
1778         [CCode (cheader_filename = "linux/input.h")]
1779         public const int KEY_SEARCH;
1780         [CCode (cheader_filename = "linux/input.h")]
1781         public const int KEY_CONNECT;
1782         [CCode (cheader_filename = "linux/input.h")]
1783         public const int KEY_FINANCE;
1784         [CCode (cheader_filename = "linux/input.h")]
1785         public const int KEY_SPORT;
1786         [CCode (cheader_filename = "linux/input.h")]
1787         public const int KEY_SHOP;
1788         [CCode (cheader_filename = "linux/input.h")]
1789         public const int KEY_ALTERASE;
1790         [CCode (cheader_filename = "linux/input.h")]
1791         public const int KEY_CANCEL;
1792         [CCode (cheader_filename = "linux/input.h")]
1793         public const int KEY_BRIGHTNESSDOWN;
1794         [CCode (cheader_filename = "linux/input.h")]
1795         public const int KEY_BRIGHTNESSUP;
1796         [CCode (cheader_filename = "linux/input.h")]
1797         public const int KEY_MEDIA;
1799         [CCode (cheader_filename = "linux/input.h")]
1800         public const int KEY_SWITCHVIDEOMODE;
1801         [CCode (cheader_filename = "linux/input.h")]
1802         public const int KEY_KBDILLUMTOGGLE;
1803         [CCode (cheader_filename = "linux/input.h")]
1804         public const int KEY_KBDILLUMDOWN;
1805         [CCode (cheader_filename = "linux/input.h")]
1806         public const int KEY_KBDILLUMUP;
1808         [CCode (cheader_filename = "linux/input.h")]
1809         public const int KEY_SEND;
1810         [CCode (cheader_filename = "linux/input.h")]
1811         public const int KEY_REPLY;
1812         [CCode (cheader_filename = "linux/input.h")]
1813         public const int KEY_FORWARDMAIL;
1814         [CCode (cheader_filename = "linux/input.h")]
1815         public const int KEY_SAVE;
1816         [CCode (cheader_filename = "linux/input.h")]
1817         public const int KEY_DOCUMENTS;
1819         [CCode (cheader_filename = "linux/input.h")]
1820         public const int KEY_BATTERY;
1822         [CCode (cheader_filename = "linux/input.h")]
1823         public const int KEY_BLUETOOTH;
1824         [CCode (cheader_filename = "linux/input.h")]
1825         public const int KEY_WLAN;
1826         [CCode (cheader_filename = "linux/input.h")]
1827         public const int KEY_UWB;
1829         [CCode (cheader_filename = "linux/input.h")]
1830         public const int KEY_UNKNOWN;
1832         [CCode (cheader_filename = "linux/input.h")]
1833         public const int KEY_VIDEO_NEXT;
1834         [CCode (cheader_filename = "linux/input.h")]
1835         public const int KEY_VIDEO_PREV;
1836         [CCode (cheader_filename = "linux/input.h")]
1837         public const int KEY_BRIGHTNESS_CYCLE;
1838         [CCode (cheader_filename = "linux/input.h")]
1839         public const int KEY_BRIGHTNESS_ZERO;
1840         [CCode (cheader_filename = "linux/input.h")]
1841         public const int KEY_DISPLAY_OFF;
1843         [CCode (cheader_filename = "linux/input.h")]
1844         public const int KEY_WIMAX;
1846         [CCode (cheader_filename = "linux/input.h")]
1847         public const int KEY_MAX;
1849         /* Range 248 - 255 is reserved for special needs of AT keyboard driver */
1851         [CCode (cheader_filename = "linux/input.h")]
1852         public const int BTN_MISC;
1853         [CCode (cheader_filename = "linux/input.h")]
1854         public const int BTN_0;
1855         [CCode (cheader_filename = "linux/input.h")]
1856         public const int BTN_1;
1857         [CCode (cheader_filename = "linux/input.h")]
1858         public const int BTN_2;
1859         [CCode (cheader_filename = "linux/input.h")]
1860         public const int BTN_3;
1861         [CCode (cheader_filename = "linux/input.h")]
1862         public const int BTN_4;
1863         [CCode (cheader_filename = "linux/input.h")]
1864         public const int BTN_5;
1865         [CCode (cheader_filename = "linux/input.h")]
1866         public const int BTN_6;
1867         [CCode (cheader_filename = "linux/input.h")]
1868         public const int BTN_7;
1869         [CCode (cheader_filename = "linux/input.h")]
1870         public const int BTN_8;
1871         [CCode (cheader_filename = "linux/input.h")]
1872         public const int BTN_9;
1874         [CCode (cheader_filename = "linux/input.h")]
1875         public const int BTN_MOUSE;
1876         [CCode (cheader_filename = "linux/input.h")]
1877         public const int BTN_LEFT;
1878         [CCode (cheader_filename = "linux/input.h")]
1879         public const int BTN_RIGHT;
1880         [CCode (cheader_filename = "linux/input.h")]
1881         public const int BTN_MIDDLE;
1882         [CCode (cheader_filename = "linux/input.h")]
1883         public const int BTN_SIDE;
1884         [CCode (cheader_filename = "linux/input.h")]
1885         public const int BTN_EXTRA;
1886         [CCode (cheader_filename = "linux/input.h")]
1887         public const int BTN_FORWARD;
1888         [CCode (cheader_filename = "linux/input.h")]
1889         public const int BTN_BACK;
1890         [CCode (cheader_filename = "linux/input.h")]
1891         public const int BTN_TASK;
1893         [CCode (cheader_filename = "linux/input.h")]
1894         public const int BTN_JOYSTICK;
1895         [CCode (cheader_filename = "linux/input.h")]
1896         public const int BTN_TRIGGER;
1897         [CCode (cheader_filename = "linux/input.h")]
1898         public const int BTN_THUMB;
1899         [CCode (cheader_filename = "linux/input.h")]
1900         public const int BTN_THUMB2;
1901         [CCode (cheader_filename = "linux/input.h")]
1902         public const int BTN_TOP;
1903         [CCode (cheader_filename = "linux/input.h")]
1904         public const int BTN_TOP2;
1905         [CCode (cheader_filename = "linux/input.h")]
1906         public const int BTN_PINKIE;
1907         [CCode (cheader_filename = "linux/input.h")]
1908         public const int BTN_BASE;
1909         [CCode (cheader_filename = "linux/input.h")]
1910         public const int BTN_BASE2;
1911         [CCode (cheader_filename = "linux/input.h")]
1912         public const int BTN_BASE3;
1913         [CCode (cheader_filename = "linux/input.h")]
1914         public const int BTN_BASE4;
1915         [CCode (cheader_filename = "linux/input.h")]
1916         public const int BTN_BASE5;
1917         [CCode (cheader_filename = "linux/input.h")]
1918         public const int BTN_BASE6;
1919         [CCode (cheader_filename = "linux/input.h")]
1920         public const int BTN_DEAD;
1922         [CCode (cheader_filename = "linux/input.h")]
1923         public const int BTN_GAMEPAD;
1924         [CCode (cheader_filename = "linux/input.h")]
1925         public const int BTN_A;
1926         [CCode (cheader_filename = "linux/input.h")]
1927         public const int BTN_B;
1928         [CCode (cheader_filename = "linux/input.h")]
1929         public const int BTN_C;
1930         [CCode (cheader_filename = "linux/input.h")]
1931         public const int BTN_X;
1932         [CCode (cheader_filename = "linux/input.h")]
1933         public const int BTN_Y;
1934         [CCode (cheader_filename = "linux/input.h")]
1935         public const int BTN_Z;
1936         [CCode (cheader_filename = "linux/input.h")]
1937         public const int BTN_TL;
1938         [CCode (cheader_filename = "linux/input.h")]
1939         public const int BTN_TR;
1940         [CCode (cheader_filename = "linux/input.h")]
1941         public const int BTN_TL2;
1942         [CCode (cheader_filename = "linux/input.h")]
1943         public const int BTN_TR2;
1944         [CCode (cheader_filename = "linux/input.h")]
1945         public const int BTN_SELECT;
1946         [CCode (cheader_filename = "linux/input.h")]
1947         public const int BTN_START;
1948         [CCode (cheader_filename = "linux/input.h")]
1949         public const int BTN_MODE;
1950         [CCode (cheader_filename = "linux/input.h")]
1951         public const int BTN_THUMBL;
1952         [CCode (cheader_filename = "linux/input.h")]
1953         public const int BTN_THUMBR;
1955         [CCode (cheader_filename = "linux/input.h")]
1956         public const int BTN_DIGI;
1957         [CCode (cheader_filename = "linux/input.h")]
1958         public const int BTN_TOOL_PEN;
1959         [CCode (cheader_filename = "linux/input.h")]
1960         public const int BTN_TOOL_RUBBER;
1961         [CCode (cheader_filename = "linux/input.h")]
1962         public const int BTN_TOOL_BRUSH;
1963         [CCode (cheader_filename = "linux/input.h")]
1964         public const int BTN_TOOL_PENCIL;
1965         [CCode (cheader_filename = "linux/input.h")]
1966         public const int BTN_TOOL_AIRBRUSH;
1967         [CCode (cheader_filename = "linux/input.h")]
1968         public const int BTN_TOOL_FINGER;
1969         [CCode (cheader_filename = "linux/input.h")]
1970         public const int BTN_TOOL_MOUSE;
1971         [CCode (cheader_filename = "linux/input.h")]
1972         public const int BTN_TOOL_LENS;
1973         [CCode (cheader_filename = "linux/input.h")]
1974         public const int BTN_TOUCH;
1975         [CCode (cheader_filename = "linux/input.h")]
1976         public const int BTN_STYLUS;
1977         [CCode (cheader_filename = "linux/input.h")]
1978         public const int BTN_STYLUS2;
1979         [CCode (cheader_filename = "linux/input.h")]
1980         public const int BTN_TOOL_DOUBLETAP;
1981         [CCode (cheader_filename = "linux/input.h")]
1982         public const int BTN_TOOL_TRIPLETAP;
1984         [CCode (cheader_filename = "linux/input.h")]
1985         public const int BTN_WHEEL;
1986         [CCode (cheader_filename = "linux/input.h")]
1987         public const int BTN_GEAR_DOWN;
1988         [CCode (cheader_filename = "linux/input.h")]
1989         public const int BTN_GEAR_UP;
1991         [CCode (cheader_filename = "linux/input.h")]
1992         public const int KEY_OK;
1993         [CCode (cheader_filename = "linux/input.h")]
1994         public const int KEY_SELECT;
1995         [CCode (cheader_filename = "linux/input.h")]
1996         public const int KEY_GOTO;
1997         [CCode (cheader_filename = "linux/input.h")]
1998         public const int KEY_CLEAR;
1999         [CCode (cheader_filename = "linux/input.h")]
2000         public const int KEY_POWER2;
2001         [CCode (cheader_filename = "linux/input.h")]
2002         public const int KEY_OPTION;
2003         [CCode (cheader_filename = "linux/input.h")]
2004         public const int KEY_INFO;
2005         [CCode (cheader_filename = "linux/input.h")]
2006         public const int KEY_TIME;
2007         [CCode (cheader_filename = "linux/input.h")]
2008         public const int KEY_VENDOR;
2009         [CCode (cheader_filename = "linux/input.h")]
2010         public const int KEY_ARCHIVE;
2011         [CCode (cheader_filename = "linux/input.h")]
2012         public const int KEY_PROGRAM;
2013         [CCode (cheader_filename = "linux/input.h")]
2014         public const int KEY_CHANNEL;
2015         [CCode (cheader_filename = "linux/input.h")]
2016         public const int KEY_FAVORITES;
2017         [CCode (cheader_filename = "linux/input.h")]
2018         public const int KEY_EPG;
2019         [CCode (cheader_filename = "linux/input.h")]
2020         public const int KEY_PVR;
2021         [CCode (cheader_filename = "linux/input.h")]
2022         public const int KEY_MHP;
2023         [CCode (cheader_filename = "linux/input.h")]
2024         public const int KEY_LANGUAGE;
2025         [CCode (cheader_filename = "linux/input.h")]
2026         public const int KEY_TITLE;
2027         [CCode (cheader_filename = "linux/input.h")]
2028         public const int KEY_SUBTITLE;
2029         [CCode (cheader_filename = "linux/input.h")]
2030         public const int KEY_ANGLE;
2031         [CCode (cheader_filename = "linux/input.h")]
2032         public const int KEY_ZOOM;
2033         [CCode (cheader_filename = "linux/input.h")]
2034         public const int KEY_MODE;
2035         [CCode (cheader_filename = "linux/input.h")]
2036         public const int KEY_KEYBOARD;
2037         [CCode (cheader_filename = "linux/input.h")]
2038         public const int KEY_SCREEN;
2039         [CCode (cheader_filename = "linux/input.h")]
2040         public const int KEY_PC;
2041         [CCode (cheader_filename = "linux/input.h")]
2042         public const int KEY_TV;
2043         [CCode (cheader_filename = "linux/input.h")]
2044         public const int KEY_TV2;
2045         [CCode (cheader_filename = "linux/input.h")]
2046         public const int KEY_VCR;
2047         [CCode (cheader_filename = "linux/input.h")]
2048         public const int KEY_VCR2;
2049         [CCode (cheader_filename = "linux/input.h")]
2050         public const int KEY_SAT;
2051         [CCode (cheader_filename = "linux/input.h")]
2052         public const int KEY_SAT2;
2053         [CCode (cheader_filename = "linux/input.h")]
2054         public const int KEY_CD;
2055         [CCode (cheader_filename = "linux/input.h")]
2056         public const int KEY_TAPE;
2057         [CCode (cheader_filename = "linux/input.h")]
2058         public const int KEY_RADIO;
2059         [CCode (cheader_filename = "linux/input.h")]
2060         public const int KEY_TUNER;
2061         [CCode (cheader_filename = "linux/input.h")]
2062         public const int KEY_PLAYER;
2063         [CCode (cheader_filename = "linux/input.h")]
2064         public const int KEY_TEXT;
2065         [CCode (cheader_filename = "linux/input.h")]
2066         public const int KEY_DVD;
2067         [CCode (cheader_filename = "linux/input.h")]
2068         public const int KEY_AUX;
2069         [CCode (cheader_filename = "linux/input.h")]
2070         public const int KEY_MP3;
2071         [CCode (cheader_filename = "linux/input.h")]
2072         public const int KEY_AUDIO;
2073         [CCode (cheader_filename = "linux/input.h")]
2074         public const int KEY_VIDEO;
2075         [CCode (cheader_filename = "linux/input.h")]
2076         public const int KEY_DIRECTORY;
2077         [CCode (cheader_filename = "linux/input.h")]
2078         public const int KEY_LIST;
2079         [CCode (cheader_filename = "linux/input.h")]
2080         public const int KEY_MEMO;
2081         [CCode (cheader_filename = "linux/input.h")]
2082         public const int KEY_CALENDAR;
2083         [CCode (cheader_filename = "linux/input.h")]
2084         public const int KEY_RED;
2085         [CCode (cheader_filename = "linux/input.h")]
2086         public const int KEY_GREEN;
2087         [CCode (cheader_filename = "linux/input.h")]
2088         public const int KEY_YELLOW;
2089         [CCode (cheader_filename = "linux/input.h")]
2090         public const int KEY_BLUE;
2091         [CCode (cheader_filename = "linux/input.h")]
2092         public const int KEY_CHANNELUP;
2093         [CCode (cheader_filename = "linux/input.h")]
2094         public const int KEY_CHANNELDOWN;
2095         [CCode (cheader_filename = "linux/input.h")]
2096         public const int KEY_FIRST;
2097         [CCode (cheader_filename = "linux/input.h")]
2098         public const int KEY_LAST;
2099         [CCode (cheader_filename = "linux/input.h")]
2100         public const int KEY_AB;
2101         [CCode (cheader_filename = "linux/input.h")]
2102         public const int KEY_NEXT;
2103         [CCode (cheader_filename = "linux/input.h")]
2104         public const int KEY_RESTART;
2105         [CCode (cheader_filename = "linux/input.h")]
2106         public const int KEY_SLOW;
2107         [CCode (cheader_filename = "linux/input.h")]
2108         public const int KEY_SHUFFLE;
2109         [CCode (cheader_filename = "linux/input.h")]
2110         public const int KEY_BREAK;
2111         [CCode (cheader_filename = "linux/input.h")]
2112         public const int KEY_PREVIOUS;
2113         [CCode (cheader_filename = "linux/input.h")]
2114         public const int KEY_DIGITS;
2115         [CCode (cheader_filename = "linux/input.h")]
2116         public const int KEY_TEEN;
2117         [CCode (cheader_filename = "linux/input.h")]
2118         public const int KEY_TWEN;
2119         [CCode (cheader_filename = "linux/input.h")]
2120         public const int KEY_VIDEOPHONE;
2121         [CCode (cheader_filename = "linux/input.h")]
2122         public const int KEY_GAMES;
2123         [CCode (cheader_filename = "linux/input.h")]
2124         public const int KEY_ZOOMIN;
2125         [CCode (cheader_filename = "linux/input.h")]
2126         public const int KEY_ZOOMOUT;
2127         [CCode (cheader_filename = "linux/input.h")]
2128         public const int KEY_ZOOMRESET;
2129         [CCode (cheader_filename = "linux/input.h")]
2130         public const int KEY_WORDPROCESSOR;
2131         [CCode (cheader_filename = "linux/input.h")]
2132         public const int KEY_EDITOR;
2133         [CCode (cheader_filename = "linux/input.h")]
2134         public const int KEY_SPREADSHEET;
2135         [CCode (cheader_filename = "linux/input.h")]
2136         public const int KEY_GRAPHICSEDITOR;
2137         [CCode (cheader_filename = "linux/input.h")]
2138         public const int KEY_PRESENTATION;
2139         [CCode (cheader_filename = "linux/input.h")]
2140         public const int KEY_DATABASE;
2141         [CCode (cheader_filename = "linux/input.h")]
2142         public const int KEY_NEWS;
2143         [CCode (cheader_filename = "linux/input.h")]
2144         public const int KEY_VOICEMAIL;
2145         [CCode (cheader_filename = "linux/input.h")]
2146         public const int KEY_ADDRESSBOOK;
2147         [CCode (cheader_filename = "linux/input.h")]
2148         public const int KEY_MESSENGER;
2149         [CCode (cheader_filename = "linux/input.h")]
2150         public const int KEY_DISPLAYTOGGLE;
2151         [CCode (cheader_filename = "linux/input.h")]
2152         public const int KEY_SPELLCHECK;
2153         [CCode (cheader_filename = "linux/input.h")]
2154         public const int KEY_LOGOFF;
2156         [CCode (cheader_filename = "linux/input.h")]
2157         public const int KEY_DOLLAR;
2158         [CCode (cheader_filename = "linux/input.h")]
2159         public const int KEY_EURO;
2161         [CCode (cheader_filename = "linux/input.h")]
2162         public const int KEY_FRAMEBACK;
2163         [CCode (cheader_filename = "linux/input.h")]
2164         public const int KEY_FRAMEFORWARD;
2165         [CCode (cheader_filename = "linux/input.h")]
2166         public const int KEY_CONTEXT_MENU;
2167         [CCode (cheader_filename = "linux/input.h")]
2168         public const int KEY_MEDIA_REPEAT;
2170         [CCode (cheader_filename = "linux/input.h")]
2171         public const int KEY_DEL_EOL;
2172         [CCode (cheader_filename = "linux/input.h")]
2173         public const int KEY_DEL_EOS;
2174         [CCode (cheader_filename = "linux/input.h")]
2175         public const int KEY_INS_LINE;
2176         [CCode (cheader_filename = "linux/input.h")]
2177         public const int KEY_DEL_LINE;
2179         [CCode (cheader_filename = "linux/input.h")]
2180         public const int KEY_FN;
2181         [CCode (cheader_filename = "linux/input.h")]
2182         public const int KEY_FN_ESC;
2183         [CCode (cheader_filename = "linux/input.h")]
2184         public const int KEY_FN_F1;
2185         [CCode (cheader_filename = "linux/input.h")]
2186         public const int KEY_FN_F2;
2187         [CCode (cheader_filename = "linux/input.h")]
2188         public const int KEY_FN_F3;
2189         [CCode (cheader_filename = "linux/input.h")]
2190         public const int KEY_FN_F4;
2191         [CCode (cheader_filename = "linux/input.h")]
2192         public const int KEY_FN_F5;
2193         [CCode (cheader_filename = "linux/input.h")]
2194         public const int KEY_FN_F6;
2195         [CCode (cheader_filename = "linux/input.h")]
2196         public const int KEY_FN_F7;
2197         [CCode (cheader_filename = "linux/input.h")]
2198         public const int KEY_FN_F8;
2199         [CCode (cheader_filename = "linux/input.h")]
2200         public const int KEY_FN_F9;
2201         [CCode (cheader_filename = "linux/input.h")]
2202         public const int KEY_FN_F10;
2203         [CCode (cheader_filename = "linux/input.h")]
2204         public const int KEY_FN_F11;
2205         [CCode (cheader_filename = "linux/input.h")]
2206         public const int KEY_FN_F12;
2207         [CCode (cheader_filename = "linux/input.h")]
2208         public const int KEY_FN_1;
2209         [CCode (cheader_filename = "linux/input.h")]
2210         public const int KEY_FN_2;
2211         [CCode (cheader_filename = "linux/input.h")]
2212         public const int KEY_FN_D;
2213         [CCode (cheader_filename = "linux/input.h")]
2214         public const int KEY_FN_E;
2215         [CCode (cheader_filename = "linux/input.h")]
2216         public const int KEY_FN_F;
2217         [CCode (cheader_filename = "linux/input.h")]
2218         public const int KEY_FN_S;
2219         [CCode (cheader_filename = "linux/input.h")]
2220         public const int KEY_FN_B;
2222         [CCode (cheader_filename = "linux/input.h")]
2223         public const int KEY_BRL_DOT1;
2224         [CCode (cheader_filename = "linux/input.h")]
2225         public const int KEY_BRL_DOT2;
2226         [CCode (cheader_filename = "linux/input.h")]
2227         public const int KEY_BRL_DOT3;
2228         [CCode (cheader_filename = "linux/input.h")]
2229         public const int KEY_BRL_DOT4;
2230         [CCode (cheader_filename = "linux/input.h")]
2231         public const int KEY_BRL_DOT5;
2232         [CCode (cheader_filename = "linux/input.h")]
2233         public const int KEY_BRL_DOT6;
2234         [CCode (cheader_filename = "linux/input.h")]
2235         public const int KEY_BRL_DOT7;
2236         [CCode (cheader_filename = "linux/input.h")]
2237         public const int KEY_BRL_DOT8;
2238         [CCode (cheader_filename = "linux/input.h")]
2239         public const int KEY_BRL_DOT9;
2240         [CCode (cheader_filename = "linux/input.h")]
2241         public const int KEY_BRL_DOT10;
2243         [CCode (cheader_filename = "linux/input.h")]
2244         public const int KEY_NUMERIC_0;
2245         [CCode (cheader_filename = "linux/input.h")]
2246         public const int KEY_NUMERIC_1;
2247         [CCode (cheader_filename = "linux/input.h")]
2248         public const int KEY_NUMERIC_2;
2249         [CCode (cheader_filename = "linux/input.h")]
2250         public const int KEY_NUMERIC_3;
2251         [CCode (cheader_filename = "linux/input.h")]
2252         public const int KEY_NUMERIC_4;
2253         [CCode (cheader_filename = "linux/input.h")]
2254         public const int KEY_NUMERIC_5;
2255         [CCode (cheader_filename = "linux/input.h")]
2256         public const int KEY_NUMERIC_6;
2257         [CCode (cheader_filename = "linux/input.h")]
2258         public const int KEY_NUMERIC_7;
2259         [CCode (cheader_filename = "linux/input.h")]
2260         public const int KEY_NUMERIC_8;
2261         [CCode (cheader_filename = "linux/input.h")]
2262         public const int KEY_NUMERIC_9;
2263         [CCode (cheader_filename = "linux/input.h")]
2264         public const int KEY_NUMERIC_STAR;
2265         [CCode (cheader_filename = "linux/input.h")]
2266         public const int KEY_NUMERIC_POUND;
2268         /*
2269         * Relative axes
2270         */
2272         [CCode (cheader_filename = "linux/input.h")]
2273         public const int REL_X;
2274         [CCode (cheader_filename = "linux/input.h")]
2275         public const int REL_Y;
2276         [CCode (cheader_filename = "linux/input.h")]
2277         public const int REL_Z;
2278         [CCode (cheader_filename = "linux/input.h")]
2279         public const int REL_RX;
2280         [CCode (cheader_filename = "linux/input.h")]
2281         public const int REL_RY;
2282         [CCode (cheader_filename = "linux/input.h")]
2283         public const int REL_RZ;
2284         [CCode (cheader_filename = "linux/input.h")]
2285         public const int REL_HWHEEL;
2286         [CCode (cheader_filename = "linux/input.h")]
2287         public const int REL_DIAL;
2288         [CCode (cheader_filename = "linux/input.h")]
2289         public const int REL_WHEEL;
2290         [CCode (cheader_filename = "linux/input.h")]
2291         public const int REL_MISC;
2292         [CCode (cheader_filename = "linux/input.h")]
2293         public const int REL_MAX;
2295         /*
2296          * Absolute axes
2297          */
2299         [CCode (cheader_filename = "linux/input.h")]
2300         public const int ABS_X;
2301         [CCode (cheader_filename = "linux/input.h")]
2302         public const int ABS_Y;
2303         [CCode (cheader_filename = "linux/input.h")]
2304         public const int ABS_Z;
2305         [CCode (cheader_filename = "linux/input.h")]
2306         public const int ABS_RX;
2307         [CCode (cheader_filename = "linux/input.h")]
2308         public const int ABS_RY;
2309         [CCode (cheader_filename = "linux/input.h")]
2310         public const int ABS_RZ;
2311         [CCode (cheader_filename = "linux/input.h")]
2312         public const int ABS_THROTTLE;
2313         [CCode (cheader_filename = "linux/input.h")]
2314         public const int ABS_RUDDER;
2315         [CCode (cheader_filename = "linux/input.h")]
2316         public const int ABS_WHEEL;
2317         [CCode (cheader_filename = "linux/input.h")]
2318         public const int ABS_GAS;
2319         [CCode (cheader_filename = "linux/input.h")]
2320         public const int ABS_BRAKE;
2321         [CCode (cheader_filename = "linux/input.h")]
2322         public const int ABS_HAT0X;
2323         [CCode (cheader_filename = "linux/input.h")]
2324         public const int ABS_HAT0Y;
2325         [CCode (cheader_filename = "linux/input.h")]
2326         public const int ABS_HAT1X;
2327         [CCode (cheader_filename = "linux/input.h")]
2328         public const int ABS_HAT1Y;
2329         [CCode (cheader_filename = "linux/input.h")]
2330         public const int ABS_HAT2X;
2331         [CCode (cheader_filename = "linux/input.h")]
2332         public const int ABS_HAT2Y;
2333         [CCode (cheader_filename = "linux/input.h")]
2334         public const int ABS_HAT3X;
2335         [CCode (cheader_filename = "linux/input.h")]
2336         public const int ABS_HAT3Y;
2337         [CCode (cheader_filename = "linux/input.h")]
2338         public const int ABS_PRESSURE;
2339         [CCode (cheader_filename = "linux/input.h")]
2340         public const int ABS_DISTANCE;
2341         [CCode (cheader_filename = "linux/input.h")]
2342         public const int ABS_TILT_X;
2343         [CCode (cheader_filename = "linux/input.h")]
2344         public const int ABS_TILT_Y;
2345         [CCode (cheader_filename = "linux/input.h")]
2346         public const int ABS_TOOL_WIDTH;
2347         [CCode (cheader_filename = "linux/input.h")]
2348         public const int ABS_VOLUME;
2349         [CCode (cheader_filename = "linux/input.h")]
2350         public const int ABS_MISC;
2351         [CCode (cheader_filename = "linux/input.h")]
2352         public const int ABS_MAX;
2354         /*
2355          * Switch events
2356          */
2358         [CCode (cheader_filename = "linux/input.h")]
2359         public const int SW_LID;
2360         [CCode (cheader_filename = "linux/input.h")]
2361         public const int SW_TABLET_MODE;
2362         [CCode (cheader_filename = "linux/input.h")]
2363         public const int SW_HEADPHONE_INSERT;
2364         [CCode (cheader_filename = "linux/input.h")]
2365         public const int SW_RFKILL_ALL;
2366         [CCode (cheader_filename = "linux/input.h")]
2367         public const int SW_RADIO;
2368         [CCode (cheader_filename = "linux/input.h")]
2369         public const int SW_MICROPHONE_INSERT;
2370         [CCode (cheader_filename = "linux/input.h")]
2371         public const int SW_DOCK;
2372         [CCode (cheader_filename = "linux/input.h")]
2373         public const int SW_MAX;
2375         /*
2376          * Misc events
2377          */
2379         [CCode (cheader_filename = "linux/input.h")]
2380         public const int MSC_SERIAL;
2381         [CCode (cheader_filename = "linux/input.h")]
2382         public const int MSC_PULSELED;
2383         [CCode (cheader_filename = "linux/input.h")]
2384         public const int MSC_GESTURE;
2385         [CCode (cheader_filename = "linux/input.h")]
2386         public const int MSC_RAW;
2387         [CCode (cheader_filename = "linux/input.h")]
2388         public const int MSC_SCAN;
2389         [CCode (cheader_filename = "linux/input.h")]
2390         public const int MSC_MAX;
2392         /*
2393          * LEDs
2394          */
2396         [CCode (cheader_filename = "linux/input.h")]
2397         public const int LED_NUML;
2398         [CCode (cheader_filename = "linux/input.h")]
2399         public const int LED_CAPSL;
2400         [CCode (cheader_filename = "linux/input.h")]
2401         public const int LED_SCROLLL;
2402         [CCode (cheader_filename = "linux/input.h")]
2403         public const int LED_COMPOSE;
2404         [CCode (cheader_filename = "linux/input.h")]
2405         public const int LED_KANA;
2406         [CCode (cheader_filename = "linux/input.h")]
2407         public const int LED_SLEEP;
2408         [CCode (cheader_filename = "linux/input.h")]
2409         public const int LED_SUSPEND;
2410         [CCode (cheader_filename = "linux/input.h")]
2411         public const int LED_MUTE;
2412         [CCode (cheader_filename = "linux/input.h")]
2413         public const int LED_MISC;
2414         [CCode (cheader_filename = "linux/input.h")]
2415         public const int LED_MAIL;
2416         [CCode (cheader_filename = "linux/input.h")]
2417         public const int LED_CHARGING;
2418         [CCode (cheader_filename = "linux/input.h")]
2419         public const int LED_MAX;
2421         /*
2422          * Autorepeat values
2423          */
2425         [CCode (cheader_filename = "linux/input.h")]
2426         public const int REP_DELAY;
2427         [CCode (cheader_filename = "linux/input.h")]
2428         public const int REP_PERIOD;
2429         [CCode (cheader_filename = "linux/input.h")]
2430         public const int REP_MAX;
2432         /*
2433          * Sounds
2434          */
2436         [CCode (cheader_filename = "linux/input.h")]
2437         public const int SND_CLICK;
2438         [CCode (cheader_filename = "linux/input.h")]
2439         public const int SND_BELL;
2440         [CCode (cheader_filename = "linux/input.h")]
2441         public const int SND_TONE;
2442         [CCode (cheader_filename = "linux/input.h")]
2443         public const int SND_MAX;
2445         /*
2446          * IDs.
2447          */
2449         [CCode (cheader_filename = "linux/input.h")]
2450         public const int ID_BUS;
2451         [CCode (cheader_filename = "linux/input.h")]
2452         public const int ID_VENDOR;
2453         [CCode (cheader_filename = "linux/input.h")]
2454         public const int ID_PRODUCT;
2455         [CCode (cheader_filename = "linux/input.h")]
2456         public const int ID_VERSION;
2458         [CCode (cheader_filename = "linux/input.h")]
2459         public const int BUS_PCI;
2460         [CCode (cheader_filename = "linux/input.h")]
2461         public const int BUS_ISAPNP;
2462         [CCode (cheader_filename = "linux/input.h")]
2463         public const int BUS_USB;
2464         [CCode (cheader_filename = "linux/input.h")]
2465         public const int BUS_HIL;
2466         [CCode (cheader_filename = "linux/input.h")]
2467         public const int BUS_BLUETOOTH;
2468         [CCode (cheader_filename = "linux/input.h")]
2469         public const int BUS_VIRTUAL;
2471         [CCode (cheader_filename = "linux/input.h")]
2472         public const int BUS_ISA;
2473         [CCode (cheader_filename = "linux/input.h")]
2474         public const int BUS_I8042;
2475         [CCode (cheader_filename = "linux/input.h")]
2476         public const int BUS_XTKBD;
2477         [CCode (cheader_filename = "linux/input.h")]
2478         public const int BUS_RS232;
2479         [CCode (cheader_filename = "linux/input.h")]
2480         public const int BUS_GAMEPORT;
2481         [CCode (cheader_filename = "linux/input.h")]
2482         public const int BUS_PARPORT;
2483         [CCode (cheader_filename = "linux/input.h")]
2484         public const int BUS_AMIGA;
2485         [CCode (cheader_filename = "linux/input.h")]
2486         public const int BUS_ADB;
2487         [CCode (cheader_filename = "linux/input.h")]
2488         public const int BUS_I2C;
2489         [CCode (cheader_filename = "linux/input.h")]
2490         public const int BUS_HOST;
2491         [CCode (cheader_filename = "linux/input.h")]
2492         public const int BUS_GSC;
2493         [CCode (cheader_filename = "linux/input.h")]
2494         public const int BUS_ATARI;
2495     }
2497     /*
2498      * Netlink subsystem
2499      */
2500     [CCode (cprefix = "", lower_case_cprefix = "", cheader_filename = "linux/netlink.h")]
2501     namespace Netlink {
2503         [CCode (cheader_filename = "linux/netlink.h")]
2504         public const int NETLINK_ROUTE;
2505         [CCode (cheader_filename = "linux/netlink.h")]
2506         public const int NETLINK_UNUSED;
2507         [CCode (cheader_filename = "linux/netlink.h")]
2508         public const int NETLINK_USERSOCK;
2509         [CCode (cheader_filename = "linux/netlink.h")]
2510         public const int NETLINK_FIREWALL;
2511         [CCode (cheader_filename = "linux/netlink.h")]
2512         public const int NETLINK_INET_DIAG;
2513         [CCode (cheader_filename = "linux/netlink.h")]
2514         public const int NETLINK_NFLOG;
2515         [CCode (cheader_filename = "linux/netlink.h")]
2516         public const int NETLINK_XFRM;
2517         [CCode (cheader_filename = "linux/netlink.h")]
2518         public const int NETLINK_SELINUX;
2519         [CCode (cheader_filename = "linux/netlink.h")]
2520         public const int NETLINK_ISCSI;
2521         [CCode (cheader_filename = "linux/netlink.h")]
2522         public const int NETLINK_AUDIT;
2523         [CCode (cheader_filename = "linux/netlink.h")]
2524         public const int NETLINK_FIB_LOOKUP;
2525         [CCode (cheader_filename = "linux/netlink.h")]
2526         public const int NETLINK_CONNECTOR;
2527         [CCode (cheader_filename = "linux/netlink.h")]
2528         public const int NETLINK_NETFILTER;
2529         [CCode (cheader_filename = "linux/netlink.h")]
2530         public const int NETLINK_IP6_FW;
2531         [CCode (cheader_filename = "linux/netlink.h")]
2532         public const int NETLINK_DNRTMSG;
2533         [CCode (cheader_filename = "linux/netlink.h")]
2534         public const int NETLINK_KOBJECT_UEVENT;
2535         [CCode (cheader_filename = "linux/netlink.h")]
2536         public const int NETLINK_GENERIC;
2537         [CCode (cheader_filename = "linux/netlink.h")]
2538         public const int NETLINK_SCSITRANSPORT;
2539         [CCode (cheader_filename = "linux/netlink.h")]
2540         public const int NETLINK_ECRYPTFS;
2542         [CCode (cheader_filename = "linux/netlink.h")]
2543         public const int NETLINK_ADD_MEMBERSHIP;
2544         [CCode (cheader_filename = "linux/netlink.h")]
2545         public const int NETLINK_DROP_MEMBERSHIP;
2546         [CCode (cheader_filename = "linux/netlink.h")]
2547         public const int NETLINK_PKTINFO;
2548         [CCode (cheader_filename = "linux/netlink.h")]
2549         public const int NETLINK_BROADCAST_ERROR;
2550         [CCode (cheader_filename = "linux/netlink.h")]
2551         public const int NETLINK_NO_ENOBUFS;
2553         [CCode (cheader_filename = "linux/netlink.h")]
2554         public const int NLM_F_REQUEST;
2555         [CCode (cheader_filename = "linux/netlink.h")]
2556         public const int NLM_F_MULTI;
2557         [CCode (cheader_filename = "linux/netlink.h")]
2558         public const int NLM_F_ACK;
2559         [CCode (cheader_filename = "linux/netlink.h")]
2560         public const int NLM_F_ECHO;
2562         [CCode (cheader_filename = "linux/netlink.h")]
2563         public const int NLM_F_ROOT;
2564         [CCode (cheader_filename = "linux/netlink.h")]
2565         public const int NLM_F_MATCH;
2566         [CCode (cheader_filename = "linux/netlink.h")]
2567         public const int NLM_F_ATOMIC;
2568         [CCode (cheader_filename = "linux/netlink.h")]
2569         public const int NLM_F_DUMP;
2571         [CCode (cheader_filename = "linux/netlink.h")]
2572         public const int NLM_F_REPLACE;
2573         [CCode (cheader_filename = "linux/netlink.h")]
2574         public const int NLM_F_EXCL;
2575         [CCode (cheader_filename = "linux/netlink.h")]
2576         public const int NLM_F_CREATE;
2577         [CCode (cheader_filename = "linux/netlink.h")]
2578         public const int NLM_F_APPEND;
2580         [CCode (cheader_filename = "linux/netlink.h")]
2581         public const int NLMSG_ALIGNTO;
2582         [CCode (cheader_filename = "linux/netlink.h")]
2583         public const int NLMSG_NOOP;
2584         [CCode (cheader_filename = "linux/netlink.h")]
2585         public const int NLMSG_ERROR;
2586         [CCode (cheader_filename = "linux/netlink.h")]
2587         public const int NLMSG_DONE;
2588         [CCode (cheader_filename = "linux/netlink.h")]
2589         public const int NLMSG_OVERRUN;
2590         [CCode (cheader_filename = "linux/netlink.h")]
2591         public const int NLMSG_MIN_TYPE;
2593         /* netlink action macros, we bind them as functions for convenience */
2594         [CCode (cheader_filename = "linux/netlink.h")]
2595         public void NLMSG_ALIGN (int len);
2596         [CCode (cheader_filename = "linux/netlink.h")]
2597         public int NLMSG_HDRLEN ();
2598         [CCode (cheader_filename = "linux/netlink.h")]
2599         public int NLMSG_LENGTH (int len);
2600         [CCode (cheader_filename = "linux/netlink.h")]
2601         public void NLMSG_SPACE (int len);
2602         [CCode (cheader_filename = "linux/netlink.h")]
2603         public void* NLMSG_DATA (NlMsgHdr nlh);
2604         [CCode (cheader_filename = "linux/netlink.h")]
2605         public unowned NlMsgHdr NLMSG_NEXT (NlMsgHdr nlh, int len);
2606         [CCode (cheader_filename = "linux/netlink.h")]
2607         public bool NLMSG_OK (NlMsgHdr nlh, int len);
2608         [CCode (cheader_filename = "linux/netlink.h")]
2609         public int NLMSG_PAYLOAD (NlMsgHdr nlh, int len);
2611         // netlink socket, can be used instead of sockaddr
2612         [CCode (cname = "struct sockaddr_nl", cheader_filename = "linux/netlink.h", destroy_function = "")]
2613         public struct SockAddrNl {
2614             public int nl_family;
2615             public ushort nl_pad;
2616             public uint32 nl_pid;
2617             public uint32 nl_groups;
2618         }
2620         // netlink message header
2621         [CCode (cname = "struct nlmsghdr", cheader_filename = "linux/netlink.h", destroy_function = "")]
2622         public struct NlMsgHdr {
2623             public uint32 nlmsg_len;
2624             public uint16 nlmsg_type;
2625             public uint16 nlmsg_flags;
2626             public uint32 nlmsg_seq;
2627             public uint32 nlmsg_pid;
2628         }
2630         // netlink error message
2631         [CCode (cname = "struct nlmsgerr", cheader_filename = "linux/netlink.h", destroy_function = "")]
2632         public struct NlMsgErr {
2633             public int error;
2634             public NlMsgHdr msg;
2635         }
2637         // rtnetlink multicast groups ( userland compatibility values )
2638         [CCode (cheader_filename = "linux/rtnetlink.h")]
2639         public const int RTMGRP_LINK;
2640         [CCode (cheader_filename = "linux/rtnetlink.h")]
2641         public const int RTMGRP_NOTIFY;
2642         [CCode (cheader_filename = "linux/rtnetlink.h")]
2643         public const int RTMGRP_NEIGH;
2644         [CCode (cheader_filename = "linux/rtnetlink.h")]
2645         public const int RTMGRP_TC;
2646         [CCode (cheader_filename = "linux/rtnetlink.h")]
2647         public const int RTMGRP_IPV4_IFADDR;
2648         [CCode (cheader_filename = "linux/rtnetlink.h")]
2649         public const int RTMGRP_IPV4_MROUTE;
2650         [CCode (cheader_filename = "linux/rtnetlink.h")]
2651         public const int RTMGRP_IPV4_ROUTE;
2652         [CCode (cheader_filename = "linux/rtnetlink.h")]
2653         public const int RTMGRP_IPV4_RULE;
2654         [CCode (cheader_filename = "linux/rtnetlink.h")]
2655         public const int RTMGRP_IPV6_IFADDR;
2656         [CCode (cheader_filename = "linux/rtnetlink.h")]
2657         public const int RTMGRP_IPV6_MROUTE;
2658         [CCode (cheader_filename = "linux/rtnetlink.h")]
2659         public const int RTMGRP_IPV6_ROUTE;
2660         [CCode (cheader_filename = "linux/rtnetlink.h")]
2661         public const int RTMGRP_IPV6_IFINFO;
2662         [CCode (cheader_filename = "linux/rtnetlink.h")]
2663         public const int RTMGRP_DECnet_IFADDR;
2664         [CCode (cheader_filename = "linux/rtnetlink.h")]
2665         public const int RTMGRP_DECnet_ROUTE;
2666         [CCode (cheader_filename = "linux/rtnetlink.h")]
2667         public const int RTMGRP_IPV6_PREFIX;
2669         // rtnetlink multicast groups ( 1 << group )
2670         [CCode (cheader_filename = "linux/rtnetlink.h")]
2671         public const int RTNLGRP_NONE;
2672         [CCode (cheader_filename = "linux/rtnetlink.h")]
2673         public const int RTNLGRP_LINK;
2674         [CCode (cheader_filename = "linux/rtnetlink.h")]
2675         public const int RTNLGRP_NOTIFY;
2676         [CCode (cheader_filename = "linux/rtnetlink.h")]
2677         public const int RTNLGRP_NEIGH;
2678         [CCode (cheader_filename = "linux/rtnetlink.h")]
2679         public const int RTNLGRP_TC;
2680         [CCode (cheader_filename = "linux/rtnetlink.h")]
2681         public const int RTNLGRP_IPV4_IFADDR;
2682         [CCode (cheader_filename = "linux/rtnetlink.h")]
2683         public const int RTNLGRP_IPV4_MROUTE;
2684         [CCode (cheader_filename = "linux/rtnetlink.h")]
2685         public const int RTNLGRP_IPV4_ROUTE;
2686         [CCode (cheader_filename = "linux/rtnetlink.h")]
2687         public const int RTNLGRP_IPV4_RULE;
2688         [CCode (cheader_filename = "linux/rtnetlink.h")]
2689         public const int RTNLGRP_IPV6_IFADDR;
2690         [CCode (cheader_filename = "linux/rtnetlink.h")]
2691         public const int RTNLGRP_IPV6_MROUTE;
2692         [CCode (cheader_filename = "linux/rtnetlink.h")]
2693         public const int RTNLGRP_IPV6_ROUTE;
2694         [CCode (cheader_filename = "linux/rtnetlink.h")]
2695         public const int RTNLGRP_IPV6_IFINFO;
2696         [CCode (cheader_filename = "linux/rtnetlink.h")]
2697         public const int RTNLGRP_DECnet_IFADDR;
2698         [CCode (cheader_filename = "linux/rtnetlink.h")]
2699         public const int RTNLGRP_NOP2;
2700         [CCode (cheader_filename = "linux/rtnetlink.h")]
2701         public const int RTNLGRP_DECnet_ROUTE;
2702         [CCode (cheader_filename = "linux/rtnetlink.h")]
2703         public const int RTNLGRP_DECnet_RULE;
2704         [CCode (cheader_filename = "linux/rtnetlink.h")]
2705         public const int RTNLGRP_NOP4;
2706         [CCode (cheader_filename = "linux/rtnetlink.h")]
2707         public const int RTNLGRP_IPV6_PREFIX;
2708         [CCode (cheader_filename = "linux/rtnetlink.h")]
2709         public const int RTNLGRP_IPV6_RULE;
2710         [CCode (cheader_filename = "linux/rtnetlink.h")]
2711         public const int RTNLGRP_ND_USEROPT;
2712         [CCode (cheader_filename = "linux/rtnetlink.h")]
2713         public const int RTNLGRP_PHONET_IFADDR;
2714         [CCode (cheader_filename = "linux/rtnetlink.h")]
2715         public const int RTNLGRP_PHONET_ROUTE;
2717         /* rtnetlink action macros, we bind them as functions for convenience */
2718         [CCode (cheader_filename = "linux/rtnetlink.h")]
2719         public void RTA_ALIGN (int len);
2720         [CCode (cheader_filename = "linux/rtnetlink.h")]
2721         public int RTA_HDRLEN ();
2722         [CCode (cheader_filename = "linux/rtnetlink.h")]
2723         public int RTA_LENGTH (int len);
2724         [CCode (cheader_filename = "linux/rtnetlink.h")]
2725         public void RTA_SPACE (int len);
2726         [CCode (cheader_filename = "linux/rtnetlink.h")]
2727         public void* RTA_DATA (RtAttr* rta);
2728         [CCode (cheader_filename = "linux/rtnetlink.h")]
2729         public RtAttr* RTA_NEXT (RtAttr* rta, int len);
2730         [CCode (cheader_filename = "linux/rtnetlink.h")]
2731         public bool RTA_OK (RtAttr* rta, int len);
2732         [CCode (cheader_filename = "linux/rtnetlink.h")]
2733         public void* RTA_PAYLOAD (RtAttr* rta, int len);
2735         /*
2736         [CCode (cheader_filename = "sys/socket.h", sentinel = "")]
2737         public int bind (int sockfd, SockAddrNl addr, ulong length);
2738         */
2740         // rtnetlink info message
2741         [CCode (cname = "struct ifinfomsg", cheader_filename = "linux/rtnetlink.h", destroy_function = "")]
2742         public struct IfInfoMsg {
2743             public uchar ifi_family;
2744             public uchar __ifi_pad;
2745             public ushort ifi_type;
2746             public int ifi_index;
2747             public uint32 ifi_flags;
2748             public uint32 ifi_change;
2749         }
2751         // rtnetlink attribute
2752         [CCode (cname = "struct rtattr", cheader_filename = "linux/rtnetlink.h", destroy_function = "")]
2753         public struct RtAttr {
2754             public ushort rta_len;
2755             public ushort rta_type;
2756         }
2758         // rtnetlink routing / discovery messages
2759         [CCode (cprefix = "RTM_", cheader_filename = "linux/rtnetlink.h")]
2760         public enum RtMessageType {
2761             NEWLINK,
2762             DELLINK,
2763             GETLINK,
2764             SETLINK,
2765             NEWADDR,
2766             DELADDR,
2767             GETADDR,
2768             NEWROUTE,
2769             DELROUTE,
2770             GETROUTE,
2771             NEWNEIGH,
2772             DELNEIGH,
2773             GETNEIGH,
2774             NEWRULE,
2775             DELRULE,
2776             GETRULE,
2777             NEWQDISC,
2778             DELQDISC,
2779             GETQDISC,
2780             NEWTCLASS,
2781             DELTCLASS,
2782             GETTCLASS,
2783             NEWTFILTER,
2784             DELTFILTER,
2785             GETTFILTER,
2786             NEWACTION,
2787             DELACTION,
2788             GETACTION,
2789             NEWPREFIX,
2790             GETMULTICAST,
2791             GETANYCAST,
2792             NEWNEIGHTBL,
2793             GETNEIGHTBL,
2794             SETNEIGHTBL,
2795         }
2796     }
2798     /*
2799      * Real time clock subsystem
2800      */
2802     [CCode (cprefix = "", lower_case_cprefix = "")]
2803     namespace Rtc {
2805         [CCode (cname = "struct rtc_wkalrm", cheader_filename = "linux/rtc.h")]
2806         public struct WakeAlarm {
2807             public char enabled;
2808             public char pending;
2809             public Posix.tm time;
2810         }
2812         [CCode (cheader_filename = "linux/rtc.h,sys/ioctl.h")]
2813         public const int RTC_RD_TIME;
2814         [CCode (cheader_filename = "linux/rtc.h,sys/ioctl.h")]
2815         public const int RTC_SET_TIME;
2816         [CCode (cheader_filename = "linux/rtc.h,sys/ioctl.h")]
2817         public const int RTC_WKALM_RD;
2818         [CCode (cheader_filename = "linux/rtc.h,sys/ioctl.h")]
2819         public const int RTC_WKALM_SET;
2820     }
2822     /*
2823      * Socket extensions (non-posix)
2824      */
2825     [CCode (cprefix = "", lower_case_cprefix = "")]
2826     namespace Socket {
2827         [CCode (cheader_filename = "sys/socket.h")]
2828         public const int AF_NETLINK;
2829         [CCode (cheader_filename = "sys/socket.h")]
2830         public const int AF_PHONET;
2831         [CCode (cheader_filename = "sys/socket.h")]
2832         public const int AF_UNSPEC;
2833         [CCode (cheader_filename = "sys/socket.h")]
2834         public const int SOCK_NONBLOCK;
2835         [CCode (cheader_filename = "sys/socket.h")]
2836         public const int SOCK_CLOEXEC;
2838         [CCode (cname = "struct ucred", cheader_filename = "linux/socket.h", destroy_function = "")]
2839         public struct ucred {
2840             public uint32 pid;
2841             public uint32 uid;
2842             public uint32 gid;
2843         }
2845         /* setsockopt(2) level constants */
2846         [CCode (cheader_filename = "linux/socket.h")]
2847         public const int SOL_IP;
2848         [CCode (cheader_filename = "linux/socket.h")]
2849         public const int SOL_TCP;
2850         [CCode (cheader_filename = "linux/socket.h")]
2851         public const int SOL_UDP;
2852         [CCode (cheader_filename = "linux/socket.h")]
2853         public const int SOL_IPV6;
2854         [CCode (cheader_filename = "linux/socket.h")]
2855         public const int SOL_ICMPV6;
2856         [CCode (cheader_filename = "linux/socket.h")]
2857         public const int SOL_SCTP;
2858         [CCode (cheader_filename = "linux/socket.h")]
2859         public const int SOL_UDPLITE;
2860         [CCode (cheader_filename = "linux/socket.h")]
2861         public const int SOL_RAW;
2862         [CCode (cheader_filename = "linux/socket.h")]
2863         public const int SOL_IPX;
2864         [CCode (cheader_filename = "linux/socket.h")]
2865         public const int SOL_AX25;
2866         [CCode (cheader_filename = "linux/socket.h")]
2867         public const int SOL_ATALK;
2868         [CCode (cheader_filename = "linux/socket.h")]
2869         public const int SOL_NETROM;
2870         [CCode (cheader_filename = "linux/socket.h")]
2871         public const int SOL_ROSE;
2872         [CCode (cheader_filename = "linux/socket.h")]
2873         public const int SOL_DECNET;
2874         [CCode (cheader_filename = "linux/socket.h")]
2875         public const int SOL_X25;
2876         [CCode (cheader_filename = "linux/socket.h")]
2877         public const int SOL_PACKET;
2878         [CCode (cheader_filename = "linux/socket.h")]
2879         public const int SOL_ATM;
2880         [CCode (cheader_filename = "linux/socket.h")]
2881         public const int SOL_AAL;
2882         [CCode (cheader_filename = "linux/socket.h")]
2883         public const int SOL_IRDA;
2884         [CCode (cheader_filename = "linux/socket.h")]
2885         public const int SOL_NETBEUI;
2886         [CCode (cheader_filename = "linux/socket.h")]
2887         public const int SOL_LLC;
2888         [CCode (cheader_filename = "linux/socket.h")]
2889         public const int SOL_DCCP;
2890         [CCode (cheader_filename = "linux/socket.h")]
2891         public const int SOL_NETLINK;
2892         [CCode (cheader_filename = "linux/socket.h")]
2893         public const int SOL_TIPC;
2894         [CCode (cheader_filename = "linux/socket.h")]
2895         public const int SOL_RXRPC;
2896         [CCode (cheader_filename = "linux/socket.h")]
2897         public const int SOL_PPPOL2TP;
2898         [CCode (cheader_filename = "linux/socket.h")]
2899         public const int SOL_BLUETOOTH;
2900         [CCode (cheader_filename = "linux/socket.h")]
2901         public const int SOL_PNPIPE;
2902         [CCode (cheader_filename = "linux/socket.h")]
2903         public const int SOL_RDS;
2904         [CCode (cheader_filename = "linux/socket.h")]
2905         public const int SOL_IUCV;
2906     }
2908     /*
2909      * Terminal input/output
2910      */
2911     [CCode (cprefix = "", lower_case_cprefix = "")]
2912     namespace Termios {
2914         /*
2915          * non-posix functions
2916          */
2917         [CCode (cheader_filename = "stdlib.h")]
2918         public int ptsname_r (int fd, char[] buf);
2920         /*
2921          * non-posix flags
2922          */
2923         [CCode (cheader_filename = "termios.h")]
2924         public const int OLCUC;
2926         /*
2927          * non-posix constants
2928          */
2930         // flow control
2931         [CCode (cheader_filename = "termios.h")]
2932         public const int CRTSCTS;
2933         // v24 modem lines
2934         [CCode (cheader_filename = "termios.h")]
2935         public const int TIOCM_LE;
2936         [CCode (cheader_filename = "termios.h")]
2937         public const int TIOCM_DTR;
2938         [CCode (cheader_filename = "termios.h")]
2939         public const int TIOCM_RTS;
2940         [CCode (cheader_filename = "termios.h")]
2941         public const int TIOCM_ST;
2942         [CCode (cheader_filename = "termios.h")]
2943         public const int TIOCM_SR;
2944         [CCode (cheader_filename = "termios.h")]
2945         public const int TIOCM_CTS;
2946         [CCode (cheader_filename = "termios.h")]
2947         public const int TIOCM_CARM;
2948         [CCode (cheader_filename = "termios.h")]
2949         public const int TIOCM_RNG;
2950         [CCode (cheader_filename = "termios.h")]
2951         public const int TIOCM_DSR;
2952         [CCode (cheader_filename = "termios.h")]
2953         [CCode (cheader_filename = "termios.h")]
2954         public const int TIOCM_OUT1;
2955         [CCode (cheader_filename = "termios.h")]
2956         public const int TIOCM_OUT2;
2957         [CCode (cheader_filename = "termios.h")]
2958         public const int TIOCM_LOOP;
2959         // baud rates
2960         [CCode (cheader_filename = "termios.h")]
2961         public const int B460800;
2962         [CCode (cheader_filename = "termios.h")]
2963         public const int B500000;
2964         [CCode (cheader_filename = "termios.h")]
2965         public const int B576000;
2966         [CCode (cheader_filename = "termios.h")]
2967         public const int B921600;
2968         [CCode (cheader_filename = "termios.h")]
2969         public const int B1000000;
2970         [CCode (cheader_filename = "termios.h")]
2971         public const int B1152000;
2972         [CCode (cheader_filename = "termios.h")]
2973         public const int B1500000;
2974         [CCode (cheader_filename = "termios.h")]
2975         public const int B2000000;
2976         [CCode (cheader_filename = "termios.h")]
2977         public const int B2500000;
2978         [CCode (cheader_filename = "termios.h")]
2979         public const int B3000000;
2980         [CCode (cheader_filename = "termios.h")]
2981         public const int B3500000;
2982         [CCode (cheader_filename = "termios.h")]
2983         public const int B4000000;
2986         /*
2987          * ioctls
2988          */
2989         [CCode (cheader_filename = "sys/ioctl.h")]
2990         public const int TCGETS;
2991         [CCode (cheader_filename = "sys/ioctl.h")]
2992         public const int TCSETS;
2993         [CCode (cheader_filename = "sys/ioctl.h")]
2994         public const int TCSETSW;
2995         [CCode (cheader_filename = "sys/ioctl.h")]
2996         public const int TCSETSF;
2997         [CCode (cheader_filename = "sys/ioctl.h")]
2998         public const int TCGETA;
2999         [CCode (cheader_filename = "sys/ioctl.h")]
3000         public const int TCSETA;
3001         [CCode (cheader_filename = "sys/ioctl.h")]
3002         public const int TCSETAW;
3003         [CCode (cheader_filename = "sys/ioctl.h")]
3004         public const int TCSETAF;
3005         [CCode (cheader_filename = "sys/ioctl.h")]
3006         public const int TCSBRK;
3007         [CCode (cheader_filename = "sys/ioctl.h")]
3008         public const int TCXONC;
3009         [CCode (cheader_filename = "sys/ioctl.h")]
3010         public const int TCFLSH;
3011         [CCode (cheader_filename = "sys/ioctl.h")]
3012         public const int TIOCEXCL;
3013         [CCode (cheader_filename = "sys/ioctl.h")]
3014         public const int TIOCNXCL;
3015         [CCode (cheader_filename = "sys/ioctl.h")]
3016         public const int TIOCSCTTY;
3017         [CCode (cheader_filename = "sys/ioctl.h")]
3018         public const int TIOCGPGRP;
3019         [CCode (cheader_filename = "sys/ioctl.h")]
3020         public const int TIOCSPGRP;
3021         [CCode (cheader_filename = "sys/ioctl.h")]
3022         public const int TIOCOUTQ;
3023         [CCode (cheader_filename = "sys/ioctl.h")]
3024         public const int TIOCSTI;
3025         [CCode (cheader_filename = "sys/ioctl.h")]
3026         public const int TIOCGWINSZ;
3027         [CCode (cheader_filename = "sys/ioctl.h")]
3028         public const int TIOCSWINSZ;
3029         [CCode (cheader_filename = "sys/ioctl.h")]
3030         public const int TIOCMGET;
3031         [CCode (cheader_filename = "sys/ioctl.h")]
3032         public const int TIOCMBIS;
3033         [CCode (cheader_filename = "sys/ioctl.h")]
3034         public const int TIOCMBIC;
3035         [CCode (cheader_filename = "sys/ioctl.h")]
3036         public const int TIOCMSET;
3037         [CCode (cheader_filename = "sys/ioctl.h")]
3038         public const int TIOCGSOFTCAR;
3039         [CCode (cheader_filename = "sys/ioctl.h")]
3040         public const int TIOCSSOFTCAR;
3041         [CCode (cheader_filename = "sys/ioctl.h")]
3042         public const int FIONREAD;
3043         [CCode (cheader_filename = "sys/ioctl.h")]
3044         public const int TIOCINQ;
3045         [CCode (cheader_filename = "sys/ioctl.h")]
3046         public const int TIOCLINUX;
3047         [CCode (cheader_filename = "sys/ioctl.h")]
3048         public const int TIOCCONS;
3049         [CCode (cheader_filename = "sys/ioctl.h")]
3050         public const int TIOCGSERIAL;
3051         [CCode (cheader_filename = "sys/ioctl.h")]
3052         public const int TIOCSSERIAL;
3053         [CCode (cheader_filename = "sys/ioctl.h")]
3054         public const int TIOCPKT;
3055         [CCode (cheader_filename = "sys/ioctl.h")]
3056         public const int FIONBIO;
3057         [CCode (cheader_filename = "sys/ioctl.h")]
3058         public const int TIOCNOTTY;
3059         [CCode (cheader_filename = "sys/ioctl.h")]
3060         public const int TIOCSETD;
3061         [CCode (cheader_filename = "sys/ioctl.h")]
3062         public const int TIOCGETD;
3063         [CCode (cheader_filename = "sys/ioctl.h")]
3064         public const int TCSBRKP;
3065         [CCode (cheader_filename = "sys/ioctl.h")]
3066         public const int TIOCSBRK;
3067         [CCode (cheader_filename = "sys/ioctl.h")]
3068         public const int TIOCCBRK;
3069         [CCode (cheader_filename = "sys/ioctl.h")]
3070         public const int TIOCGSID;
3071         [CCode (cheader_filename = "sys/ioctl.h")]
3072         public const int TCGETS2;
3073         [CCode (cheader_filename = "sys/ioctl.h")]
3074         public const int TCSETS2;
3075         [CCode (cheader_filename = "sys/ioctl.h")]
3076         public const int TCSETSW2;
3077         [CCode (cheader_filename = "sys/ioctl.h")]
3078         public const int TCSETSF2;
3079         [CCode (cheader_filename = "sys/ioctl.h")]
3080         public const int TIOCGRS485;
3081         [CCode (cheader_filename = "sys/ioctl.h")]
3082         public const int TIOCSRS485;
3083         [CCode (cheader_filename = "sys/ioctl.h")]
3084         public const int TIOCGPTN;
3085         [CCode (cheader_filename = "sys/ioctl.h")]
3086         public const int TIOCSPTLCK;
3087         [CCode (cheader_filename = "sys/ioctl.h")]
3088         public const int TCGETX;
3089         [CCode (cheader_filename = "sys/ioctl.h")]
3090         public const int TCSETX;
3091         [CCode (cheader_filename = "sys/ioctl.h")]
3092         public const int TCSETXF;
3093         [CCode (cheader_filename = "sys/ioctl.h")]
3094         public const int TCSETXW;
3096         [CCode (cheader_filename = "sys/ioctl.h")]
3097         public const int FIONCLEX;
3098         [CCode (cheader_filename = "sys/ioctl.h")]
3099         public const int FIOCLEX;
3100         [CCode (cheader_filename = "sys/ioctl.h")]
3101         public const int FIOASYNC;
3102         [CCode (cheader_filename = "sys/ioctl.h")]
3103         public const int TIOCSERCONFIG;
3104         [CCode (cheader_filename = "sys/ioctl.h")]
3105         public const int TIOCSERGWILD;
3106         [CCode (cheader_filename = "sys/ioctl.h")]
3107         public const int TIOCSERSWILD;
3108         [CCode (cheader_filename = "sys/ioctl.h")]
3109         public const int TIOCGLCKTRMIOS;
3110         [CCode (cheader_filename = "sys/ioctl.h")]
3111         public const int TIOCSLCKTRMIOS;
3112         [CCode (cheader_filename = "sys/ioctl.h")]
3113         public const int TIOCSERGSTRUCT;
3114         [CCode (cheader_filename = "sys/ioctl.h")]
3115         public const int TIOCSERGETLSR;
3116         [CCode (cheader_filename = "sys/ioctl.h")]
3117         public const int TIOCSERGETMULTI;
3118         [CCode (cheader_filename = "sys/ioctl.h")]
3119         public const int TIOCSERSETMULTI;
3121         [CCode (cheader_filename = "sys/ioctl.h")]
3122         public const int TIOCMIWAIT;
3123         [CCode (cheader_filename = "sys/ioctl.h")]
3124         public const int TIOCGICOUNT;
3125         [CCode (cheader_filename = "sys/ioctl.h")]
3126         public const int TIOCGHAYESESP;
3127         [CCode (cheader_filename = "sys/ioctl.h")]
3128         public const int TIOCSHAYESESP;
3129         [CCode (cheader_filename = "sys/ioctl.h")]
3130         public const int FIOQSIZE;
3132         [CCode (cheader_filename = "sys/ioctl.h")]
3133         public const int TIOCPKT_DATA;
3134         [CCode (cheader_filename = "sys/ioctl.h")]
3135         public const int TIOCPKT_FLUSHREAD;
3136         [CCode (cheader_filename = "sys/ioctl.h")]
3137         public const int TIOCPKT_FLUSHWRITE;
3138         [CCode (cheader_filename = "sys/ioctl.h")]
3139         public const int TIOCPKT_STOP;
3140         [CCode (cheader_filename = "sys/ioctl.h")]
3141         public const int TIOCPKT_START;
3142         [CCode (cheader_filename = "sys/ioctl.h")]
3143         public const int TIOCPKT_NOSTOP;
3144         [CCode (cheader_filename = "sys/ioctl.h")]
3145         public const int TIOCPKT_DOSTOP;
3147         [CCode (cheader_filename = "sys/ioctl.h")]
3148         public const int TIOCSER_TEMT;
3149     }
3151     /*
3152      * Virtual Terminal
3153      */
3154     [CCode (cprefix = "", lower_case_cprefix = "")]
3155     namespace VirtualTerminal {
3157         /* constants */
3159         [CCode (cheader_filename = "linux/vt.h")]
3160         public const int MIN_NR_CONSOLES;
3161         [CCode (cheader_filename = "linux/vt.h")]
3162         public const int MAX_NR_CONSOLES;
3163         [CCode (cheader_filename = "linux/vt.h")]
3164         public const int MAX_NR_USER_CONSOLES;
3165         [CCode (cheader_filename = "linux/vt.h")]
3166         public const int VT_OPENQRY;
3167         [CCode (cheader_filename = "linux/vt.h")]
3168         public const int VT_GETMODE;
3169         [CCode (cheader_filename = "linux/vt.h")]
3170         public const int VT_SETMODE;
3171         [CCode (cheader_filename = "linux/vt.h")]
3172         public const int VT_AUTO;
3173         [CCode (cheader_filename = "linux/vt.h")]
3174         public const int VT_PROCESS;
3175         [CCode (cheader_filename = "linux/vt.h")]
3176         public const int VT_ACKACQ;
3177         [CCode (cheader_filename = "linux/vt.h")]
3178         public const int VT_GETSTATE;
3179         [CCode (cheader_filename = "linux/vt.h")]
3180         public const int VT_SENDSIG;
3181         [CCode (cheader_filename = "linux/vt.h")]
3182         public const int VT_RELDISP;
3183         [CCode (cheader_filename = "linux/vt.h")]
3184         public const int VT_ACTIVATE;
3185         [CCode (cheader_filename = "linux/vt.h")]
3186         public const int VT_WAITACTIVE;
3187         [CCode (cheader_filename = "linux/vt.h")]
3188         public const int VT_DISALLOCATE;
3189         [CCode (cheader_filename = "linux/vt.h")]
3190         public const int VT_RESIZE;
3191         [CCode (cheader_filename = "linux/vt.h")]
3192         public const int VT_RESIZEX;
3193         [CCode (cheader_filename = "linux/vt.h")]
3194         public const int VT_LOCKSWITCH;
3195         [CCode (cheader_filename = "linux/vt.h")]
3196         public const int VT_UNLOCKSWITCH;
3197         [CCode (cheader_filename = "linux/vt.h")]
3198         public const int VT_GETHIFONTMASK;
3200         /* structs */
3202         [CCode (cname = "struct vt_mode", cheader_filename = "linux/vt.h")]
3203         public struct Mode {
3204             public char mode;
3205             public char waitv;
3206             public int16 relsig;
3207             public int16 acqsig;
3208             public int16 frsig;
3209         }
3211         [CCode (cname = "struct vt_stat", cheader_filename = "linux/vt.h")]
3212         public struct Stat {
3213             public uint16 v_active;
3214             public uint16 v_signal;
3215             public uint16 v_state;
3216         }
3218         [CCode (cname = "struct vt_sizes", cheader_filename = "linux/vt.h")]
3219         public struct Sizes {
3220             public uint16 v_rows;
3221             public uint16 v_cols;
3222             public uint16 v_scrollsize;
3223         }
3225         [CCode (cname = "struct vt_consize", cheader_filename = "linux/vt.h")]
3226         public struct Consize {
3227             public uint16 v_rows;
3228             public uint16 v_cols;
3229             public uint16 v_vlin;
3230             public uint16 v_clin;
3231             public uint16 v_vcol;
3232             public uint16 v_ccol;
3233         }
3234     }