Update THANKS from git log
[vala-lang.git] / vapi / linux.vapi
blob03e19a43518dada5e291c38f6bd2e16f5c5b98fb
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      * EventFd
25      */
26     [CCode (cprefix = "EFD_", cheader_filename = "sys/eventfd.h")]
27     public enum EventFdFlags {
28         CLOEXEC,
29         NONBLOCK
30     }
32     [CCode (cheader_filename = "sys/eventfd.h")]
33     public int eventfd (uint count = 0, EventFdFlags flags = 0);
34     public int eventfd_read (int fd, out uint64 value);
35     public int eventfd_write (int fd, uint64 value);
37     /*
38      * Framebuffer
39      */
40     [CCode (cprefix = "", lower_case_cprefix = "")]
41     namespace Framebuffer {
43         /* ioctls */
44         [CCode (cheader_filename = "linux/fb.h")]
45         public const int FBIOGET_VSCREENINFO;
46         [CCode (cheader_filename = "linux/fb.h")]
47         public const int FBIOPUT_VSCREENINFO;
48         [CCode (cheader_filename = "linux/fb.h")]
49         public const int FBIOGET_FSCREENINFO;
50         [CCode (cheader_filename = "linux/fb.h")]
51         public const int FBIOGETCMAP;
52         [CCode (cheader_filename = "linux/fb.h")]
53         public const int FBIOPUTCMAP;
54         [CCode (cheader_filename = "linux/fb.h")]
55         public const int FBIOPAN_DISPLAY;
56         [CCode (cheader_filename = "linux/fb.h")]
57         public const int FBIO_CURSOR;
58         [CCode (cheader_filename = "linux/fb.h")]
59         public const int FBIOGET_MONITORSPEC;
60         [CCode (cheader_filename = "linux/fb.h")]
61         public const int FBIOPUT_MONITORSPEC;
62         [CCode (cheader_filename = "linux/fb.h")]
63         public const int FBIOSWITCH_MONIBIT;
64         [CCode (cheader_filename = "linux/fb.h")]
65         public const int FBIOGET_CON2FBMAP;
66         [CCode (cheader_filename = "linux/fb.h")]
67         public const int FBIOPUT_CON2FBMAP;
68         [CCode (cheader_filename = "linux/fb.h")]
69         public const int FBIOBLANK;
70         [CCode (cheader_filename = "linux/fb.h")]
71         public const int FBIOGET_VBLANK;
72         [CCode (cheader_filename = "linux/fb.h")]
73         public const int FBIO_ALLOC;
74         [CCode (cheader_filename = "linux/fb.h")]
75         public const int FBIO_FREE;
76         [CCode (cheader_filename = "linux/fb.h")]
77         public const int FBIOGET_GLYPH;
78         [CCode (cheader_filename = "linux/fb.h")]
79         public const int FBIOGET_HWCINFO;
80         [CCode (cheader_filename = "linux/fb.h")]
81         public const int FBIOPUT_MODEINFO;
82         [CCode (cheader_filename = "linux/fb.h")]
83         public const int FBIOGET_DISPINFO;
85         /* enums */
87         [CCode (cname = "guint32", cprefix = "FB_TYPE_", has_type_id = false, cheader_filename = "linux/fb.h")]
88         public enum Type {
89             PACKED_PIXELS,
90             PLANES,
91             INTERLEAVED_PLANES,
92             TEXT,
93             VGA_PLANES
94         }
96         [CCode (cname = "guint32", cprefix = "FB_ACTIVATE_", has_type_id = false, cheader_filename = "linux/fb.h")]
97         public enum Activate {
98             NOW,
99             NXTOPEN,
100             TEST,
101             MASK,
102             VBL,
103             [CCode (cname = "FB_CHANGE_CMAP_VBL")]
104             CHANGE_CMAP_VBL,
105             ALL,
106             FORCE,
107             INV_MODE
108         }
110         [CCode (cname = "guint32", cprefix = "FB_ACCEL_", has_type_id = false, cheader_filename = "linux/fb.h")]
111         public enum Accel {
112             NONE
113         }
115         [CCode (cname = "guint32", cprefix = "FB_AUX_", has_type_id = false, cheader_filename = "linux/fb.h")]
116         public enum Aux {
117              TEXT_MDA,
118              TEXT_CGA,
119              TEXT_S3_MMIO,
120              TEXT_MGA_STEP16,
121              TEXT_MGA_STEP8,
122              TEXT_SVGA_GROUP,
123              TEXT_SVGA_MASK,
124              TEXT_SVGA_STEP2,
125              TEXT_SVGA_STEP4,
126              TEXT_SVGA_STEP8,
127              TEXT_SVGA_STEP16,
128              TEXT_SVGA_LAST,
129              VGA_PLANES_VGA4,
130              VGA_PLANES_CFB4,
131              VGA_PLANES_CFB8
132         }
134         [CCode (cprefix = "FB_BLANK_", has_type_id = false, cheader_filename = "linux/fb.h")]
135         public enum Blank {
136             UNBLANK,
137             NORMAL,
138             VSYNC_SUSPEND,
139             HSYNC_SUSPEND,
140             POWERDOWN
141         }
143         [CCode (cprefix = "FB_CUR_", has_type_id = false, cheader_filename = "linux/fb.h")]
144         public enum Cur {
145             SETIMAGE,
146             SETPOS,
147             SETHOT,
148             SETCMAP,
149             SETSHAPE,
150             SETSIZE,
151             SETALL
152         }
154         [CCode (cname = "guint32", cprefix = "ROP_", has_type_id = false, cheader_filename = "linux/fb.h")]
155         public enum Rop {
156             COPY,
157             XOR
158         }
160         [CCode (cprefix = "FB_ROTATE_", has_type_id = false, cheader_filename = "linux/fb.h")]
161         public enum Rotate {
162             UR,
163             CW,
164             UD,
165             CCW
166         }
168         [CCode (cname = "guint32", cprefix = "FB_SYNC_", has_type_id = false, cheader_filename = "linux/fb.h")]
169         public enum Sync {
170             HOR_HIGH_ACT,
171             VERT_HIGH_ACT,
172             EXT,
173             COMP_HIGH_ACT,
174             BROADCAST,
175             ON_GREEN
176         }
178         [CCode (cname = "guint32", cprefix = "FB_VISUAL_", has_type_id = false, cheader_filename = "linux/fb.h")]
179         public enum Visual {
180             MONO01,
181             MONO10,
182             TRUECOLOR,
183             PSEUDOCOLOR,
184             DIRECTCOLOR,
185             STATIC_PSEUDOCOLOR
186         }
188         [CCode (cname = "guint32", cprefix = "FB_VMODE_", has_type_id = false, cheader_filename = "linux/fb.h")]
189         public enum Vmode {
190             NONINTERLACED,
191             INTERLACED,
192             DOUBLE,
193             ODD_FLD_FIRST,
194             MASK,
195             YWRAP,
196             SMOOTH_XPAN,
197             CONUPDATE
198         }
200         /* structures */
202         [CCode (cname = "struct fb_bitfield", cheader_filename = "linux/fb.h")]
203         public struct BitField {
204             public uint32 offset;
205             public uint32 length;
206             public uint32 msb_right;
207         }
209         [CCode (cname = "struct fb_cmap", cheader_filename = "linux/fb.h")]
210         public struct Cmap {
211             public uint32 start;
212             public uint32 len;
213             public uint16* red;
214             public uint16* green;
215             public uint16* blue;
216             public uint16* transp;
217         }
219         [CCode (cname = "struct fb_con2fbmap", cheader_filename = "linux/fb.h")]
220         public struct Con2FbMap {
221             public uint32 console;
222             public uint32 framebuffer;
223         }
225         [CCode (cname = "struct fbcurpos", cheader_filename = "linux/fb.h")]
226         public struct CurPos {
227             public uint16 x;
228             public uint16 y;
229         }
231         [CCode (cname = "struct fb_cursor", cheader_filename = "linux/fb.h")]
232         public struct Cursor {
233             public uint16 set;
234             public uint16 enable;
235             public uint16 rop;
236             string mask;
237             public CurPos hot;
238             public Image image;
239         }
241         [CCode (cname = "struct fb_copyarea", cheader_filename = "linux/fb.h")]
242         public struct CopyArea {
243             public uint32 dx;
244             public uint32 dy;
245             public uint32 width;
246             public uint32 height;
247             public uint32 sx;
248             public uint32 sy;
249         }
251         [CCode (cname = "struct fb_fillrect", cheader_filename = "linux/fb.h")]
252         public struct FillRect {
253             public uint32 dx;
254             public uint32 dy;
255             public uint32 width;
256             public uint32 height;
257             public uint32 color;
258             public Rop rop;
259         }
261         [CCode (cname = "struct fb_image", cheader_filename = "linux/fb.h")]
262         public struct Image {
263             public uint32 dx;
264             public uint32 dy;
265             public uint32 width;
266             public uint32 height;
267             public uint32 fg_color;
268             public uint32 bg_color;
269             public uint8 depth;
270             public char* data;
271             public Cmap cmap;
272         }
274         [CCode (cname = "struct fb_fix_screeninfo", cheader_filename = "linux/fb.h")]
275         public struct FixScreenInfo {
276             public char id[16];
277             public long smem_start;
278             public uint32 smem_len;
279             public Type type;
280             public Aux type_aux;
281             public Visual visual;
282             public uint16 xpanstep;
283             public uint16 ypanstep;
284             public uint16 ywrapstep;
285             public uint32 line_length;
286             public long mmio_start;
287             public uint32 mmio_len;
288             public Accel accel;
289         }
291         [CCode (cname = "struct fb_var_screeninfo", cheader_filename = "linux/fb.h")]
292         public struct VarScreenInfo {
293             public uint32 xres;
294             public uint32 yres;
295             public uint32 xres_virtual;
296             public uint32 yres_virtual;
297             public uint32 xoffset;
298             public uint32 yoffset;
299             public uint32 bits_per_pixel;
300             public uint32 grayscale;
301             public BitField red;
302             public BitField green;
303             public BitField blue;
304             public BitField transp;
305             public uint32 nonstd;
306             public Activate activate;
307             public uint32 height;
308             public uint32 width;
309             public uint32 pixclock;
310             public uint32 left_margin;
311             public uint32 right_margin;
312             public uint32 upper_margin;
313             public uint32 lower_margin;
314             public uint32 hsync_len;
315             public uint32 vsync_len;
316             public Sync sync;
317             public Vmode vmode;
318             public uint32 rotate;
319         }
321         [CCode (cname = "struct fb_vblank", cheader_filename = "linux/fb.h")]
322         public struct Vblank {
323             public uint32 flags;
324             public uint32 count;
325             public uint32 vcount;
326             public uint32 hcount;
327         }
328     }
330     /*
331      * Inotify
332      */
333     [CCode (cname = "struct inotify_event", cheader_filename = "sys/inotify.h")]
334     public struct InotifyEvent {
335         public int wd;
336         public uint32 mask;
337         public uint32 cookie;
338         public uint32 len;
339         public string name;
340     }
342     [CCode (cprefix = "IN_", cheader_filename = "sys/inotify.h")]
343     public enum InotifyFlags {
344         CLOEXEC,
345         NONBLOCK
346     }
348     [CCode (cname = "int", cprefix = "IN_", cheader_filename = "sys/inotify.h")]
349     public enum InotifyMaskFlags {
350         ACCESS,
351         ATTRIB,
352         CLOSE,
353         CLOSE_WRITE,
354         CLOSE_NOWRITE,
355         CREATE,
356         DELETE,
357         DELETE_SELF,
358         MODIFY,
359         MOVE,
360         MOVE_SELF,
361         MOVED_FROM,
362         MOVED_TO,
363         OPEN,
364         DONT_FOLLOW,
365         MASK_ADD,
366         ONESHOT,
367         ONLYDIR,
368         IGNORED,
369         ISDIR,
370         Q_OVERFLOW,
371         UNMOUNT
372     }
374     [CCode (cname = "inotify_init1", cheader_filename = "sys/inotify.h")]
375     public int inotify_init (InotifyFlags flags = 0);
376     public int inotify_add_watch (int fd, string pathname, InotifyMaskFlags mask);
377     public int inotify_rm_watch (int fd, int wd);
379     /*
380      * RfKill
381      */
382     [CCode (cname = "struct rfkill_event", cheader_filename = "linux/rfkill.h")]
383     public struct RfKillEvent {
384         public uint32 idx;
385         public RfKillType type;
386         public RfKillOp op;
387         public uint8 soft;
388         public uint8 hard;
389     }
391     [CCode (cname = "guint8", cprefix = "RFKILL_OP_", cheader_filename = "linux/rfkill.h")]
392     public enum RfKillOp {
393         ADD,
394         DEL,
395         CHANGE,
396         CHANGE_ALL
397     }
399     [CCode (cname = "guint8", cprefix = "RFKILL_STATE_", cheader_filename = "linux/rfkill.h")]
400     public enum RfKillState {
401         SOFT_BLOCKED,
402         UNBLOCKED,
403         HARD_BLOCKED
404     }
406     [CCode (cname = "guint8", cprefix = "RFKILL_TYPE_", cheader_filename = "linux/rfkill.h")]
407     public enum RfKillType {
408         ALL,
409         WLAN,
410         BLUETOOTH,
411         UWB,
412         WIMAX,
413         WWAN
414     }
416     /*
417      * SignalFd
418      */
419     [CCode (cprefix = "SFD_", cheader_filename = "sys/signalfd.h")]
420     public enum SignalFdFlags {
421         CLOEXEC,
422         NONBLOCK
423     }
425     [CCode (cheader_filename = "sys/signalfd.h")]
426     public int signalfd (int fd, Posix.sigset_t mask, SignalFdFlags flags = 0);
428     /*
429      * Misc non-posix additions
430      */
431     [CCode (cheader_filename = "dirent.h")]
432     public enum DirEntType {
433         DT_UNKNOWN,
434         DT_FIFO,
435         DT_CHR,
436         DT_DIR,
437         DT_BLK,
438         DT_REG,
439         DT_LNK,
440         DT_SOCK,
441         DT_WHT
442     }
444     [CCode (cheader_filename = "execinfo.h")]
445     public int backtrace (void* buffer, int size);
447     [CCode (cheader_filename = "execinfo.h")]
448     [CCode (array_length = false)]
449     public string[] backtrace_symbols (void* buffer, int size);
451     [CCode (cheader_filename = "execinfo.h")]
452     public void backtrace_symbols_fd (void* buffer, int size, int fd);
454     [CCode (cheader_filename = "arpa/inet.h")]
455     public int inet_aton (string cp, out Posix.InAddr addr);
457     [CCode (cname = "long", cprefix = "", cheader_filename = "sys/mount.h,linux/fs.h")]
458     public enum MountFlags {
459         MS_BIND,
460         MS_DIRSYNC,
461         MS_MANDLOCK,
462         MS_MOVE,
463         MS_NOATIME,
464         MS_NODEV,
465         MS_NODIRATIME,
466         MS_NOEXEC,
467         MS_NOSUID,
468         MS_RDONLY,
469         MS_RELATIME,
470         MS_REMOUNT,
471         MS_SILENT,
472         MS_SYNCHRONOUS,
473         S_WRITE,
474         S_APPEND,
475         S_IMMUTABLE,
476     }
478     [CCode (cname = "int", cprefix = "", cheader_filename = "sys/mount.h")]
479     public enum UnmountFlags {
480         MNT_FORCE,                /* Force unmounting.  */
481         MNT_DETACH,               /* Just detach from the tree.  */
482         MNT_EXPIRE                /* Mark for expiry.  */
483     }
485     [CCode (cheader_filename = "sys/mount.h")]
486     public int mount (string source, string target, string filesystemtype, MountFlags flags = 0, string options = "");
487     [CCode (cheader_filename = "sys/mount.h")]
488     public int umount (string target);
489     [CCode (cheader_filename = "sys/mount.h")]
490     public int umount2 (string target, UnmountFlags flags);
492     [CCode (cname = "struct winsize", cheader_filename = "termios.h", destroy_function = "")]
493     public struct winsize {
494         public ushort ws_row;
495         public ushort ws_col;
496         public ushort ws_xpixel;
497         public ushort ws_ypixel;
498     }
500     [CCode (cheader_filename = "pty.h")]
501     public Posix.pid_t forkpty (out int amaster,
502                                 out int aslave,
503                                 [CCode (array_length=false, array_null_terminated=true)] char[] name,
504                                 Posix.termios? termp,
505                                 winsize? winp);
507     [CCode (cheader_filename = "pty.h")]
508     public int openpty (out int amaster,
509                         out int aslave,
510                         [CCode (array_length=false, array_null_terminated=true)] char[] name,
511                         Posix.termios? termp,
512                         winsize? winp);
514     [CCode (cprefix = "CLONE_", cheader_filename = "sched.h")]
515     public enum CloneFlags {
516         FILES,
517         FS,
518         NEWNS
519     }
521     [CCode (cheader_filename = "sched.h")]
522     public int unshare (CloneFlags flags);
524     [CCode (cheader_filename = "sys/time.h")]
525     public int adjtime (Posix.timeval delta, Posix.timeval? olddelta = null);
527     // adjtimex(2)
528     [CCode (cprefix = "ADJ_", cheader_filename = "sys/timex.h")]
529     public enum AdjustModes {
530         OFFSET,
531         FREQUENCY,
532         MAXERROR,
533         ESTERROR,
534         STATUS,
535         TIMECONST,
536         TICK,
537         OFFSET_SINGLESHOT
538     }
540     [CCode (cheader_filename = "sys/timex.h")]
541     public const int TIME_OK;
542     [CCode (cheader_filename = "sys/timex.h")]
543     public const int TIME_INS;
544     [CCode (cheader_filename = "sys/timex.h")]
545     public const int TIME_DEL;
546     [CCode (cheader_filename = "sys/timex.h")]
547     public const int TIME_OOP;
548     [CCode (cheader_filename = "sys/timex.h")]
549     public const int TIME_WAIT;
550     [CCode (cheader_filename = "sys/timex.h")]
551     public const int TIME_BAD;
553     // adjtimex(2)
554     [CCode (cname = "struct timex", cheader_filename = "sys/timex.h")]
555     public struct timex {
556         public AdjustModes modes;   /* mode selector */
557         public long offset;         /* time offset (usec) */
558         public long freq;           /* frequency offset (scaled ppm) */
559         public long maxerror;       /* maximum error (usec) */
560         public long esterror;       /* estimated error (usec) */
561         public int status;          /* clock command/status */
562         public long constant;       /* pll time constant */
563         public long precision;      /* clock precision (usec) (read-only) */
564         public long tolerance;      /* clock frequency tolerance (ppm) (read-only) */
565         public Posix.timeval time;  /* current time (read-only) */
566         public long tick;           /* usecs between clock ticks */
567     }
569     [CCode (cheader_filename = "sys/timex.h")]
570     public int adjtimex (Linux.timex buf);
572     [CCode (cheader_filename = "time.h")]
573     public time_t timegm (GLib.Time t);
575     [CCode (cheader_filename = "utmp.h")]
576     public int login_tty (int fd);
578     // emulate gettid(2) for which no glib wrapper exists via syscall
579     public Posix.pid_t gettid() {
580         return (Posix.pid_t) syscall( SysCall.gettid );
581     }
583     // syscall(2)
584     [CCode (cprefix = "SYS_", cname = "int")]
585     public enum SysCall {
586         gettid
587     }
589     [CCode (cname = "syscall", cheader_filename = "unistd.h,sys/syscall.h")]
590     public int syscall (int number, ...);
592     // mremap(2)
593     [CCode (cprefix = "MREMAP_", cheader_filename = "sys/mman.h")]
594     public enum MremapFlags {
595         MAYMOVE,
596         FIXED
597     }
599     [CCode (cheader_filename = "sys/mman.h")]
600     public void *mremap (void *old_address, size_t old_size, size_t new_size, MremapFlags flags);
602     /*
603      * Network
604      */
605     [CCode (cprefix = "", lower_case_cprefix = "")]
606     namespace Network {
608         // interface consts, structs, and methods
609         [CCode (cheader_filename = "net/if.h")]
610         public const int IF_NAMESIZ;
612         [CCode (cheader_filename = "net/if.h")]
613         public uint if_nametoindex (string ifname);
614         [CCode (cheader_filename = "net/if.h")]
615         public unowned string if_indextoname (uint ifindex, string ifname);
616         [CCode (cheader_filename = "net/if.h")]
617         public IfNameindex if_nameindex ();
619         [CCode (cname = "int", cprefix = "IFF_", cheader_filename = "net/if.h")]
620         public enum IfFlag {
621             UP,
622             BROADCAST,
623             DEBUG,
624             LOOPBACK,
625             POINTOPOINT,
626             NOTRAILERS,
627             RUNNING,
628             NOARP,
629             PROMISC,
630             ALLMULTI,
631             MASTER,
632             SLAVE,
633             PORTSEL,
634             AUTOMEDIA,
635             DYNAMIC
636         }
638         [CCode (cname = "struct if_nameindex", cheader_filename = "net/if.h", destroy_function = "if_freenameindex")]
639         public struct IfNameindex {
640             public uint if_index;
641             public string if_name;
642         }
644         [CCode (cname = "struct ifmap", cheader_filename = "net/if.h", destroy_function = "")]
645         public struct IfMap {
646             public ulong mem_start;
647             public ulong mem_end;
648             public short base_addr;
649             public uchar irq;
650             public uchar dma;
651             public uchar port;
652         }
654         [CCode (cname = "struct ifreq", cheader_filename = "net/if.h", destroy_function = "")]
655         public struct IfReq {
656             public char[] ifr_name;
657             public Posix.SockAddr ifr_addr;
658             public Posix.SockAddr ifr_dstaddr;
659             public Posix.SockAddr ifr_broadaddr;
660             public Posix.SockAddr ifr_netmask;
661             public Posix.SockAddr ifr_hwaddr;
662             public short ifr_flags;
663             public int ifr_metric;
664             public int ifr_mtu;
665             public IfMap ifr_map;
666             public char[] ifr_slave;
667             public string ifr_data;
668             public int ifr_ifindex;
669             public int ifr_bandwidth;
670             public int ifr_qlen;
671             public char[] ifr_newname;
672         }
674         [CCode (cname = "struct ifconf", cheader_filename = "net/if.h", destroy_function = "")]
675         public struct IfConf {
676             public int ifc_len;
677             public string ifc_buf;
678             public IfReq ifc_req;
679         }
681         // route consts, structs, and methods
682         [CCode (cname = "struct rtentry", cheader_filename = "net/route.h", destroy_function = "")]
683         public struct RtEntry {
684             public Posix.SockAddr rt_dst;
685             public Posix.SockAddr rt_gateway;
686             public Posix.SockAddr rt_genmask;
687             public RtFlag rt_flags;
688             public short rt_metric;
689             public string rt_dev;
690             public ulong rt_mtu;
691             public ulong rt_window;
692             public ushort rt_irtt;
693         }
695         [CCode (cname = "ushort", cprefix = "RTF_", cheader_filename = "net/route.h")]
696         public enum RtFlag {
697             UP,
698             GATEWAY,
699             HOST,
700             REINSTATE,
701             DYNAMIC,
702             MODIFIED,
703             MTU,
704             WINDOW,
705             IRTT,
706             REJECT,
707             STATIC,
708             XRESOLVE,
709             NOFORWARD,
710             THROW,
711             NOPMTUDISC
712         }
714         /* ioctls */
715         [CCode (cheader_filename = "sys/ioctl.h")]
716         public const int SIOCADDRT;
717         [CCode (cheader_filename = "sys/ioctl.h")]
718         public const int SIOCDELRT;
719         [CCode (cheader_filename = "sys/ioctl.h")]
720         public const int SIOCRTMSG;
721         [CCode (cheader_filename = "sys/ioctl.h")]
722         public const int SIOCGIFNAME;
723         [CCode (cheader_filename = "sys/ioctl.h")]
724         public const int SIOCSIFLINK;
725         [CCode (cheader_filename = "sys/ioctl.h")]
726         public const int SIOCGIFCONF;
727         [CCode (cheader_filename = "sys/ioctl.h")]
728         public const int SIOCGIFFLAGS;
729         [CCode (cheader_filename = "sys/ioctl.h")]
730         public const int SIOCSIFFLAGS;
731         [CCode (cheader_filename = "sys/ioctl.h")]
732         public const int SIOCGIFADDR;
733         [CCode (cheader_filename = "sys/ioctl.h")]
734         public const int SIOCSIFADDR;
735         [CCode (cheader_filename = "sys/ioctl.h")]
736         public const int SIOCGIFDSTADDR;
737         [CCode (cheader_filename = "sys/ioctl.h")]
738         public const int SIOCSIFDSTADDR;
739         [CCode (cheader_filename = "sys/ioctl.h")]
740         public const int SIOCGIFBRDADDR;
741         [CCode (cheader_filename = "sys/ioctl.h")]
742         public const int SIOCSIFBRDADDR;
743         [CCode (cheader_filename = "sys/ioctl.h")]
744         public const int SIOCGIFNETMASK;
745         [CCode (cheader_filename = "sys/ioctl.h")]
746         public const int SIOCSIFNETMASK;
747         [CCode (cheader_filename = "sys/ioctl.h")]
748         public const int SIOCGIFMETRIC;
749         [CCode (cheader_filename = "sys/ioctl.h")]
750         public const int SIOCSIFMETRIC;
751         [CCode (cheader_filename = "sys/ioctl.h")]
752         public const int SIOCGIFMEM;
753         [CCode (cheader_filename = "sys/ioctl.h")]
754         public const int SIOCSIFMEM;
755         [CCode (cheader_filename = "sys/ioctl.h")]
756         public const int SIOCGIFMTU;
757         [CCode (cheader_filename = "sys/ioctl.h")]
758         public const int SIOCSIFMTU;
759         [CCode (cheader_filename = "sys/ioctl.h")]
760         public const int SIOCSIFNAME;
761         [CCode (cheader_filename = "sys/ioctl.h")]
762         public const int SIOCSIFHWADDR;
763         [CCode (cheader_filename = "sys/ioctl.h")]
764         public const int SIOCGIFENCAP;
765         [CCode (cheader_filename = "sys/ioctl.h")]
766         public const int SIOCSIFENCAP;
767         [CCode (cheader_filename = "sys/ioctl.h")]
768         public const int SIOCGIFHWADDR;
769         [CCode (cheader_filename = "sys/ioctl.h")]
770         public const int SIOCGIFSLAVE;
771         [CCode (cheader_filename = "sys/ioctl.h")]
772         public const int SIOCSIFSLAVE;
773         [CCode (cheader_filename = "sys/ioctl.h")]
774         public const int SIOCADDMULTI;
775         [CCode (cheader_filename = "sys/ioctl.h")]
776         public const int SIOCDELMULTI;
777         [CCode (cheader_filename = "sys/ioctl.h")]
778         public const int SIOCGIFINDEX;
779         [CCode (cheader_filename = "sys/ioctl.h")]
780         public const int SIOCSIFPFLAGS;
781         [CCode (cheader_filename = "sys/ioctl.h")]
782         public const int SIOCGIFPFLAGS;
783         [CCode (cheader_filename = "sys/ioctl.h")]
784         public const int SIOCDIFADDR;
785         [CCode (cheader_filename = "sys/ioctl.h")]
786         public const int SIOCSIFHWBROADCAST;
787         [CCode (cheader_filename = "sys/ioctl.h")]
788         public const int SIOCGIFCOUNT;
789         [CCode (cheader_filename = "sys/ioctl.h")]
790         public const int SIOCGIFBR;
791         [CCode (cheader_filename = "sys/ioctl.h")]
792         public const int SIOCSIFBR;
793         [CCode (cheader_filename = "sys/ioctl.h")]
794         public const int SIOCGIFTXQLEN;
795         [CCode (cheader_filename = "sys/ioctl.h")]
796         public const int SIOCSIFTXQLEN;
797         [CCode (cheader_filename = "sys/ioctl.h")]
798         public const int SIOCDARP;
799         [CCode (cheader_filename = "sys/ioctl.h")]
800         public const int SIOCGARP;
801         [CCode (cheader_filename = "sys/ioctl.h")]
802         public const int SIOCSARP;
803         [CCode (cheader_filename = "sys/ioctl.h")]
804         public const int SIOCDRARP;
805         [CCode (cheader_filename = "sys/ioctl.h")]
806         public const int SIOCGRARP;
807         [CCode (cheader_filename = "sys/ioctl.h")]
808         public const int SIOCSRARP;
809         [CCode (cheader_filename = "sys/ioctl.h")]
810         public const int SIOCGIFMAP;
811         [CCode (cheader_filename = "sys/ioctl.h")]
812         public const int SIOCSIFMAP;
813         [CCode (cheader_filename = "sys/ioctl.h")]
814         public const int SIOCADDDLCI;
815         [CCode (cheader_filename = "sys/ioctl.h")]
816         public const int SIOCDELDLCI;
817     }
819     /*
820      * Input subsystem
821      */
822     [CCode (cprefix = "", lower_case_cprefix = "")]
823     namespace Input {
825         /*
826          * subsystem structures
827          */
829         [CCode (cname = "struct input_event", cheader_filename = "linux/input.h")]
830         public struct Event {
831             public Posix.timeval time;
832             public uint16 type;
833             public uint16 code;
834             public int32 value;
835         }
837         [CCode (cname = "struct input_id", cheader_filename = "linux/input.h")]
838         public struct Id {
839             public uint16 bustype;
840             public uint16 vendor;
841             public uint16 product;
842             public uint16 version;
843         }
845         [CCode (cname = "struct input_absinfo", cheader_filename = "linux/input.h")]
846         public struct AbsInfo {
847             public int32 value;
848             public int32 minimum;
849             public int32 maximum;
850             public int32 fuzz;
851             public int32 flat;
852         }
854         /*
855          * ioctls
856          */
858         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
859         public const int EVIOCGVERSION;
860         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
861         public const int EVIOCGID;
862         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
863         public const int EVIOCGREP;
864         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
865         public const int EVIOCSREP;
866         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
867         public const int EVIOCGKEYCODE;
868         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
869         public const int EVIOCSKEYCODE;
871         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
872         public int EVIOCGNAME( uint len );
873         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
874         public int EVIOCGPHYS( uint len );
875         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
876         public int EVIOCGUNIQ( uint len );
878         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
879         public int EVIOCGKEY( uint len );
880         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
881         public int EVIOCGLED( uint len );
882         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
883         public int EVIOCGSND( uint len );
884         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
885         public int EVIOCGSW( uint len );
887         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
888         public int EVIOCGBIT( uint ev, uint len );
889         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
890         public int EVIOCGABS( uint abs );
891         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
892         public int EVIOCSABS( uint abs );
894         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
895         public const int EVIOCSFF;
896         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
897         public const int EVIOCRMFF;
898         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
899         public const int EVIOCGEFFECTS;
900         [CCode (cheader_filename = "linux/input.h,sys/ioctl.h")]
901         public const int EVIOCGRAB;
903         /*
904          * event types
905          */
907         [CCode (cheader_filename = "linux/input.h")]
908         public const uint16 EV_SYN;
909         [CCode (cheader_filename = "linux/input.h")]
910         public const uint16 EV_KEY;
911         [CCode (cheader_filename = "linux/input.h")]
912         public const uint16 EV_REL;
913         [CCode (cheader_filename = "linux/input.h")]
914         public const uint16 EV_ABS;
915         [CCode (cheader_filename = "linux/input.h")]
916         public const uint16 EV_MSC;
917         [CCode (cheader_filename = "linux/input.h")]
918         public const uint16 EV_SW;
919         [CCode (cheader_filename = "linux/input.h")]
920         public const uint16 EV_LED;
921         [CCode (cheader_filename = "linux/input.h")]
922         public const uint16 EV_SND;
923         [CCode (cheader_filename = "linux/input.h")]
924         public const uint16 EV_REP;
925         [CCode (cheader_filename = "linux/input.h")]
926         public const uint16 EV_FF;
927         [CCode (cheader_filename = "linux/input.h")]
928         public const uint16 EV_PWR;
929         [CCode (cheader_filename = "linux/input.h")]
930         public const uint16 EV_FF_STATUS;
931         [CCode (cheader_filename = "linux/input.h")]
932         public const uint16 EV_MAX;
934         /*
935          * synchronization events
936          */
938         [CCode (cheader_filename = "linux/input.h")]
939         public const int SYN_REPORT;
940         [CCode (cheader_filename = "linux/input.h")]
941         public const int SYN_CONFIG;
943         /*
944          * keys, switches, buttons, etc.
945          */
947         [CCode (cheader_filename = "linux/input.h")]
948         public const int KEY_RESERVED;
949         [CCode (cheader_filename = "linux/input.h")]
950         public const int KEY_ESC;
951         [CCode (cheader_filename = "linux/input.h")]
952         public const int KEY_1;
953         [CCode (cheader_filename = "linux/input.h")]
954         public const int KEY_2;
955         [CCode (cheader_filename = "linux/input.h")]
956         public const int KEY_3;
957         [CCode (cheader_filename = "linux/input.h")]
958         public const int KEY_4;
959         [CCode (cheader_filename = "linux/input.h")]
960         public const int KEY_5;
961         [CCode (cheader_filename = "linux/input.h")]
962         public const int KEY_6;
963         [CCode (cheader_filename = "linux/input.h")]
964         public const int KEY_7;
965         [CCode (cheader_filename = "linux/input.h")]
966         public const int KEY_8;
967         [CCode (cheader_filename = "linux/input.h")]
968         public const int KEY_9;
969         [CCode (cheader_filename = "linux/input.h")]
970         public const int KEY_0;
971         [CCode (cheader_filename = "linux/input.h")]
972         public const int KEY_MINUS;
973         [CCode (cheader_filename = "linux/input.h")]
974         public const int KEY_EQUAL;
975         [CCode (cheader_filename = "linux/input.h")]
976         public const int KEY_BACKSPACE;
977         [CCode (cheader_filename = "linux/input.h")]
978         public const int KEY_TAB;
979         [CCode (cheader_filename = "linux/input.h")]
980         public const int KEY_Q;
981         [CCode (cheader_filename = "linux/input.h")]
982         public const int KEY_W;
983         [CCode (cheader_filename = "linux/input.h")]
984         public const int KEY_E;
985         [CCode (cheader_filename = "linux/input.h")]
986         public const int KEY_R;
987         [CCode (cheader_filename = "linux/input.h")]
988         public const int KEY_T;
989         [CCode (cheader_filename = "linux/input.h")]
990         public const int KEY_Y;
991         [CCode (cheader_filename = "linux/input.h")]
992         public const int KEY_U;
993         [CCode (cheader_filename = "linux/input.h")]
994         public const int KEY_I;
995         [CCode (cheader_filename = "linux/input.h")]
996         public const int KEY_O;
997         [CCode (cheader_filename = "linux/input.h")]
998         public const int KEY_P;
999         [CCode (cheader_filename = "linux/input.h")]
1000         public const int KEY_LEFTBRACE;
1001         [CCode (cheader_filename = "linux/input.h")]
1002         public const int KEY_RIGHTBRACE;
1003         [CCode (cheader_filename = "linux/input.h")]
1004         public const int KEY_ENTER;
1005         [CCode (cheader_filename = "linux/input.h")]
1006         public const int KEY_LEFTCTRL;
1007         [CCode (cheader_filename = "linux/input.h")]
1008         public const int KEY_A;
1009         [CCode (cheader_filename = "linux/input.h")]
1010         public const int KEY_S;
1011         [CCode (cheader_filename = "linux/input.h")]
1012         public const int KEY_D;
1013         [CCode (cheader_filename = "linux/input.h")]
1014         public const int KEY_F;
1015         [CCode (cheader_filename = "linux/input.h")]
1016         public const int KEY_G;
1017         [CCode (cheader_filename = "linux/input.h")]
1018         public const int KEY_H;
1019         [CCode (cheader_filename = "linux/input.h")]
1020         public const int KEY_J;
1021         [CCode (cheader_filename = "linux/input.h")]
1022         public const int KEY_K;
1023         [CCode (cheader_filename = "linux/input.h")]
1024         public const int KEY_L;
1025         [CCode (cheader_filename = "linux/input.h")]
1026         public const int KEY_SEMICOLON;
1027         [CCode (cheader_filename = "linux/input.h")]
1028         public const int KEY_APOSTROPHE;
1029         [CCode (cheader_filename = "linux/input.h")]
1030         public const int KEY_GRAVE;
1031         [CCode (cheader_filename = "linux/input.h")]
1032         public const int KEY_LEFTSHIFT;
1033         [CCode (cheader_filename = "linux/input.h")]
1034         public const int KEY_BACKSLASH;
1035         [CCode (cheader_filename = "linux/input.h")]
1036         public const int KEY_Z;
1037         [CCode (cheader_filename = "linux/input.h")]
1038         public const int KEY_X;
1039         [CCode (cheader_filename = "linux/input.h")]
1040         public const int KEY_C;
1041         [CCode (cheader_filename = "linux/input.h")]
1042         public const int KEY_V;
1043         [CCode (cheader_filename = "linux/input.h")]
1044         public const int KEY_B;
1045         [CCode (cheader_filename = "linux/input.h")]
1046         public const int KEY_N;
1047         [CCode (cheader_filename = "linux/input.h")]
1048         public const int KEY_M;
1049         [CCode (cheader_filename = "linux/input.h")]
1050         public const int KEY_COMMA;
1051         [CCode (cheader_filename = "linux/input.h")]
1052         public const int KEY_DOT;
1053         [CCode (cheader_filename = "linux/input.h")]
1054         public const int KEY_SLASH;
1055         [CCode (cheader_filename = "linux/input.h")]
1056         public const int KEY_RIGHTSHIFT;
1057         [CCode (cheader_filename = "linux/input.h")]
1058         public const int KEY_KPASTERISK;
1059         [CCode (cheader_filename = "linux/input.h")]
1060         public const int KEY_LEFTALT;
1061         [CCode (cheader_filename = "linux/input.h")]
1062         public const int KEY_SPACE;
1063         [CCode (cheader_filename = "linux/input.h")]
1064         public const int KEY_CAPSLOCK;
1065         [CCode (cheader_filename = "linux/input.h")]
1066         public const int KEY_F1;
1067         [CCode (cheader_filename = "linux/input.h")]
1068         public const int KEY_F2;
1069         [CCode (cheader_filename = "linux/input.h")]
1070         public const int KEY_F3;
1071         [CCode (cheader_filename = "linux/input.h")]
1072         public const int KEY_F4;
1073         [CCode (cheader_filename = "linux/input.h")]
1074         public const int KEY_F5;
1075         [CCode (cheader_filename = "linux/input.h")]
1076         public const int KEY_F6;
1077         [CCode (cheader_filename = "linux/input.h")]
1078         public const int KEY_F7;
1079         [CCode (cheader_filename = "linux/input.h")]
1080         public const int KEY_F8;
1081         [CCode (cheader_filename = "linux/input.h")]
1082         public const int KEY_F9;
1083         [CCode (cheader_filename = "linux/input.h")]
1084         public const int KEY_F10;
1085         [CCode (cheader_filename = "linux/input.h")]
1086         public const int KEY_NUMLOCK;
1087         [CCode (cheader_filename = "linux/input.h")]
1088         public const int KEY_SCROLLLOCK;
1089         [CCode (cheader_filename = "linux/input.h")]
1090         public const int KEY_KP7;
1091         [CCode (cheader_filename = "linux/input.h")]
1092         public const int KEY_KP8;
1093         [CCode (cheader_filename = "linux/input.h")]
1094         public const int KEY_KP9;
1095         [CCode (cheader_filename = "linux/input.h")]
1096         public const int KEY_KPMINUS;
1097         [CCode (cheader_filename = "linux/input.h")]
1098         public const int KEY_KP4;
1099         [CCode (cheader_filename = "linux/input.h")]
1100         public const int KEY_KP5;
1101         [CCode (cheader_filename = "linux/input.h")]
1102         public const int KEY_KP6;
1103         [CCode (cheader_filename = "linux/input.h")]
1104         public const int KEY_KPPLUS;
1105         [CCode (cheader_filename = "linux/input.h")]
1106         public const int KEY_KP1;
1107         [CCode (cheader_filename = "linux/input.h")]
1108         public const int KEY_KP2;
1109         [CCode (cheader_filename = "linux/input.h")]
1110         public const int KEY_KP3;
1111         [CCode (cheader_filename = "linux/input.h")]
1112         public const int KEY_KP0;
1113         [CCode (cheader_filename = "linux/input.h")]
1114         public const int KEY_KPDOT;
1116         [CCode (cheader_filename = "linux/input.h")]
1117         public const int KEY_ZENKAKUHANKAKU;
1118         [CCode (cheader_filename = "linux/input.h")]
1119         public const int KEY_102ND;
1120         [CCode (cheader_filename = "linux/input.h")]
1121         public const int KEY_F11;
1122         [CCode (cheader_filename = "linux/input.h")]
1123         public const int KEY_F12;
1124         [CCode (cheader_filename = "linux/input.h")]
1125         public const int KEY_RO;
1126         [CCode (cheader_filename = "linux/input.h")]
1127         public const int KEY_KATAKANA;
1128         [CCode (cheader_filename = "linux/input.h")]
1129         public const int KEY_HIRAGANA;
1130         [CCode (cheader_filename = "linux/input.h")]
1131         public const int KEY_HENKAN;
1132         [CCode (cheader_filename = "linux/input.h")]
1133         public const int KEY_KATAKANAHIRAGANA;
1134         [CCode (cheader_filename = "linux/input.h")]
1135         public const int KEY_MUHENKAN;
1136         [CCode (cheader_filename = "linux/input.h")]
1137         public const int KEY_KPJPCOMMA;
1138         [CCode (cheader_filename = "linux/input.h")]
1139         public const int KEY_KPENTER;
1140         [CCode (cheader_filename = "linux/input.h")]
1141         public const int KEY_RIGHTCTRL;
1142         [CCode (cheader_filename = "linux/input.h")]
1143         public const int KEY_KPSLASH;
1144         [CCode (cheader_filename = "linux/input.h")]
1145         public const int KEY_SYSRQ;
1146         [CCode (cheader_filename = "linux/input.h")]
1147         public const int KEY_RIGHTALT;
1148         [CCode (cheader_filename = "linux/input.h")]
1149         public const int KEY_LINEFEED;
1150         [CCode (cheader_filename = "linux/input.h")]
1151         public const int KEY_HOME;
1152         [CCode (cheader_filename = "linux/input.h")]
1153         public const int KEY_UP;
1154         [CCode (cheader_filename = "linux/input.h")]
1155         public const int KEY_PAGEUP;
1156         [CCode (cheader_filename = "linux/input.h")]
1157         public const int KEY_LEFT;
1158         [CCode (cheader_filename = "linux/input.h")]
1159         public const int KEY_RIGHT;
1160         [CCode (cheader_filename = "linux/input.h")]
1161         public const int KEY_END;
1162         [CCode (cheader_filename = "linux/input.h")]
1163         public const int KEY_DOWN;
1164         [CCode (cheader_filename = "linux/input.h")]
1165         public const int KEY_PAGEDOWN;
1166         [CCode (cheader_filename = "linux/input.h")]
1167         public const int KEY_INSERT;
1168         [CCode (cheader_filename = "linux/input.h")]
1169         public const int KEY_DELETE;
1170         [CCode (cheader_filename = "linux/input.h")]
1171         public const int KEY_MACRO;
1172         [CCode (cheader_filename = "linux/input.h")]
1173         public const int KEY_MUTE;
1174         [CCode (cheader_filename = "linux/input.h")]
1175         public const int KEY_VOLUMEDOWN;
1176         [CCode (cheader_filename = "linux/input.h")]
1177         public const int KEY_VOLUMEUP;
1178         [CCode (cheader_filename = "linux/input.h")]
1179         public const int KEY_POWER;
1180         [CCode (cheader_filename = "linux/input.h")]
1181         public const int KEY_KPEQUAL;
1182         [CCode (cheader_filename = "linux/input.h")]
1183         public const int KEY_KPPLUSMINUS;
1184         [CCode (cheader_filename = "linux/input.h")]
1185         public const int KEY_PAUSE;
1186         [CCode (cheader_filename = "linux/input.h")]
1187         public const int KEY_SCALE;
1189         [CCode (cheader_filename = "linux/input.h")]
1190         public const int KEY_KPCOMMA;
1191         [CCode (cheader_filename = "linux/input.h")]
1192         public const int KEY_HANGEUL;
1193         [CCode (cheader_filename = "linux/input.h")]
1194         public const int KEY_HANGUEL;
1195         [CCode (cheader_filename = "linux/input.h")]
1196         public const int KEY_HANJA;
1197         [CCode (cheader_filename = "linux/input.h")]
1198         public const int KEY_YEN;
1199         [CCode (cheader_filename = "linux/input.h")]
1200         public const int KEY_LEFTMETA;
1201         [CCode (cheader_filename = "linux/input.h")]
1202         public const int KEY_RIGHTMETA;
1203         [CCode (cheader_filename = "linux/input.h")]
1204         public const int KEY_COMPOSE;
1206         [CCode (cheader_filename = "linux/input.h")]
1207         public const int KEY_STOP;
1208         [CCode (cheader_filename = "linux/input.h")]
1209         public const int KEY_AGAIN;
1210         [CCode (cheader_filename = "linux/input.h")]
1211         public const int KEY_PROPS;
1212         [CCode (cheader_filename = "linux/input.h")]
1213         public const int KEY_UNDO;
1214         [CCode (cheader_filename = "linux/input.h")]
1215         public const int KEY_FRONT;
1216         [CCode (cheader_filename = "linux/input.h")]
1217         public const int KEY_COPY;
1218         [CCode (cheader_filename = "linux/input.h")]
1219         public const int KEY_OPEN;
1220         [CCode (cheader_filename = "linux/input.h")]
1221         public const int KEY_PASTE;
1222         [CCode (cheader_filename = "linux/input.h")]
1223         public const int KEY_FIND;
1224         [CCode (cheader_filename = "linux/input.h")]
1225         public const int KEY_CUT;
1226         [CCode (cheader_filename = "linux/input.h")]
1227         public const int KEY_HELP;
1228         [CCode (cheader_filename = "linux/input.h")]
1229         public const int KEY_MENU;
1230         [CCode (cheader_filename = "linux/input.h")]
1231         public const int KEY_CALC;
1232         [CCode (cheader_filename = "linux/input.h")]
1233         public const int KEY_SETUP;
1234         [CCode (cheader_filename = "linux/input.h")]
1235         public const int KEY_SLEEP;
1236         [CCode (cheader_filename = "linux/input.h")]
1237         public const int KEY_WAKEUP;
1238         [CCode (cheader_filename = "linux/input.h")]
1239         public const int KEY_FILE;
1240         [CCode (cheader_filename = "linux/input.h")]
1241         public const int KEY_SENDFILE;
1242         [CCode (cheader_filename = "linux/input.h")]
1243         public const int KEY_DELETEFILE;
1244         [CCode (cheader_filename = "linux/input.h")]
1245         public const int KEY_XFER;
1246         [CCode (cheader_filename = "linux/input.h")]
1247         public const int KEY_PROG1;
1248         [CCode (cheader_filename = "linux/input.h")]
1249         public const int KEY_PROG2;
1250         [CCode (cheader_filename = "linux/input.h")]
1251         public const int KEY_WWW;
1252         [CCode (cheader_filename = "linux/input.h")]
1253         public const int KEY_MSDOS;
1254         [CCode (cheader_filename = "linux/input.h")]
1255         public const int KEY_COFFEE;
1256         [CCode (cheader_filename = "linux/input.h")]
1257         public const int KEY_SCREENLOCK;
1258         [CCode (cheader_filename = "linux/input.h")]
1259         public const int KEY_DIRECTION;
1260         [CCode (cheader_filename = "linux/input.h")]
1261         public const int KEY_CYCLEWINDOWS;
1262         [CCode (cheader_filename = "linux/input.h")]
1263         public const int KEY_MAIL;
1264         [CCode (cheader_filename = "linux/input.h")]
1265         public const int KEY_BOOKMARKS;
1266         [CCode (cheader_filename = "linux/input.h")]
1267         public const int KEY_COMPUTER;
1268         [CCode (cheader_filename = "linux/input.h")]
1269         public const int KEY_BACK;
1270         [CCode (cheader_filename = "linux/input.h")]
1271         public const int KEY_FORWARD;
1272         [CCode (cheader_filename = "linux/input.h")]
1273         public const int KEY_CLOSECD;
1274         [CCode (cheader_filename = "linux/input.h")]
1275         public const int KEY_EJECTCD;
1276         [CCode (cheader_filename = "linux/input.h")]
1277         public const int KEY_EJECTCLOSECD;
1278         [CCode (cheader_filename = "linux/input.h")]
1279         public const int KEY_NEXTSONG;
1280         [CCode (cheader_filename = "linux/input.h")]
1281         public const int KEY_PLAYPAUSE;
1282         [CCode (cheader_filename = "linux/input.h")]
1283         public const int KEY_PREVIOUSSONG;
1284         [CCode (cheader_filename = "linux/input.h")]
1285         public const int KEY_STOPCD;
1286         [CCode (cheader_filename = "linux/input.h")]
1287         public const int KEY_RECORD;
1288         [CCode (cheader_filename = "linux/input.h")]
1289         public const int KEY_REWIND;
1290         [CCode (cheader_filename = "linux/input.h")]
1291         public const int KEY_PHONE;
1292         [CCode (cheader_filename = "linux/input.h")]
1293         public const int KEY_ISO;
1294         [CCode (cheader_filename = "linux/input.h")]
1295         public const int KEY_CONFIG;
1296         [CCode (cheader_filename = "linux/input.h")]
1297         public const int KEY_HOMEPAGE;
1298         [CCode (cheader_filename = "linux/input.h")]
1299         public const int KEY_REFRESH;
1300         [CCode (cheader_filename = "linux/input.h")]
1301         public const int KEY_EXIT;
1302         [CCode (cheader_filename = "linux/input.h")]
1303         public const int KEY_MOVE;
1304         [CCode (cheader_filename = "linux/input.h")]
1305         public const int KEY_EDIT;
1306         [CCode (cheader_filename = "linux/input.h")]
1307         public const int KEY_SCROLLUP;
1308         [CCode (cheader_filename = "linux/input.h")]
1309         public const int KEY_SCROLLDOWN;
1310         [CCode (cheader_filename = "linux/input.h")]
1311         public const int KEY_KPLEFTPAREN;
1312         [CCode (cheader_filename = "linux/input.h")]
1313         public const int KEY_KPRIGHTPAREN;
1314         [CCode (cheader_filename = "linux/input.h")]
1315         public const int KEY_NEW;
1316         [CCode (cheader_filename = "linux/input.h")]
1317         public const int KEY_REDO;
1319         [CCode (cheader_filename = "linux/input.h")]
1320         public const int KEY_F13;
1321         [CCode (cheader_filename = "linux/input.h")]
1322         public const int KEY_F14;
1323         [CCode (cheader_filename = "linux/input.h")]
1324         public const int KEY_F15;
1325         [CCode (cheader_filename = "linux/input.h")]
1326         public const int KEY_F16;
1327         [CCode (cheader_filename = "linux/input.h")]
1328         public const int KEY_F17;
1329         [CCode (cheader_filename = "linux/input.h")]
1330         public const int KEY_F18;
1331         [CCode (cheader_filename = "linux/input.h")]
1332         public const int KEY_F19;
1333         [CCode (cheader_filename = "linux/input.h")]
1334         public const int KEY_F20;
1335         [CCode (cheader_filename = "linux/input.h")]
1336         public const int KEY_F21;
1337         [CCode (cheader_filename = "linux/input.h")]
1338         public const int KEY_F22;
1339         [CCode (cheader_filename = "linux/input.h")]
1340         public const int KEY_F23;
1341         [CCode (cheader_filename = "linux/input.h")]
1342         public const int KEY_F24;
1344         [CCode (cheader_filename = "linux/input.h")]
1345         public const int KEY_PLAYCD;
1346         [CCode (cheader_filename = "linux/input.h")]
1347         public const int KEY_PAUSECD;
1348         [CCode (cheader_filename = "linux/input.h")]
1349         public const int KEY_PROG3;
1350         [CCode (cheader_filename = "linux/input.h")]
1351         public const int KEY_PROG4;
1352         [CCode (cheader_filename = "linux/input.h")]
1353         public const int KEY_DASHBOARD;
1354         [CCode (cheader_filename = "linux/input.h")]
1355         public const int KEY_SUSPEND;
1356         [CCode (cheader_filename = "linux/input.h")]
1357         public const int KEY_CLOSE;
1358         [CCode (cheader_filename = "linux/input.h")]
1359         public const int KEY_PLAY;
1360         [CCode (cheader_filename = "linux/input.h")]
1361         public const int KEY_FASTFORWARD;
1362         [CCode (cheader_filename = "linux/input.h")]
1363         public const int KEY_BASSBOOST;
1364         [CCode (cheader_filename = "linux/input.h")]
1365         public const int KEY_PRINT;
1366         [CCode (cheader_filename = "linux/input.h")]
1367         public const int KEY_HP;
1368         [CCode (cheader_filename = "linux/input.h")]
1369         public const int KEY_CAMERA;
1370         [CCode (cheader_filename = "linux/input.h")]
1371         public const int KEY_SOUND;
1372         [CCode (cheader_filename = "linux/input.h")]
1373         public const int KEY_QUESTION;
1374         [CCode (cheader_filename = "linux/input.h")]
1375         public const int KEY_EMAIL;
1376         [CCode (cheader_filename = "linux/input.h")]
1377         public const int KEY_CHAT;
1378         [CCode (cheader_filename = "linux/input.h")]
1379         public const int KEY_SEARCH;
1380         [CCode (cheader_filename = "linux/input.h")]
1381         public const int KEY_CONNECT;
1382         [CCode (cheader_filename = "linux/input.h")]
1383         public const int KEY_FINANCE;
1384         [CCode (cheader_filename = "linux/input.h")]
1385         public const int KEY_SPORT;
1386         [CCode (cheader_filename = "linux/input.h")]
1387         public const int KEY_SHOP;
1388         [CCode (cheader_filename = "linux/input.h")]
1389         public const int KEY_ALTERASE;
1390         [CCode (cheader_filename = "linux/input.h")]
1391         public const int KEY_CANCEL;
1392         [CCode (cheader_filename = "linux/input.h")]
1393         public const int KEY_BRIGHTNESSDOWN;
1394         [CCode (cheader_filename = "linux/input.h")]
1395         public const int KEY_BRIGHTNESSUP;
1396         [CCode (cheader_filename = "linux/input.h")]
1397         public const int KEY_MEDIA;
1399         [CCode (cheader_filename = "linux/input.h")]
1400         public const int KEY_SWITCHVIDEOMODE;
1401         [CCode (cheader_filename = "linux/input.h")]
1402         public const int KEY_KBDILLUMTOGGLE;
1403         [CCode (cheader_filename = "linux/input.h")]
1404         public const int KEY_KBDILLUMDOWN;
1405         [CCode (cheader_filename = "linux/input.h")]
1406         public const int KEY_KBDILLUMUP;
1408         [CCode (cheader_filename = "linux/input.h")]
1409         public const int KEY_SEND;
1410         [CCode (cheader_filename = "linux/input.h")]
1411         public const int KEY_REPLY;
1412         [CCode (cheader_filename = "linux/input.h")]
1413         public const int KEY_FORWARDMAIL;
1414         [CCode (cheader_filename = "linux/input.h")]
1415         public const int KEY_SAVE;
1416         [CCode (cheader_filename = "linux/input.h")]
1417         public const int KEY_DOCUMENTS;
1419         [CCode (cheader_filename = "linux/input.h")]
1420         public const int KEY_BATTERY;
1422         [CCode (cheader_filename = "linux/input.h")]
1423         public const int KEY_BLUETOOTH;
1424         [CCode (cheader_filename = "linux/input.h")]
1425         public const int KEY_WLAN;
1426         [CCode (cheader_filename = "linux/input.h")]
1427         public const int KEY_UWB;
1429         [CCode (cheader_filename = "linux/input.h")]
1430         public const int KEY_UNKNOWN;
1432         [CCode (cheader_filename = "linux/input.h")]
1433         public const int KEY_VIDEO_NEXT;
1434         [CCode (cheader_filename = "linux/input.h")]
1435         public const int KEY_VIDEO_PREV;
1436         [CCode (cheader_filename = "linux/input.h")]
1437         public const int KEY_BRIGHTNESS_CYCLE;
1438         [CCode (cheader_filename = "linux/input.h")]
1439         public const int KEY_BRIGHTNESS_ZERO;
1440         [CCode (cheader_filename = "linux/input.h")]
1441         public const int KEY_DISPLAY_OFF;
1443         [CCode (cheader_filename = "linux/input.h")]
1444         public const int KEY_WIMAX;
1446         [CCode (cheader_filename = "linux/input.h")]
1447         public const int KEY_MAX;
1449         /* Range 248 - 255 is reserved for special needs of AT keyboard driver */
1451         [CCode (cheader_filename = "linux/input.h")]
1452         public const int BTN_MISC;
1453         [CCode (cheader_filename = "linux/input.h")]
1454         public const int BTN_0;
1455         [CCode (cheader_filename = "linux/input.h")]
1456         public const int BTN_1;
1457         [CCode (cheader_filename = "linux/input.h")]
1458         public const int BTN_2;
1459         [CCode (cheader_filename = "linux/input.h")]
1460         public const int BTN_3;
1461         [CCode (cheader_filename = "linux/input.h")]
1462         public const int BTN_4;
1463         [CCode (cheader_filename = "linux/input.h")]
1464         public const int BTN_5;
1465         [CCode (cheader_filename = "linux/input.h")]
1466         public const int BTN_6;
1467         [CCode (cheader_filename = "linux/input.h")]
1468         public const int BTN_7;
1469         [CCode (cheader_filename = "linux/input.h")]
1470         public const int BTN_8;
1471         [CCode (cheader_filename = "linux/input.h")]
1472         public const int BTN_9;
1474         [CCode (cheader_filename = "linux/input.h")]
1475         public const int BTN_MOUSE;
1476         [CCode (cheader_filename = "linux/input.h")]
1477         public const int BTN_LEFT;
1478         [CCode (cheader_filename = "linux/input.h")]
1479         public const int BTN_RIGHT;
1480         [CCode (cheader_filename = "linux/input.h")]
1481         public const int BTN_MIDDLE;
1482         [CCode (cheader_filename = "linux/input.h")]
1483         public const int BTN_SIDE;
1484         [CCode (cheader_filename = "linux/input.h")]
1485         public const int BTN_EXTRA;
1486         [CCode (cheader_filename = "linux/input.h")]
1487         public const int BTN_FORWARD;
1488         [CCode (cheader_filename = "linux/input.h")]
1489         public const int BTN_BACK;
1490         [CCode (cheader_filename = "linux/input.h")]
1491         public const int BTN_TASK;
1493         [CCode (cheader_filename = "linux/input.h")]
1494         public const int BTN_JOYSTICK;
1495         [CCode (cheader_filename = "linux/input.h")]
1496         public const int BTN_TRIGGER;
1497         [CCode (cheader_filename = "linux/input.h")]
1498         public const int BTN_THUMB;
1499         [CCode (cheader_filename = "linux/input.h")]
1500         public const int BTN_THUMB2;
1501         [CCode (cheader_filename = "linux/input.h")]
1502         public const int BTN_TOP;
1503         [CCode (cheader_filename = "linux/input.h")]
1504         public const int BTN_TOP2;
1505         [CCode (cheader_filename = "linux/input.h")]
1506         public const int BTN_PINKIE;
1507         [CCode (cheader_filename = "linux/input.h")]
1508         public const int BTN_BASE;
1509         [CCode (cheader_filename = "linux/input.h")]
1510         public const int BTN_BASE2;
1511         [CCode (cheader_filename = "linux/input.h")]
1512         public const int BTN_BASE3;
1513         [CCode (cheader_filename = "linux/input.h")]
1514         public const int BTN_BASE4;
1515         [CCode (cheader_filename = "linux/input.h")]
1516         public const int BTN_BASE5;
1517         [CCode (cheader_filename = "linux/input.h")]
1518         public const int BTN_BASE6;
1519         [CCode (cheader_filename = "linux/input.h")]
1520         public const int BTN_DEAD;
1522         [CCode (cheader_filename = "linux/input.h")]
1523         public const int BTN_GAMEPAD;
1524         [CCode (cheader_filename = "linux/input.h")]
1525         public const int BTN_A;
1526         [CCode (cheader_filename = "linux/input.h")]
1527         public const int BTN_B;
1528         [CCode (cheader_filename = "linux/input.h")]
1529         public const int BTN_C;
1530         [CCode (cheader_filename = "linux/input.h")]
1531         public const int BTN_X;
1532         [CCode (cheader_filename = "linux/input.h")]
1533         public const int BTN_Y;
1534         [CCode (cheader_filename = "linux/input.h")]
1535         public const int BTN_Z;
1536         [CCode (cheader_filename = "linux/input.h")]
1537         public const int BTN_TL;
1538         [CCode (cheader_filename = "linux/input.h")]
1539         public const int BTN_TR;
1540         [CCode (cheader_filename = "linux/input.h")]
1541         public const int BTN_TL2;
1542         [CCode (cheader_filename = "linux/input.h")]
1543         public const int BTN_TR2;
1544         [CCode (cheader_filename = "linux/input.h")]
1545         public const int BTN_SELECT;
1546         [CCode (cheader_filename = "linux/input.h")]
1547         public const int BTN_START;
1548         [CCode (cheader_filename = "linux/input.h")]
1549         public const int BTN_MODE;
1550         [CCode (cheader_filename = "linux/input.h")]
1551         public const int BTN_THUMBL;
1552         [CCode (cheader_filename = "linux/input.h")]
1553         public const int BTN_THUMBR;
1555         [CCode (cheader_filename = "linux/input.h")]
1556         public const int BTN_DIGI;
1557         [CCode (cheader_filename = "linux/input.h")]
1558         public const int BTN_TOOL_PEN;
1559         [CCode (cheader_filename = "linux/input.h")]
1560         public const int BTN_TOOL_RUBBER;
1561         [CCode (cheader_filename = "linux/input.h")]
1562         public const int BTN_TOOL_BRUSH;
1563         [CCode (cheader_filename = "linux/input.h")]
1564         public const int BTN_TOOL_PENCIL;
1565         [CCode (cheader_filename = "linux/input.h")]
1566         public const int BTN_TOOL_AIRBRUSH;
1567         [CCode (cheader_filename = "linux/input.h")]
1568         public const int BTN_TOOL_FINGER;
1569         [CCode (cheader_filename = "linux/input.h")]
1570         public const int BTN_TOOL_MOUSE;
1571         [CCode (cheader_filename = "linux/input.h")]
1572         public const int BTN_TOOL_LENS;
1573         [CCode (cheader_filename = "linux/input.h")]
1574         public const int BTN_TOUCH;
1575         [CCode (cheader_filename = "linux/input.h")]
1576         public const int BTN_STYLUS;
1577         [CCode (cheader_filename = "linux/input.h")]
1578         public const int BTN_STYLUS2;
1579         [CCode (cheader_filename = "linux/input.h")]
1580         public const int BTN_TOOL_DOUBLETAP;
1581         [CCode (cheader_filename = "linux/input.h")]
1582         public const int BTN_TOOL_TRIPLETAP;
1584         [CCode (cheader_filename = "linux/input.h")]
1585         public const int BTN_WHEEL;
1586         [CCode (cheader_filename = "linux/input.h")]
1587         public const int BTN_GEAR_DOWN;
1588         [CCode (cheader_filename = "linux/input.h")]
1589         public const int BTN_GEAR_UP;
1591         [CCode (cheader_filename = "linux/input.h")]
1592         public const int KEY_OK;
1593         [CCode (cheader_filename = "linux/input.h")]
1594         public const int KEY_SELECT;
1595         [CCode (cheader_filename = "linux/input.h")]
1596         public const int KEY_GOTO;
1597         [CCode (cheader_filename = "linux/input.h")]
1598         public const int KEY_CLEAR;
1599         [CCode (cheader_filename = "linux/input.h")]
1600         public const int KEY_POWER2;
1601         [CCode (cheader_filename = "linux/input.h")]
1602         public const int KEY_OPTION;
1603         [CCode (cheader_filename = "linux/input.h")]
1604         public const int KEY_INFO;
1605         [CCode (cheader_filename = "linux/input.h")]
1606         public const int KEY_TIME;
1607         [CCode (cheader_filename = "linux/input.h")]
1608         public const int KEY_VENDOR;
1609         [CCode (cheader_filename = "linux/input.h")]
1610         public const int KEY_ARCHIVE;
1611         [CCode (cheader_filename = "linux/input.h")]
1612         public const int KEY_PROGRAM;
1613         [CCode (cheader_filename = "linux/input.h")]
1614         public const int KEY_CHANNEL;
1615         [CCode (cheader_filename = "linux/input.h")]
1616         public const int KEY_FAVORITES;
1617         [CCode (cheader_filename = "linux/input.h")]
1618         public const int KEY_EPG;
1619         [CCode (cheader_filename = "linux/input.h")]
1620         public const int KEY_PVR;
1621         [CCode (cheader_filename = "linux/input.h")]
1622         public const int KEY_MHP;
1623         [CCode (cheader_filename = "linux/input.h")]
1624         public const int KEY_LANGUAGE;
1625         [CCode (cheader_filename = "linux/input.h")]
1626         public const int KEY_TITLE;
1627         [CCode (cheader_filename = "linux/input.h")]
1628         public const int KEY_SUBTITLE;
1629         [CCode (cheader_filename = "linux/input.h")]
1630         public const int KEY_ANGLE;
1631         [CCode (cheader_filename = "linux/input.h")]
1632         public const int KEY_ZOOM;
1633         [CCode (cheader_filename = "linux/input.h")]
1634         public const int KEY_MODE;
1635         [CCode (cheader_filename = "linux/input.h")]
1636         public const int KEY_KEYBOARD;
1637         [CCode (cheader_filename = "linux/input.h")]
1638         public const int KEY_SCREEN;
1639         [CCode (cheader_filename = "linux/input.h")]
1640         public const int KEY_PC;
1641         [CCode (cheader_filename = "linux/input.h")]
1642         public const int KEY_TV;
1643         [CCode (cheader_filename = "linux/input.h")]
1644         public const int KEY_TV2;
1645         [CCode (cheader_filename = "linux/input.h")]
1646         public const int KEY_VCR;
1647         [CCode (cheader_filename = "linux/input.h")]
1648         public const int KEY_VCR2;
1649         [CCode (cheader_filename = "linux/input.h")]
1650         public const int KEY_SAT;
1651         [CCode (cheader_filename = "linux/input.h")]
1652         public const int KEY_SAT2;
1653         [CCode (cheader_filename = "linux/input.h")]
1654         public const int KEY_CD;
1655         [CCode (cheader_filename = "linux/input.h")]
1656         public const int KEY_TAPE;
1657         [CCode (cheader_filename = "linux/input.h")]
1658         public const int KEY_RADIO;
1659         [CCode (cheader_filename = "linux/input.h")]
1660         public const int KEY_TUNER;
1661         [CCode (cheader_filename = "linux/input.h")]
1662         public const int KEY_PLAYER;
1663         [CCode (cheader_filename = "linux/input.h")]
1664         public const int KEY_TEXT;
1665         [CCode (cheader_filename = "linux/input.h")]
1666         public const int KEY_DVD;
1667         [CCode (cheader_filename = "linux/input.h")]
1668         public const int KEY_AUX;
1669         [CCode (cheader_filename = "linux/input.h")]
1670         public const int KEY_MP3;
1671         [CCode (cheader_filename = "linux/input.h")]
1672         public const int KEY_AUDIO;
1673         [CCode (cheader_filename = "linux/input.h")]
1674         public const int KEY_VIDEO;
1675         [CCode (cheader_filename = "linux/input.h")]
1676         public const int KEY_DIRECTORY;
1677         [CCode (cheader_filename = "linux/input.h")]
1678         public const int KEY_LIST;
1679         [CCode (cheader_filename = "linux/input.h")]
1680         public const int KEY_MEMO;
1681         [CCode (cheader_filename = "linux/input.h")]
1682         public const int KEY_CALENDAR;
1683         [CCode (cheader_filename = "linux/input.h")]
1684         public const int KEY_RED;
1685         [CCode (cheader_filename = "linux/input.h")]
1686         public const int KEY_GREEN;
1687         [CCode (cheader_filename = "linux/input.h")]
1688         public const int KEY_YELLOW;
1689         [CCode (cheader_filename = "linux/input.h")]
1690         public const int KEY_BLUE;
1691         [CCode (cheader_filename = "linux/input.h")]
1692         public const int KEY_CHANNELUP;
1693         [CCode (cheader_filename = "linux/input.h")]
1694         public const int KEY_CHANNELDOWN;
1695         [CCode (cheader_filename = "linux/input.h")]
1696         public const int KEY_FIRST;
1697         [CCode (cheader_filename = "linux/input.h")]
1698         public const int KEY_LAST;
1699         [CCode (cheader_filename = "linux/input.h")]
1700         public const int KEY_AB;
1701         [CCode (cheader_filename = "linux/input.h")]
1702         public const int KEY_NEXT;
1703         [CCode (cheader_filename = "linux/input.h")]
1704         public const int KEY_RESTART;
1705         [CCode (cheader_filename = "linux/input.h")]
1706         public const int KEY_SLOW;
1707         [CCode (cheader_filename = "linux/input.h")]
1708         public const int KEY_SHUFFLE;
1709         [CCode (cheader_filename = "linux/input.h")]
1710         public const int KEY_BREAK;
1711         [CCode (cheader_filename = "linux/input.h")]
1712         public const int KEY_PREVIOUS;
1713         [CCode (cheader_filename = "linux/input.h")]
1714         public const int KEY_DIGITS;
1715         [CCode (cheader_filename = "linux/input.h")]
1716         public const int KEY_TEEN;
1717         [CCode (cheader_filename = "linux/input.h")]
1718         public const int KEY_TWEN;
1719         [CCode (cheader_filename = "linux/input.h")]
1720         public const int KEY_VIDEOPHONE;
1721         [CCode (cheader_filename = "linux/input.h")]
1722         public const int KEY_GAMES;
1723         [CCode (cheader_filename = "linux/input.h")]
1724         public const int KEY_ZOOMIN;
1725         [CCode (cheader_filename = "linux/input.h")]
1726         public const int KEY_ZOOMOUT;
1727         [CCode (cheader_filename = "linux/input.h")]
1728         public const int KEY_ZOOMRESET;
1729         [CCode (cheader_filename = "linux/input.h")]
1730         public const int KEY_WORDPROCESSOR;
1731         [CCode (cheader_filename = "linux/input.h")]
1732         public const int KEY_EDITOR;
1733         [CCode (cheader_filename = "linux/input.h")]
1734         public const int KEY_SPREADSHEET;
1735         [CCode (cheader_filename = "linux/input.h")]
1736         public const int KEY_GRAPHICSEDITOR;
1737         [CCode (cheader_filename = "linux/input.h")]
1738         public const int KEY_PRESENTATION;
1739         [CCode (cheader_filename = "linux/input.h")]
1740         public const int KEY_DATABASE;
1741         [CCode (cheader_filename = "linux/input.h")]
1742         public const int KEY_NEWS;
1743         [CCode (cheader_filename = "linux/input.h")]
1744         public const int KEY_VOICEMAIL;
1745         [CCode (cheader_filename = "linux/input.h")]
1746         public const int KEY_ADDRESSBOOK;
1747         [CCode (cheader_filename = "linux/input.h")]
1748         public const int KEY_MESSENGER;
1749         [CCode (cheader_filename = "linux/input.h")]
1750         public const int KEY_DISPLAYTOGGLE;
1751         [CCode (cheader_filename = "linux/input.h")]
1752         public const int KEY_SPELLCHECK;
1753         [CCode (cheader_filename = "linux/input.h")]
1754         public const int KEY_LOGOFF;
1756         [CCode (cheader_filename = "linux/input.h")]
1757         public const int KEY_DOLLAR;
1758         [CCode (cheader_filename = "linux/input.h")]
1759         public const int KEY_EURO;
1761         [CCode (cheader_filename = "linux/input.h")]
1762         public const int KEY_FRAMEBACK;
1763         [CCode (cheader_filename = "linux/input.h")]
1764         public const int KEY_FRAMEFORWARD;
1765         [CCode (cheader_filename = "linux/input.h")]
1766         public const int KEY_CONTEXT_MENU;
1767         [CCode (cheader_filename = "linux/input.h")]
1768         public const int KEY_MEDIA_REPEAT;
1770         [CCode (cheader_filename = "linux/input.h")]
1771         public const int KEY_DEL_EOL;
1772         [CCode (cheader_filename = "linux/input.h")]
1773         public const int KEY_DEL_EOS;
1774         [CCode (cheader_filename = "linux/input.h")]
1775         public const int KEY_INS_LINE;
1776         [CCode (cheader_filename = "linux/input.h")]
1777         public const int KEY_DEL_LINE;
1779         [CCode (cheader_filename = "linux/input.h")]
1780         public const int KEY_FN;
1781         [CCode (cheader_filename = "linux/input.h")]
1782         public const int KEY_FN_ESC;
1783         [CCode (cheader_filename = "linux/input.h")]
1784         public const int KEY_FN_F1;
1785         [CCode (cheader_filename = "linux/input.h")]
1786         public const int KEY_FN_F2;
1787         [CCode (cheader_filename = "linux/input.h")]
1788         public const int KEY_FN_F3;
1789         [CCode (cheader_filename = "linux/input.h")]
1790         public const int KEY_FN_F4;
1791         [CCode (cheader_filename = "linux/input.h")]
1792         public const int KEY_FN_F5;
1793         [CCode (cheader_filename = "linux/input.h")]
1794         public const int KEY_FN_F6;
1795         [CCode (cheader_filename = "linux/input.h")]
1796         public const int KEY_FN_F7;
1797         [CCode (cheader_filename = "linux/input.h")]
1798         public const int KEY_FN_F8;
1799         [CCode (cheader_filename = "linux/input.h")]
1800         public const int KEY_FN_F9;
1801         [CCode (cheader_filename = "linux/input.h")]
1802         public const int KEY_FN_F10;
1803         [CCode (cheader_filename = "linux/input.h")]
1804         public const int KEY_FN_F11;
1805         [CCode (cheader_filename = "linux/input.h")]
1806         public const int KEY_FN_F12;
1807         [CCode (cheader_filename = "linux/input.h")]
1808         public const int KEY_FN_1;
1809         [CCode (cheader_filename = "linux/input.h")]
1810         public const int KEY_FN_2;
1811         [CCode (cheader_filename = "linux/input.h")]
1812         public const int KEY_FN_D;
1813         [CCode (cheader_filename = "linux/input.h")]
1814         public const int KEY_FN_E;
1815         [CCode (cheader_filename = "linux/input.h")]
1816         public const int KEY_FN_F;
1817         [CCode (cheader_filename = "linux/input.h")]
1818         public const int KEY_FN_S;
1819         [CCode (cheader_filename = "linux/input.h")]
1820         public const int KEY_FN_B;
1822         [CCode (cheader_filename = "linux/input.h")]
1823         public const int KEY_BRL_DOT1;
1824         [CCode (cheader_filename = "linux/input.h")]
1825         public const int KEY_BRL_DOT2;
1826         [CCode (cheader_filename = "linux/input.h")]
1827         public const int KEY_BRL_DOT3;
1828         [CCode (cheader_filename = "linux/input.h")]
1829         public const int KEY_BRL_DOT4;
1830         [CCode (cheader_filename = "linux/input.h")]
1831         public const int KEY_BRL_DOT5;
1832         [CCode (cheader_filename = "linux/input.h")]
1833         public const int KEY_BRL_DOT6;
1834         [CCode (cheader_filename = "linux/input.h")]
1835         public const int KEY_BRL_DOT7;
1836         [CCode (cheader_filename = "linux/input.h")]
1837         public const int KEY_BRL_DOT8;
1838         [CCode (cheader_filename = "linux/input.h")]
1839         public const int KEY_BRL_DOT9;
1840         [CCode (cheader_filename = "linux/input.h")]
1841         public const int KEY_BRL_DOT10;
1843         [CCode (cheader_filename = "linux/input.h")]
1844         public const int KEY_NUMERIC_0;
1845         [CCode (cheader_filename = "linux/input.h")]
1846         public const int KEY_NUMERIC_1;
1847         [CCode (cheader_filename = "linux/input.h")]
1848         public const int KEY_NUMERIC_2;
1849         [CCode (cheader_filename = "linux/input.h")]
1850         public const int KEY_NUMERIC_3;
1851         [CCode (cheader_filename = "linux/input.h")]
1852         public const int KEY_NUMERIC_4;
1853         [CCode (cheader_filename = "linux/input.h")]
1854         public const int KEY_NUMERIC_5;
1855         [CCode (cheader_filename = "linux/input.h")]
1856         public const int KEY_NUMERIC_6;
1857         [CCode (cheader_filename = "linux/input.h")]
1858         public const int KEY_NUMERIC_7;
1859         [CCode (cheader_filename = "linux/input.h")]
1860         public const int KEY_NUMERIC_8;
1861         [CCode (cheader_filename = "linux/input.h")]
1862         public const int KEY_NUMERIC_9;
1863         [CCode (cheader_filename = "linux/input.h")]
1864         public const int KEY_NUMERIC_STAR;
1865         [CCode (cheader_filename = "linux/input.h")]
1866         public const int KEY_NUMERIC_POUND;
1868         /*
1869         * Relative axes
1870         */
1872         [CCode (cheader_filename = "linux/input.h")]
1873         public const int REL_X;
1874         [CCode (cheader_filename = "linux/input.h")]
1875         public const int REL_Y;
1876         [CCode (cheader_filename = "linux/input.h")]
1877         public const int REL_Z;
1878         [CCode (cheader_filename = "linux/input.h")]
1879         public const int REL_RX;
1880         [CCode (cheader_filename = "linux/input.h")]
1881         public const int REL_RY;
1882         [CCode (cheader_filename = "linux/input.h")]
1883         public const int REL_RZ;
1884         [CCode (cheader_filename = "linux/input.h")]
1885         public const int REL_HWHEEL;
1886         [CCode (cheader_filename = "linux/input.h")]
1887         public const int REL_DIAL;
1888         [CCode (cheader_filename = "linux/input.h")]
1889         public const int REL_WHEEL;
1890         [CCode (cheader_filename = "linux/input.h")]
1891         public const int REL_MISC;
1892         [CCode (cheader_filename = "linux/input.h")]
1893         public const int REL_MAX;
1895         /*
1896          * Absolute axes
1897          */
1899         [CCode (cheader_filename = "linux/input.h")]
1900         public const int ABS_X;
1901         [CCode (cheader_filename = "linux/input.h")]
1902         public const int ABS_Y;
1903         [CCode (cheader_filename = "linux/input.h")]
1904         public const int ABS_Z;
1905         [CCode (cheader_filename = "linux/input.h")]
1906         public const int ABS_RX;
1907         [CCode (cheader_filename = "linux/input.h")]
1908         public const int ABS_RY;
1909         [CCode (cheader_filename = "linux/input.h")]
1910         public const int ABS_RZ;
1911         [CCode (cheader_filename = "linux/input.h")]
1912         public const int ABS_THROTTLE;
1913         [CCode (cheader_filename = "linux/input.h")]
1914         public const int ABS_RUDDER;
1915         [CCode (cheader_filename = "linux/input.h")]
1916         public const int ABS_WHEEL;
1917         [CCode (cheader_filename = "linux/input.h")]
1918         public const int ABS_GAS;
1919         [CCode (cheader_filename = "linux/input.h")]
1920         public const int ABS_BRAKE;
1921         [CCode (cheader_filename = "linux/input.h")]
1922         public const int ABS_HAT0X;
1923         [CCode (cheader_filename = "linux/input.h")]
1924         public const int ABS_HAT0Y;
1925         [CCode (cheader_filename = "linux/input.h")]
1926         public const int ABS_HAT1X;
1927         [CCode (cheader_filename = "linux/input.h")]
1928         public const int ABS_HAT1Y;
1929         [CCode (cheader_filename = "linux/input.h")]
1930         public const int ABS_HAT2X;
1931         [CCode (cheader_filename = "linux/input.h")]
1932         public const int ABS_HAT2Y;
1933         [CCode (cheader_filename = "linux/input.h")]
1934         public const int ABS_HAT3X;
1935         [CCode (cheader_filename = "linux/input.h")]
1936         public const int ABS_HAT3Y;
1937         [CCode (cheader_filename = "linux/input.h")]
1938         public const int ABS_PRESSURE;
1939         [CCode (cheader_filename = "linux/input.h")]
1940         public const int ABS_DISTANCE;
1941         [CCode (cheader_filename = "linux/input.h")]
1942         public const int ABS_TILT_X;
1943         [CCode (cheader_filename = "linux/input.h")]
1944         public const int ABS_TILT_Y;
1945         [CCode (cheader_filename = "linux/input.h")]
1946         public const int ABS_TOOL_WIDTH;
1947         [CCode (cheader_filename = "linux/input.h")]
1948         public const int ABS_VOLUME;
1949         [CCode (cheader_filename = "linux/input.h")]
1950         public const int ABS_MISC;
1951         [CCode (cheader_filename = "linux/input.h")]
1952         public const int ABS_MAX;
1954         /*
1955          * Switch events
1956          */
1958         [CCode (cheader_filename = "linux/input.h")]
1959         public const int SW_LID;
1960         [CCode (cheader_filename = "linux/input.h")]
1961         public const int SW_TABLET_MODE;
1962         [CCode (cheader_filename = "linux/input.h")]
1963         public const int SW_HEADPHONE_INSERT;
1964         [CCode (cheader_filename = "linux/input.h")]
1965         public const int SW_RFKILL_ALL;
1966         [CCode (cheader_filename = "linux/input.h")]
1967         public const int SW_RADIO;
1968         [CCode (cheader_filename = "linux/input.h")]
1969         public const int SW_MICROPHONE_INSERT;
1970         [CCode (cheader_filename = "linux/input.h")]
1971         public const int SW_DOCK;
1972         [CCode (cheader_filename = "linux/input.h")]
1973         public const int SW_MAX;
1975         /*
1976          * Misc events
1977          */
1979         [CCode (cheader_filename = "linux/input.h")]
1980         public const int MSC_SERIAL;
1981         [CCode (cheader_filename = "linux/input.h")]
1982         public const int MSC_PULSELED;
1983         [CCode (cheader_filename = "linux/input.h")]
1984         public const int MSC_GESTURE;
1985         [CCode (cheader_filename = "linux/input.h")]
1986         public const int MSC_RAW;
1987         [CCode (cheader_filename = "linux/input.h")]
1988         public const int MSC_SCAN;
1989         [CCode (cheader_filename = "linux/input.h")]
1990         public const int MSC_MAX;
1992         /*
1993          * LEDs
1994          */
1996         [CCode (cheader_filename = "linux/input.h")]
1997         public const int LED_NUML;
1998         [CCode (cheader_filename = "linux/input.h")]
1999         public const int LED_CAPSL;
2000         [CCode (cheader_filename = "linux/input.h")]
2001         public const int LED_SCROLLL;
2002         [CCode (cheader_filename = "linux/input.h")]
2003         public const int LED_COMPOSE;
2004         [CCode (cheader_filename = "linux/input.h")]
2005         public const int LED_KANA;
2006         [CCode (cheader_filename = "linux/input.h")]
2007         public const int LED_SLEEP;
2008         [CCode (cheader_filename = "linux/input.h")]
2009         public const int LED_SUSPEND;
2010         [CCode (cheader_filename = "linux/input.h")]
2011         public const int LED_MUTE;
2012         [CCode (cheader_filename = "linux/input.h")]
2013         public const int LED_MISC;
2014         [CCode (cheader_filename = "linux/input.h")]
2015         public const int LED_MAIL;
2016         [CCode (cheader_filename = "linux/input.h")]
2017         public const int LED_CHARGING;
2018         [CCode (cheader_filename = "linux/input.h")]
2019         public const int LED_MAX;
2021         /*
2022          * Autorepeat values
2023          */
2025         [CCode (cheader_filename = "linux/input.h")]
2026         public const int REP_DELAY;
2027         [CCode (cheader_filename = "linux/input.h")]
2028         public const int REP_PERIOD;
2029         [CCode (cheader_filename = "linux/input.h")]
2030         public const int REP_MAX;
2032         /*
2033          * Sounds
2034          */
2036         [CCode (cheader_filename = "linux/input.h")]
2037         public const int SND_CLICK;
2038         [CCode (cheader_filename = "linux/input.h")]
2039         public const int SND_BELL;
2040         [CCode (cheader_filename = "linux/input.h")]
2041         public const int SND_TONE;
2042         [CCode (cheader_filename = "linux/input.h")]
2043         public const int SND_MAX;
2045         /*
2046          * IDs.
2047          */
2049         [CCode (cheader_filename = "linux/input.h")]
2050         public const int ID_BUS;
2051         [CCode (cheader_filename = "linux/input.h")]
2052         public const int ID_VENDOR;
2053         [CCode (cheader_filename = "linux/input.h")]
2054         public const int ID_PRODUCT;
2055         [CCode (cheader_filename = "linux/input.h")]
2056         public const int ID_VERSION;
2058         [CCode (cheader_filename = "linux/input.h")]
2059         public const int BUS_PCI;
2060         [CCode (cheader_filename = "linux/input.h")]
2061         public const int BUS_ISAPNP;
2062         [CCode (cheader_filename = "linux/input.h")]
2063         public const int BUS_USB;
2064         [CCode (cheader_filename = "linux/input.h")]
2065         public const int BUS_HIL;
2066         [CCode (cheader_filename = "linux/input.h")]
2067         public const int BUS_BLUETOOTH;
2068         [CCode (cheader_filename = "linux/input.h")]
2069         public const int BUS_VIRTUAL;
2071         [CCode (cheader_filename = "linux/input.h")]
2072         public const int BUS_ISA;
2073         [CCode (cheader_filename = "linux/input.h")]
2074         public const int BUS_I8042;
2075         [CCode (cheader_filename = "linux/input.h")]
2076         public const int BUS_XTKBD;
2077         [CCode (cheader_filename = "linux/input.h")]
2078         public const int BUS_RS232;
2079         [CCode (cheader_filename = "linux/input.h")]
2080         public const int BUS_GAMEPORT;
2081         [CCode (cheader_filename = "linux/input.h")]
2082         public const int BUS_PARPORT;
2083         [CCode (cheader_filename = "linux/input.h")]
2084         public const int BUS_AMIGA;
2085         [CCode (cheader_filename = "linux/input.h")]
2086         public const int BUS_ADB;
2087         [CCode (cheader_filename = "linux/input.h")]
2088         public const int BUS_I2C;
2089         [CCode (cheader_filename = "linux/input.h")]
2090         public const int BUS_HOST;
2091         [CCode (cheader_filename = "linux/input.h")]
2092         public const int BUS_GSC;
2093         [CCode (cheader_filename = "linux/input.h")]
2094         public const int BUS_ATARI;
2095     }
2097     /*
2098      * Netlink subsystem
2099      */
2100     [CCode (cprefix = "", lower_case_cprefix = "", cheader_filename = "linux/netlink.h")]
2101     namespace Netlink {
2103         [CCode (cheader_filename = "linux/netlink.h")]
2104         public const int NETLINK_ROUTE;
2105         [CCode (cheader_filename = "linux/netlink.h")]
2106         public const int NETLINK_UNUSED;
2107         [CCode (cheader_filename = "linux/netlink.h")]
2108         public const int NETLINK_USERSOCK;
2109         [CCode (cheader_filename = "linux/netlink.h")]
2110         public const int NETLINK_FIREWALL;
2111         [CCode (cheader_filename = "linux/netlink.h")]
2112         public const int NETLINK_INET_DIAG;
2113         [CCode (cheader_filename = "linux/netlink.h")]
2114         public const int NETLINK_NFLOG;
2115         [CCode (cheader_filename = "linux/netlink.h")]
2116         public const int NETLINK_XFRM;
2117         [CCode (cheader_filename = "linux/netlink.h")]
2118         public const int NETLINK_SELINUX;
2119         [CCode (cheader_filename = "linux/netlink.h")]
2120         public const int NETLINK_ISCSI;
2121         [CCode (cheader_filename = "linux/netlink.h")]
2122         public const int NETLINK_AUDIT;
2123         [CCode (cheader_filename = "linux/netlink.h")]
2124         public const int NETLINK_FIB_LOOKUP;
2125         [CCode (cheader_filename = "linux/netlink.h")]
2126         public const int NETLINK_CONNECTOR;
2127         [CCode (cheader_filename = "linux/netlink.h")]
2128         public const int NETLINK_NETFILTER;
2129         [CCode (cheader_filename = "linux/netlink.h")]
2130         public const int NETLINK_IP6_FW;
2131         [CCode (cheader_filename = "linux/netlink.h")]
2132         public const int NETLINK_DNRTMSG;
2133         [CCode (cheader_filename = "linux/netlink.h")]
2134         public const int NETLINK_KOBJECT_UEVENT;
2135         [CCode (cheader_filename = "linux/netlink.h")]
2136         public const int NETLINK_GENERIC;
2137         [CCode (cheader_filename = "linux/netlink.h")]
2138         public const int NETLINK_SCSITRANSPORT;
2139         [CCode (cheader_filename = "linux/netlink.h")]
2140         public const int NETLINK_ECRYPTFS;
2142         // netlink socket, can be used instead of sockaddr
2143         [CCode (cname = "struct sockaddr_nl", cheader_filename = "linux/netlink.h", destroy_function = "")]
2144         public struct SockAddrNl {
2145             public int nl_family;
2146             public ushort nl_pad;
2147             public uint32 nl_pid;
2148             public uint32 nl_groups;
2149         }
2151         // netlink message header
2152         [CCode (cname = "struct nlmsghdr", cheader_filename = "linux/netlink.h", destroy_function = "")]
2153         public struct NlMsgHdr {
2154             public uint32 nlmsg_len;
2155             public uint16 nlmsg_type;
2156             public uint16 nlmsg_flags;
2157             public uint32 nlmsg_seq;
2158             public uint32 nlmsg_pid;
2159         }
2161         // netlink error message
2162         [CCode (cname = "struct nlmsgerr", cheader_filename = "linux/netlink.h", destroy_function = "")]
2163         public struct NlMsgErr {
2164             public int error;
2165             public NlMsgHdr msg;
2166         }
2168         // rtnetlink multicast groups ( userland compatibility values )
2169         [CCode (cheader_filename = "linux/rtnetlink.h")]
2170         public const int RTMGRP_LINK;
2171         [CCode (cheader_filename = "linux/rtnetlink.h")]
2172         public const int RTMGRP_NOTIFY;
2173         [CCode (cheader_filename = "linux/rtnetlink.h")]
2174         public const int RTMGRP_NEIGH;
2175         [CCode (cheader_filename = "linux/rtnetlink.h")]
2176         public const int RTMGRP_TC;
2177         [CCode (cheader_filename = "linux/rtnetlink.h")]
2178         public const int RTMGRP_IPV4_IFADDR;
2179         [CCode (cheader_filename = "linux/rtnetlink.h")]
2180         public const int RTMGRP_IPV4_MROUTE;
2181         [CCode (cheader_filename = "linux/rtnetlink.h")]
2182         public const int RTMGRP_IPV4_ROUTE;
2183         [CCode (cheader_filename = "linux/rtnetlink.h")]
2184         public const int RTMGRP_IPV4_RULE;
2185         [CCode (cheader_filename = "linux/rtnetlink.h")]
2186         public const int RTMGRP_IPV6_IFADDR;
2187         [CCode (cheader_filename = "linux/rtnetlink.h")]
2188         public const int RTMGRP_IPV6_MROUTE;
2189         [CCode (cheader_filename = "linux/rtnetlink.h")]
2190         public const int RTMGRP_IPV6_ROUTE;
2191         [CCode (cheader_filename = "linux/rtnetlink.h")]
2192         public const int RTMGRP_IPV6_IFINFO;
2193         [CCode (cheader_filename = "linux/rtnetlink.h")]
2194         public const int RTMGRP_DECnet_IFADDR;
2195         [CCode (cheader_filename = "linux/rtnetlink.h")]
2196         public const int RTMGRP_DECnet_ROUTE;
2197         [CCode (cheader_filename = "linux/rtnetlink.h")]
2198         public const int RTMGRP_IPV6_PREFIX;
2200         // rtnetlink multicast groups ( 1 << group )
2201         [CCode (cheader_filename = "linux/rtnetlink.h")]
2202         public const int RTNLGRP_NONE;
2203         [CCode (cheader_filename = "linux/rtnetlink.h")]
2204         public const int RTNLGRP_LINK;
2205         [CCode (cheader_filename = "linux/rtnetlink.h")]
2206         public const int RTNLGRP_NOTIFY;
2207         [CCode (cheader_filename = "linux/rtnetlink.h")]
2208         public const int RTNLGRP_NEIGH;
2209         [CCode (cheader_filename = "linux/rtnetlink.h")]
2210         public const int RTNLGRP_TC;
2211         [CCode (cheader_filename = "linux/rtnetlink.h")]
2212         public const int RTNLGRP_IPV4_IFADDR;
2213         [CCode (cheader_filename = "linux/rtnetlink.h")]
2214         public const int RTNLGRP_IPV4_MROUTE;
2215         [CCode (cheader_filename = "linux/rtnetlink.h")]
2216         public const int RTNLGRP_IPV4_ROUTE;
2217         [CCode (cheader_filename = "linux/rtnetlink.h")]
2218         public const int RTNLGRP_IPV4_RULE;
2219         [CCode (cheader_filename = "linux/rtnetlink.h")]
2220         public const int RTNLGRP_IPV6_IFADDR;
2221         [CCode (cheader_filename = "linux/rtnetlink.h")]
2222         public const int RTNLGRP_IPV6_MROUTE;
2223         [CCode (cheader_filename = "linux/rtnetlink.h")]
2224         public const int RTNLGRP_IPV6_ROUTE;
2225         [CCode (cheader_filename = "linux/rtnetlink.h")]
2226         public const int RTNLGRP_IPV6_IFINFO;
2227         [CCode (cheader_filename = "linux/rtnetlink.h")]
2228         public const int RTNLGRP_DECnet_IFADDR;
2229         [CCode (cheader_filename = "linux/rtnetlink.h")]
2230         public const int RTNLGRP_NOP2;
2231         [CCode (cheader_filename = "linux/rtnetlink.h")]
2232         public const int RTNLGRP_DECnet_ROUTE;
2233         [CCode (cheader_filename = "linux/rtnetlink.h")]
2234         public const int RTNLGRP_DECnet_RULE;
2235         [CCode (cheader_filename = "linux/rtnetlink.h")]
2236         public const int RTNLGRP_NOP4;
2237         [CCode (cheader_filename = "linux/rtnetlink.h")]
2238         public const int RTNLGRP_IPV6_PREFIX;
2239         [CCode (cheader_filename = "linux/rtnetlink.h")]
2240         public const int RTNLGRP_IPV6_RULE;
2241         [CCode (cheader_filename = "linux/rtnetlink.h")]
2242         public const int RTNLGRP_ND_USEROPT;
2243         [CCode (cheader_filename = "linux/rtnetlink.h")]
2244         public const int RTNLGRP_PHONET_IFADDR;
2245         [CCode (cheader_filename = "linux/rtnetlink.h")]
2246         public const int RTNLGRP_PHONET_ROUTE;
2248         /*
2249         [CCode (cheader_filename = "sys/socket.h", sentinel = "")]
2250         public int bind (int sockfd, SockAddrNl addr, ulong length);
2251         */
2252     }
2254     /*
2255      * Real time clock subsystem
2256      */
2258     [CCode (cprefix = "", lower_case_cprefix = "")]
2259     namespace Rtc {
2261         [CCode (cname = "struct rtc_wkalrm", cheader_filename = "linux/rtc.h")]
2262         public struct WakeAlarm {
2263             public char enabled;
2264             public char pending;
2265             public Posix.tm time;
2266         }
2268         [CCode (cheader_filename = "linux/rtc.h,sys/ioctl.h")]
2269         public const int RTC_RD_TIME;
2270         [CCode (cheader_filename = "linux/rtc.h,sys/ioctl.h")]
2271         public const int RTC_SET_TIME;
2272         [CCode (cheader_filename = "linux/rtc.h,sys/ioctl.h")]
2273         public const int RTC_WKALM_RD;
2274         [CCode (cheader_filename = "linux/rtc.h,sys/ioctl.h")]
2275         public const int RTC_WKALM_SET;
2276     }
2278     /*
2279      * Socket extensions (non-posix)
2280      */
2281     [CCode (cprefix = "", lower_case_cprefix = "")]
2282     namespace Socket {
2283         [CCode (cheader_filename = "sys/socket.h")]
2284         public const int AF_NETLINK;
2285         [CCode (cheader_filename = "sys/socket.h")]
2286         public const int SOCK_NONBLOCK;
2287         [CCode (cheader_filename = "sys/socket.h")]
2288         public const int SOCK_CLOEXEC;
2290         [CCode (cname = "struct ucred", cheader_filename = "linux/socket.h", destroy_function = "")]
2291         public struct ucred {
2292             public uint32 pid;
2293             public uint32 uid;
2294             public uint32 gid;
2295         }
2296     }
2298     /*
2299      * Terminal input/output
2300      */
2301     [CCode (cprefix = "", lower_case_cprefix = "")]
2302     namespace Termios {
2304         /*
2305          * non-posix functions
2306          */
2307         [CCode (cheader_filename = "stdlib.h")]
2308         public int ptsname_r (int fd, char[] buf);
2310         /*
2311          * non-posix flags
2312          */
2313         [CCode (cheader_filename = "termios.h")]
2314         public const int OLCUC;
2316         /*
2317          * non-posix constants
2318          */
2320         // flow control
2321         [CCode (cheader_filename = "termios.h")]
2322         public const int CRTSCTS;
2323         // v24 modem lines
2324         [CCode (cheader_filename = "termios.h")]
2325         public const int TIOCM_LE;
2326         [CCode (cheader_filename = "termios.h")]
2327         public const int TIOCM_DTR;
2328         [CCode (cheader_filename = "termios.h")]
2329         public const int TIOCM_RTS;
2330         [CCode (cheader_filename = "termios.h")]
2331         public const int TIOCM_ST;
2332         [CCode (cheader_filename = "termios.h")]
2333         public const int TIOCM_SR;
2334         [CCode (cheader_filename = "termios.h")]
2335         public const int TIOCM_CTS;
2336         [CCode (cheader_filename = "termios.h")]
2337         public const int TIOCM_CARM;
2338         [CCode (cheader_filename = "termios.h")]
2339         public const int TIOCM_RNG;
2340         [CCode (cheader_filename = "termios.h")]
2341         public const int TIOCM_DSR;
2342         [CCode (cheader_filename = "termios.h")]
2343         [CCode (cheader_filename = "termios.h")]
2344         public const int TIOCM_OUT1;
2345         [CCode (cheader_filename = "termios.h")]
2346         public const int TIOCM_OUT2;
2347         [CCode (cheader_filename = "termios.h")]
2348         public const int TIOCM_LOOP;
2349         // baud rates
2350         [CCode (cheader_filename = "termios.h")]
2351         public const int B460800;
2352         [CCode (cheader_filename = "termios.h")]
2353         public const int B500000;
2354         [CCode (cheader_filename = "termios.h")]
2355         public const int B576000;
2356         [CCode (cheader_filename = "termios.h")]
2357         public const int B921600;
2358         [CCode (cheader_filename = "termios.h")]
2359         public const int B1000000;
2360         [CCode (cheader_filename = "termios.h")]
2361         public const int B1152000;
2362         [CCode (cheader_filename = "termios.h")]
2363         public const int B1500000;
2364         [CCode (cheader_filename = "termios.h")]
2365         public const int B2000000;
2366         [CCode (cheader_filename = "termios.h")]
2367         public const int B2500000;
2368         [CCode (cheader_filename = "termios.h")]
2369         public const int B3000000;
2370         [CCode (cheader_filename = "termios.h")]
2371         public const int B3500000;
2372         [CCode (cheader_filename = "termios.h")]
2373         public const int B4000000;
2376         /*
2377          * ioctls
2378          */
2379         [CCode (cheader_filename = "sys/ioctl.h")]
2380         public const int TCGETS;
2381         [CCode (cheader_filename = "sys/ioctl.h")]
2382         public const int TCSETS;
2383         [CCode (cheader_filename = "sys/ioctl.h")]
2384         public const int TCSETSW;
2385         [CCode (cheader_filename = "sys/ioctl.h")]
2386         public const int TCSETSF;
2387         [CCode (cheader_filename = "sys/ioctl.h")]
2388         public const int TCGETA;
2389         [CCode (cheader_filename = "sys/ioctl.h")]
2390         public const int TCSETA;
2391         [CCode (cheader_filename = "sys/ioctl.h")]
2392         public const int TCSETAW;
2393         [CCode (cheader_filename = "sys/ioctl.h")]
2394         public const int TCSETAF;
2395         [CCode (cheader_filename = "sys/ioctl.h")]
2396         public const int TCSBRK;
2397         [CCode (cheader_filename = "sys/ioctl.h")]
2398         public const int TCXONC;
2399         [CCode (cheader_filename = "sys/ioctl.h")]
2400         public const int TCFLSH;
2401         [CCode (cheader_filename = "sys/ioctl.h")]
2402         public const int TIOCEXCL;
2403         [CCode (cheader_filename = "sys/ioctl.h")]
2404         public const int TIOCNXCL;
2405         [CCode (cheader_filename = "sys/ioctl.h")]
2406         public const int TIOCSCTTY;
2407         [CCode (cheader_filename = "sys/ioctl.h")]
2408         public const int TIOCGPGRP;
2409         [CCode (cheader_filename = "sys/ioctl.h")]
2410         public const int TIOCSPGRP;
2411         [CCode (cheader_filename = "sys/ioctl.h")]
2412         public const int TIOCOUTQ;
2413         [CCode (cheader_filename = "sys/ioctl.h")]
2414         public const int TIOCSTI;
2415         [CCode (cheader_filename = "sys/ioctl.h")]
2416         public const int TIOCGWINSZ;
2417         [CCode (cheader_filename = "sys/ioctl.h")]
2418         public const int TIOCSWINSZ;
2419         [CCode (cheader_filename = "sys/ioctl.h")]
2420         public const int TIOCMGET;
2421         [CCode (cheader_filename = "sys/ioctl.h")]
2422         public const int TIOCMBIS;
2423         [CCode (cheader_filename = "sys/ioctl.h")]
2424         public const int TIOCMBIC;
2425         [CCode (cheader_filename = "sys/ioctl.h")]
2426         public const int TIOCMSET;
2427         [CCode (cheader_filename = "sys/ioctl.h")]
2428         public const int TIOCGSOFTCAR;
2429         [CCode (cheader_filename = "sys/ioctl.h")]
2430         public const int TIOCSSOFTCAR;
2431         [CCode (cheader_filename = "sys/ioctl.h")]
2432         public const int FIONREAD;
2433         [CCode (cheader_filename = "sys/ioctl.h")]
2434         public const int TIOCINQ;
2435         [CCode (cheader_filename = "sys/ioctl.h")]
2436         public const int TIOCLINUX;
2437         [CCode (cheader_filename = "sys/ioctl.h")]
2438         public const int TIOCCONS;
2439         [CCode (cheader_filename = "sys/ioctl.h")]
2440         public const int TIOCGSERIAL;
2441         [CCode (cheader_filename = "sys/ioctl.h")]
2442         public const int TIOCSSERIAL;
2443         [CCode (cheader_filename = "sys/ioctl.h")]
2444         public const int TIOCPKT;
2445         [CCode (cheader_filename = "sys/ioctl.h")]
2446         public const int FIONBIO;
2447         [CCode (cheader_filename = "sys/ioctl.h")]
2448         public const int TIOCNOTTY;
2449         [CCode (cheader_filename = "sys/ioctl.h")]
2450         public const int TIOCSETD;
2451         [CCode (cheader_filename = "sys/ioctl.h")]
2452         public const int TIOCGETD;
2453         [CCode (cheader_filename = "sys/ioctl.h")]
2454         public const int TCSBRKP;
2455         [CCode (cheader_filename = "sys/ioctl.h")]
2456         public const int TIOCSBRK;
2457         [CCode (cheader_filename = "sys/ioctl.h")]
2458         public const int TIOCCBRK;
2459         [CCode (cheader_filename = "sys/ioctl.h")]
2460         public const int TIOCGSID;
2461         [CCode (cheader_filename = "sys/ioctl.h")]
2462         public const int TCGETS2;
2463         [CCode (cheader_filename = "sys/ioctl.h")]
2464         public const int TCSETS2;
2465         [CCode (cheader_filename = "sys/ioctl.h")]
2466         public const int TCSETSW2;
2467         [CCode (cheader_filename = "sys/ioctl.h")]
2468         public const int TCSETSF2;
2469         [CCode (cheader_filename = "sys/ioctl.h")]
2470         public const int TIOCGRS485;
2471         [CCode (cheader_filename = "sys/ioctl.h")]
2472         public const int TIOCSRS485;
2473         [CCode (cheader_filename = "sys/ioctl.h")]
2474         public const int TIOCGPTN;
2475         [CCode (cheader_filename = "sys/ioctl.h")]
2476         public const int TIOCSPTLCK;
2477         [CCode (cheader_filename = "sys/ioctl.h")]
2478         public const int TCGETX;
2479         [CCode (cheader_filename = "sys/ioctl.h")]
2480         public const int TCSETX;
2481         [CCode (cheader_filename = "sys/ioctl.h")]
2482         public const int TCSETXF;
2483         [CCode (cheader_filename = "sys/ioctl.h")]
2484         public const int TCSETXW;
2486         [CCode (cheader_filename = "sys/ioctl.h")]
2487         public const int FIONCLEX;
2488         [CCode (cheader_filename = "sys/ioctl.h")]
2489         public const int FIOCLEX;
2490         [CCode (cheader_filename = "sys/ioctl.h")]
2491         public const int FIOASYNC;
2492         [CCode (cheader_filename = "sys/ioctl.h")]
2493         public const int TIOCSERCONFIG;
2494         [CCode (cheader_filename = "sys/ioctl.h")]
2495         public const int TIOCSERGWILD;
2496         [CCode (cheader_filename = "sys/ioctl.h")]
2497         public const int TIOCSERSWILD;
2498         [CCode (cheader_filename = "sys/ioctl.h")]
2499         public const int TIOCGLCKTRMIOS;
2500         [CCode (cheader_filename = "sys/ioctl.h")]
2501         public const int TIOCSLCKTRMIOS;
2502         [CCode (cheader_filename = "sys/ioctl.h")]
2503         public const int TIOCSERGSTRUCT;
2504         [CCode (cheader_filename = "sys/ioctl.h")]
2505         public const int TIOCSERGETLSR;
2506         [CCode (cheader_filename = "sys/ioctl.h")]
2507         public const int TIOCSERGETMULTI;
2508         [CCode (cheader_filename = "sys/ioctl.h")]
2509         public const int TIOCSERSETMULTI;
2511         [CCode (cheader_filename = "sys/ioctl.h")]
2512         public const int TIOCMIWAIT;
2513         [CCode (cheader_filename = "sys/ioctl.h")]
2514         public const int TIOCGICOUNT;
2515         [CCode (cheader_filename = "sys/ioctl.h")]
2516         public const int TIOCGHAYESESP;
2517         [CCode (cheader_filename = "sys/ioctl.h")]
2518         public const int TIOCSHAYESESP;
2519         [CCode (cheader_filename = "sys/ioctl.h")]
2520         public const int FIOQSIZE;
2522         [CCode (cheader_filename = "sys/ioctl.h")]
2523         public const int TIOCPKT_DATA;
2524         [CCode (cheader_filename = "sys/ioctl.h")]
2525         public const int TIOCPKT_FLUSHREAD;
2526         [CCode (cheader_filename = "sys/ioctl.h")]
2527         public const int TIOCPKT_FLUSHWRITE;
2528         [CCode (cheader_filename = "sys/ioctl.h")]
2529         public const int TIOCPKT_STOP;
2530         [CCode (cheader_filename = "sys/ioctl.h")]
2531         public const int TIOCPKT_START;
2532         [CCode (cheader_filename = "sys/ioctl.h")]
2533         public const int TIOCPKT_NOSTOP;
2534         [CCode (cheader_filename = "sys/ioctl.h")]
2535         public const int TIOCPKT_DOSTOP;
2537         [CCode (cheader_filename = "sys/ioctl.h")]
2538         public const int TIOCSER_TEMT;
2539     }