]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
linux: add structures and constants for SPI (Serial Peripheral Interface)
authorMichael 'Mickey' Lauer <mickey@vanille-media.de>
Sun, 4 Dec 2011 11:05:40 +0000 (12:05 +0100)
committerJürg Billeter <j@bitron.ch>
Mon, 5 Dec 2011 21:31:56 +0000 (22:31 +0100)
vapi/linux.vapi

index 359c0b06f9c5d6fee50b4c15da03ee42f79472c9..89419a6b11916042cc2b96e5bc74de159cb3760e 100644 (file)
@@ -3288,6 +3288,80 @@ namespace Linux {
         public const int SO_BSDCOMPAT;
     }
 
+    /*
+     * SPI (Serial Peripheral Interface)
+     */
+
+    [CCode (cprefix = "", lower_case_cprefix = "")]
+    namespace Spi {
+
+        [CCode (cname = "spi_ioc_transfer", has_type_id = false, cheader_filename = "linux/spi/spidev.h")]
+        public struct IocTransfer {
+            public uint64  tx_buf;
+            public uint64  rx_buf;
+
+            public uint32  len;
+            public uint32  speed_hz;
+
+            public uint16  delay_usecs;
+            public uint8   bits_per_word;
+            public uint8   cs_change;
+            public uint32  pad;
+        }
+
+        /* mode constants */
+        [CCode (cheader_filename = "linux/spi/spidev.h")]
+        public const int SPI_CPHA;
+        [CCode (cheader_filename = "linux/spi/spidev.h")]
+        public const int SPI_CPOL;
+
+        [CCode (cheader_filename = "linux/spi/spidev.h")]
+        public const int SPI_MODE_0;
+        [CCode (cheader_filename = "linux/spi/spidev.h")]
+        public const int SPI_MODE_1;
+        [CCode (cheader_filename = "linux/spi/spidev.h")]
+        public const int SPI_MODE_2;
+        [CCode (cheader_filename = "linux/spi/spidev.h")]
+        public const int SPI_MODE_3;
+
+        [CCode (cheader_filename = "linux/spi/spidev.h")]
+        public const int SPI_CS_HIGH;
+        [CCode (cheader_filename = "linux/spi/spidev.h")]
+        public const int SPI_LSB_FIRST;
+        [CCode (cheader_filename = "linux/spi/spidev.h")]
+        public const int SPI_3WIRE;
+        [CCode (cheader_filename = "linux/spi/spidev.h")]
+        public const int SPI_LOOP;
+        [CCode (cheader_filename = "linux/spi/spidev.h")]
+        public const int SPI_NO_CS;
+        [CCode (cheader_filename = "linux/spi/spidev.h")]
+        public const int SPI_READY;
+
+        /* size */
+        public int SPI_MSGSIZE(int N);
+        public int SPI_IOC_MESSAGE(int N);
+
+        /* ioctls */
+        [CCode (cheader_filename = "linux/spi/spidev.h")]
+        public const int SPI_IOC_RD_MODE;
+        [CCode (cheader_filename = "linux/spi/spidev.h")]
+        public const int SPI_IOC_WR_MODE;
+
+        [CCode (cheader_filename = "linux/spi/spidev.h")]
+        public const int SPI_IOC_RD_LSB_FIRST;
+        [CCode (cheader_filename = "linux/spi/spidev.h")]
+        public const int SPI_IOC_WR_LSB_FIRST;
+
+        [CCode (cheader_filename = "linux/spi/spidev.h")]
+        public const int SPI_IOC_RD_BITS_PER_WORD;
+        [CCode (cheader_filename = "linux/spi/spidev.h")]
+        public const int SPI_IOC_WR_BITS_PER_WORD;
+        [CCode (cheader_filename = "linux/spi/spidev.h")]
+        public const int SPI_IOC_RD_MAX_SPEED_HZ;
+        [CCode (cheader_filename = "linux/spi/spidev.h")]
+        public const int SPI_IOC_WR_MAX_SPEED_HZ;
+    }
+
     /*
      * Terminal input/output
      */