[vala] linux: bind mount(2) and friends as well as the rest of net/if.h, net/route.h
- From: Michael Lauer <mlauer src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [vala] linux: bind mount(2) and friends as well as the rest of net/if.h, net/route.h
- Date: Thu, 4 Feb 2010 00:17:57 +0000 (UTC)
commit ea914d1415db1daeaa84f823b6fa55251e9a1276
Author: Michael 'Mickey' Lauer <mickey vanille-media de>
Date: Thu Feb 4 01:15:48 2010 +0100
linux: bind mount(2) and friends as well as the rest of net/if.h, net/route.h
vapi/linux.vapi | 142 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 139 insertions(+), 3 deletions(-)
---
diff --git a/vapi/linux.vapi b/vapi/linux.vapi
index 5b029ed..a28cfc2 100644
--- a/vapi/linux.vapi
+++ b/vapi/linux.vapi
@@ -161,7 +161,42 @@ namespace Linux {
public void backtrace_symbols_fd (void* buffer, int size, int fd);
[CCode (cheader_filename = "arpa/inet.h")]
- public int inet_aton(string cp, out Posix.InAddr addr);
+ public int inet_aton (string cp, out Posix.InAddr addr);
+
+ [CCode (cname = "long", cprefix = "", cheader_filename = "sys/mount.h,linux/fs.h")]
+ public enum MountFlags {
+ MS_BIND,
+ MS_DIRSYNC,
+ MS_MANDLOCK,
+ MS_MOVE,
+ MS_NOATIME,
+ MS_NODEV,
+ MS_NODIRATIME,
+ MS_NOEXEC,
+ MS_NOSUID,
+ MS_RDONLY,
+ MS_RELATIME,
+ MS_REMOUNT,
+ MS_SILENT,
+ MS_SYNCHRONOUS,
+ S_WRITE,
+ S_APPEND,
+ S_IMMUTABLE,
+ }
+
+ [CCode (cname = "int", cprefix = "", cheader_filename = "sys/mount.h")]
+ public enum UnmountFlags {
+ MNT_FORCE, /* Force unmounting. */
+ MNT_DETACH, /* Just detach from the tree. */
+ MNT_EXPIRE /* Mark for expiry. */
+ }
+
+ [CCode (cheader_filename = "sys/mount.h")]
+ public int mount (string source, string target, string filesystemtype, MountFlags flags = 0, string options = "");
+ [CCode (cheader_filename = "sys/mount.h")]
+ public int umount (string target);
+ [CCode (cheader_filename = "sys/mount.h")]
+ public int umount2 (string target, UnmountFlags flags);
[CCode (cname = "struct winsize", cheader_filename = "termios.h", destroy_function = "")]
public struct winsize {
@@ -257,7 +292,7 @@ namespace Linux {
// syscall(2)
[CCode (cprefix = "SYS_", cname = "int")]
public enum SysCall {
- gettid
+ gettid
}
[CCode (cname = "syscall", cheader_filename = "unistd.h,sys/syscall.h")]
@@ -271,17 +306,118 @@ namespace Linux {
}
[CCode (cheader_filename = "sys/mman.h")]
- public void *mremap(void *old_address, size_t old_size, size_t new_size, MremapFlags flags);
+ public void *mremap (void *old_address, size_t old_size, size_t new_size, MremapFlags flags);
/*
* Network
*/
[CCode (cprefix = "", lower_case_cprefix = "")]
namespace Network {
+
+ // interface consts, structs, and methods
+ [CCode (cheader_filename = "net/if.h")]
+ public const int IF_NAMESIZ;
+
+ [CCode (cheader_filename = "net/if.h")]
+ public uint if_nametoindex (string ifname);
+ [CCode (cheader_filename = "net/if.h")]
+ public unowned string if_indextoname (uint ifindex, string ifname);
+ [CCode (cheader_filename = "net/if.h")]
+ public IfNameindex if_nameindex ();
+
+ [CCode (cname = "int", cprefix = "IFF_", cheader_filename = "net/if.h")]
+ public enum IfFlag {
+ UP,
+ BROADCAST,
+ DEBUG,
+ LOOPBACK,
+ POINTOPOINT,
+ NOTRAILERS,
+ RUNNING,
+ NOARP,
+ PROMISC,
+ ALLMULTI,
+ MASTER,
+ SLAVE,
+ PORTSEL,
+ AUTOMEDIA,
+ DYNAMIC
+ }
+
+ [CCode (cname = "struct if_nameindex", cheader_filename = "net/if.h", destroy_function = "if_freenameindex")]
+ public struct IfNameindex {
+ public uint if_index;
+ public string if_name;
+ }
+
+ [CCode (cname = "struct ifmap", cheader_filename = "net/if.h", destroy_function = "")]
+ public struct IfMap {
+ public ulong mem_start;
+ public ulong mem_end;
+ public short base_addr;
+ public uchar irq;
+ public uchar dma;
+ public uchar port;
+ }
+
[CCode (cname = "struct ifreq", cheader_filename = "net/if.h", destroy_function = "")]
public struct IfReq {
public char[] ifr_name;
public Posix.SockAddr ifr_addr;
+ public Posix.SockAddr ifr_dstaddr;
+ public Posix.SockAddr ifr_broadaddr;
+ public Posix.SockAddr ifr_netmask;
+ public Posix.SockAddr ifr_hwaddr;
+ public short ifr_flags;
+ public int ifr_metric;
+ public int ifr_mtu;
+ public IfMap ifr_map;
+ public char[] ifr_slave;
+ public string ifr_data;
+ public int ifr_ifindex;
+ public int ifr_bandwidth;
+ public int ifr_qlen;
+ public char[] ifr_newname;
+ }
+
+ [CCode (cname = "struct ifconf", cheader_filename = "net/if.h", destroy_function = "")]
+ public struct IfConf {
+ public int ifc_len;
+ public string ifc_buf;
+ public IfReq ifc_req;
+ }
+
+ // route consts, structs, and methods
+ [CCode (cname = "struct rtentry", cheader_filename = "net/route.h", destroy_function = "")]
+ public struct RtEntry {
+ public Posix.SockAddr rt_dst;
+ public Posix.SockAddr rt_gateway;
+ public Posix.SockAddr rt_genmask;
+ public RtFlag rt_flags;
+ public short rt_metric;
+ public string rt_dev;
+ public ulong rt_mtu;
+ public ulong rt_window;
+ public ushort rt_irtt;
+ }
+
+ [CCode (cname = "ushort", cprefix = "RTF_", cheader_filename = "net/route.h")]
+ public enum RtFlag {
+ UP,
+ GATEWAY,
+ HOST,
+ REINSTATE,
+ DYNAMIC,
+ MODIFIED,
+ MTU,
+ WINDOW,
+ IRTT,
+ REJECT,
+ STATIC,
+ XRESOLVE,
+ NOFORWARD,
+ THROW,
+ NOPMTUDISC
}
/* ioctls */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]