From: Michael 'Mickey' Lauer Date: Sun, 4 Dec 2011 11:05:40 +0000 (+0100) Subject: linux: add structures and constants for SPI (Serial Peripheral Interface) X-Git-Tag: 0.14.2~54 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=12d4b03e1f17ba587263476513b9d6f9f74f3081;p=thirdparty%2Fvala.git linux: add structures and constants for SPI (Serial Peripheral Interface) --- diff --git a/vapi/linux.vapi b/vapi/linux.vapi index 359c0b06f..89419a6b1 100644 --- a/vapi/linux.vapi +++ b/vapi/linux.vapi @@ -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 */