📄 spiioctl.h
字号:
#ifndef SPI_IOCTL_H__ // {#define SPI_IOCTL_H__#define FILE_DEVICE_GLGPS 40045#define FUNCTION_BASE 2100#define GPS_IOCTL(cmd) CTL_CODE(FILE_DEVICE_GLGPS, FUNCTION_BASE+(cmd),\ METHOD_BUFFERED, FILE_ANY_ACCESS)// These IOCTLs are specified. None are required, but// GPS performance is improved and power reduced if they// are implemented:#define GPS_INDEX_ZERO 0#define GPS_INDEX_POWER_DOWN_DATA 1#define GPS_INDEX_CHIPSET_CONTROL 2#define GPS_INDEX_RADIO_CLOCK 3#define GPS_INDEX_GET_CELL_INFO 4#define GPS_INDEX_GET_MSISDN 5#define GPS_INDEX_CUSTOM_PARAM 6#define GPS_INDEX_SECONDS 7#define GPS_INDEX_TRACE 8#define GPS_INDEX_INTERRUPT_ACKNOWLEDGE 9#define GPS_INDEX_MAX 10#define GPS_IOCTL_ZERO GPS_IOCTL(GPS_INDEX_ZERO)#define GPS_IOCTL_POWER_DOWN_DATA GPS_IOCTL(GPS_INDEX_POWER_DOWN_DATA)#define GPS_IOCTL_CHIPSET_CONTROL GPS_IOCTL(GPS_INDEX_CHIPSET_CONTROL)#define GPS_IOCTL_RADIO_CLOCK GPS_IOCTL(GPS_INDEX_RADIO_CLOCK)#define GPS_IOCTL_GET_CELL_INFO GPS_IOCTL(GPS_INDEX_GET_CELL_INFO)#define GPS_IOCTL_GET_MSISDN GPS_IOCTL(GPS_INDEX_GET_MSISDN)#define GPS_IOCTL_CUSTOM_PARAM GPS_IOCTL(GPS_INDEX_CUSTOM_PARAM)#define GPS_IOCTL_SECONDS GPS_IOCTL(GPS_INDEX_SECONDS)#define GPS_IOCTL_INTERRUPT_ACKNOWLEDGE GPS_IOCTL(GPS_INDEX_INTERRUPT_ACKNOWLEDGE)#define GPS_IOCTL_TRACE GPS_IOCTL(GPS_INDEX_TRACE)#define GPS_IOCTL_MAX GPS_IOCTL(GPS_INDEX_MAX)enum GPS_GPIO_ID{ GPS_NONE = 0, GPS_GPIO_RESET = 4, GPS_GPIO_STANDBY = 5, GPS_GPIO_POWER = 6};struct GPS_GPIO_CONTROL{ DWORD id; // one of enum GPS_GPIO_ID DWORD value; // 0 or 1};enum GlSuplSetIDType{ GL_SUPLID_MSISDN_BCD, GL_SUPLID_MSISDN_ASC, GL_SUPLID_MDN, GL_SUPLID_MIN, GL_SUPLID_IMSI, GL_SUPLID_IPv4, GL_SUPLID_IPv6};struct GlSuplSetID{ GlSuplSetIDType eType; // ID Type union { unsigned char msisdn_bcd[8]; // Mobile Subscriber ISDN Number // BCD format char msisdn_asc[17]; // Mobile Subscriber ISDN Number // 0 terminated Ascii string unsigned char mdn[8]; // TBD unsigned char min[5]; // Mobile ID number (first 34 // bits are used) unsigned char imsi[8]; // International Mobile // Subscriber Identity // IMSI = MCC + MNC + MSIN) unsigned char ipv4[4]; // IP address v4 unsigned char ipv6[16]; // IP address v6 } u;};struct GLL_CID{ DWORD MCC; DWORD MNC; DWORD LAC; DWORD CI;};// Set bits 0 and 29 for this "private" error code:#define ERROR_PWRINT (1L << (29) | (1))#endif // SPI_IOCTL_H__ }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -