mirror of
https://github.com/afska/gba-link-connection.git
synced 2026-10-02 13:56:42 -05:00
Adding prefixes to enums in C bindings
This commit is contained in:
@@ -17,10 +17,10 @@ typedef void* C_LinkCableHandle;
|
||||
#define C_LINK_CABLE_NO_DATA 0x0
|
||||
|
||||
typedef enum {
|
||||
C_BAUD_RATE_0, // 9600 bps
|
||||
C_BAUD_RATE_1, // 38400 bps
|
||||
C_BAUD_RATE_2, // 57600 bps
|
||||
C_BAUD_RATE_3 // 115200 bps
|
||||
C_LINK_CABLE_BAUD_RATE_0, // 9600 bps
|
||||
C_LINK_CABLE_BAUD_RATE_1, // 38400 bps
|
||||
C_LINK_CABLE_BAUD_RATE_2, // 57600 bps
|
||||
C_LINK_CABLE_BAUD_RATE_3 // 115200 bps
|
||||
} C_LinkCable_BaudRate;
|
||||
|
||||
C_LinkCableHandle C_LinkCable_create(C_LinkCable_BaudRate baudRate,
|
||||
|
||||
@@ -39,7 +39,7 @@ bool C_LinkMobile_callISP(C_LinkMobileHandle handle,
|
||||
|
||||
bool C_LinkMobile_dnsQuery(C_LinkMobileHandle handle,
|
||||
const char* domainName,
|
||||
C_LinkMobileDNSQuery* result) {
|
||||
C_LinkMobile_DNSQuery* result) {
|
||||
return static_cast<LinkMobile*>(handle)->dnsQuery(
|
||||
domainName, reinterpret_cast<LinkMobile::DNSQuery*>(result));
|
||||
}
|
||||
@@ -47,25 +47,25 @@ bool C_LinkMobile_dnsQuery(C_LinkMobileHandle handle,
|
||||
bool C_LinkMobile_openConnection(C_LinkMobileHandle handle,
|
||||
const u8* ip,
|
||||
u16 port,
|
||||
C_LinkMobileConnectionType type,
|
||||
C_LinkMobileOpenConn* result) {
|
||||
C_LinkMobile_ConnectionType connectionType,
|
||||
C_LinkMobile_OpenConn* result) {
|
||||
return static_cast<LinkMobile*>(handle)->openConnection(
|
||||
ip, port, static_cast<LinkMobile::ConnectionType>(type),
|
||||
ip, port, static_cast<LinkMobile::ConnectionType>(connectionType),
|
||||
reinterpret_cast<LinkMobile::OpenConn*>(result));
|
||||
}
|
||||
|
||||
bool C_LinkMobile_closeConnection(C_LinkMobileHandle handle,
|
||||
u8 connectionId,
|
||||
C_LinkMobileConnectionType type,
|
||||
C_LinkMobileCloseConn* result) {
|
||||
C_LinkMobile_ConnectionType connectionType,
|
||||
C_LinkMobile_CloseConn* result) {
|
||||
return static_cast<LinkMobile*>(handle)->closeConnection(
|
||||
connectionId, static_cast<LinkMobile::ConnectionType>(type),
|
||||
connectionId, static_cast<LinkMobile::ConnectionType>(connectionType),
|
||||
reinterpret_cast<LinkMobile::CloseConn*>(result));
|
||||
}
|
||||
|
||||
bool C_LinkMobile_transfer(C_LinkMobileHandle handle,
|
||||
C_LinkMobileDataTransfer dataToSend,
|
||||
C_LinkMobileDataTransfer* result,
|
||||
C_LinkMobile_DataTransfer dataToSend,
|
||||
C_LinkMobile_DataTransfer* result,
|
||||
u8 connectionId) {
|
||||
return static_cast<LinkMobile*>(handle)->transfer(
|
||||
*reinterpret_cast<LinkMobile::DataTransfer*>(&dataToSend),
|
||||
@@ -81,6 +81,13 @@ bool C_LinkMobile_hangUp(C_LinkMobileHandle handle) {
|
||||
return static_cast<LinkMobile*>(handle)->hangUp();
|
||||
}
|
||||
|
||||
bool C_LinkMobile_readConfiguration(
|
||||
C_LinkMobileHandle handle,
|
||||
C_LinkMobile_ConfigurationData* configurationData) {
|
||||
return static_cast<LinkMobile*>(handle)->readConfiguration(
|
||||
*reinterpret_cast<LinkMobile::ConfigurationData*>(configurationData));
|
||||
}
|
||||
|
||||
C_LinkMobile_State C_LinkMobile_getState(C_LinkMobileHandle handle) {
|
||||
return static_cast<C_LinkMobile_State>(
|
||||
static_cast<LinkMobile*>(handle)->getState());
|
||||
@@ -91,6 +98,42 @@ C_LinkMobile_Role C_LinkMobile_getRole(C_LinkMobileHandle handle) {
|
||||
static_cast<LinkMobile*>(handle)->getRole());
|
||||
}
|
||||
|
||||
int C_LinkMobile_isConfigurationValid(C_LinkMobileHandle handle) {
|
||||
return static_cast<LinkMobile*>(handle)->isConfigurationValid();
|
||||
}
|
||||
|
||||
bool C_LinkMobile_isConnectedP2P(C_LinkMobileHandle handle) {
|
||||
return static_cast<LinkMobile*>(handle)->isConnectedP2P();
|
||||
}
|
||||
|
||||
bool C_LinkMobile_isConnectedPPP(C_LinkMobileHandle handle) {
|
||||
return static_cast<LinkMobile*>(handle)->isConnectedPPP();
|
||||
}
|
||||
|
||||
bool C_LinkMobile_isSessionActive(C_LinkMobileHandle handle) {
|
||||
return static_cast<LinkMobile*>(handle)->isSessionActive();
|
||||
}
|
||||
|
||||
bool C_LinkMobile_canShutdown(C_LinkMobileHandle handle) {
|
||||
return static_cast<LinkMobile*>(handle)->canShutdown();
|
||||
}
|
||||
|
||||
C_LinkMobile_DataSize C_LinkMobile_getDataSize(C_LinkMobileHandle handle) {
|
||||
return static_cast<C_LinkMobile_DataSize>(
|
||||
static_cast<LinkMobile*>(handle)->getDataSize());
|
||||
}
|
||||
|
||||
C_LinkMobile_Error C_LinkMobile_getError(C_LinkMobileHandle handle) {
|
||||
LinkMobile::Error error = static_cast<LinkMobile*>(handle)->getError();
|
||||
return {static_cast<C_LinkMobile_ErrorType>(error.type),
|
||||
static_cast<C_LinkMobile_State>(error.state),
|
||||
error.cmdIsSending,
|
||||
error.cmdId,
|
||||
static_cast<C_LinkMobile_CommandResult>(error.cmdResult),
|
||||
error.cmdErrorCode,
|
||||
error.reqType};
|
||||
}
|
||||
|
||||
void C_LinkMobile_onVBlank(C_LinkMobileHandle handle) {
|
||||
static_cast<LinkMobile*>(handle)->_onVBlank();
|
||||
}
|
||||
|
||||
@@ -42,40 +42,98 @@ typedef enum {
|
||||
C_LINK_MOBILE_STATE_SHUTDOWN
|
||||
} C_LinkMobile_State;
|
||||
|
||||
typedef enum {
|
||||
enum C_LinkMobile_Role {
|
||||
C_LINK_MOBILE_ROLE_NO_P2P_CONNECTION,
|
||||
C_LINK_MOBILE_ROLE_CALLER,
|
||||
C_LINK_MOBILE_ROLE_RECEIVER
|
||||
} C_LinkMobile_Role;
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
enum C_LinkMobile_ConnectionType {
|
||||
C_LINK_MOBILE_CONNECTION_TYPE_TCP,
|
||||
C_LINK_MOBILE_CONNECTION_TYPE_UDP
|
||||
} C_LinkMobileConnectionType;
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
C_LINK_MOBILE_ERROR_TYPE_NONE,
|
||||
C_LINK_MOBILE_ERROR_TYPE_ADAPTER_NOT_CONNECTED,
|
||||
C_LINK_MOBILE_ERROR_TYPE_PPP_LOGIN_FAILED,
|
||||
C_LINK_MOBILE_ERROR_TYPE_COMMAND_FAILED,
|
||||
C_LINK_MOBILE_ERROR_TYPE_WEIRD_RESPONSE,
|
||||
C_LINK_MOBILE_ERROR_TYPE_TIMEOUT,
|
||||
C_LINK_MOBILE_ERROR_TYPE_WTF
|
||||
} C_LinkMobile_ErrorType;
|
||||
|
||||
typedef enum {
|
||||
C_LINK_MOBILE_COMMAND_RESULT_PENDING,
|
||||
C_LINK_MOBILE_COMMAND_RESULT_SUCCESS,
|
||||
C_LINK_MOBILE_COMMAND_RESULT_INVALID_DEVICE_ID,
|
||||
C_LINK_MOBILE_COMMAND_RESULT_INVALID_COMMAND_ACK,
|
||||
C_LINK_MOBILE_COMMAND_RESULT_INVALID_MAGIC_BYTES,
|
||||
C_LINK_MOBILE_COMMAND_RESULT_WEIRD_DATA_SIZE,
|
||||
C_LINK_MOBILE_COMMAND_RESULT_WRONG_CHECKSUM,
|
||||
C_LINK_MOBILE_COMMAND_RESULT_ERROR_CODE,
|
||||
C_LINK_MOBILE_COMMAND_RESULT_WEIRD_ERROR_CODE
|
||||
} C_LinkMobile_CommandResult;
|
||||
|
||||
typedef struct {
|
||||
volatile bool completed;
|
||||
bool success;
|
||||
C_LinkMobile_ErrorType type;
|
||||
C_LinkMobile_State state;
|
||||
bool cmdIsSending;
|
||||
u8 cmdId;
|
||||
C_LinkMobile_CommandResult cmdResult;
|
||||
u32 cmdErrorCode;
|
||||
int reqType;
|
||||
} C_LinkMobile_Error;
|
||||
|
||||
typedef struct {
|
||||
u32 connectionId;
|
||||
bool completed;
|
||||
u32 size;
|
||||
u8 data[254];
|
||||
u8 size;
|
||||
} C_LinkMobileDataTransfer;
|
||||
} C_LinkMobile_DataTransfer;
|
||||
|
||||
typedef struct {
|
||||
volatile bool completed;
|
||||
u32 connectionId;
|
||||
bool success;
|
||||
} C_LinkMobile_OpenConn;
|
||||
|
||||
typedef struct {
|
||||
u32 connectionId;
|
||||
bool success;
|
||||
} C_LinkMobile_CloseConn;
|
||||
|
||||
typedef struct {
|
||||
u8 ipv4[4];
|
||||
} C_LinkMobileDNSQuery;
|
||||
bool success;
|
||||
bool completed;
|
||||
} C_LinkMobile_DNSQuery;
|
||||
|
||||
typedef struct {
|
||||
volatile bool completed;
|
||||
bool success;
|
||||
u8 connectionId;
|
||||
} C_LinkMobileOpenConn;
|
||||
char magic[2];
|
||||
u8 registrationState;
|
||||
u8 _unused1_;
|
||||
u8 primaryDNS[4];
|
||||
u8 secondaryDNS[4];
|
||||
char loginId[10];
|
||||
u8 _unused2_[22];
|
||||
char email[24];
|
||||
u8 _unused3_[6];
|
||||
char smtpServer[20];
|
||||
char popServer[19];
|
||||
u8 _unused4_[5];
|
||||
u8 configurationSlot1[24];
|
||||
u8 configurationSlot2[24];
|
||||
u8 configurationSlot3[24];
|
||||
u8 checksumHigh;
|
||||
u8 checksumLow;
|
||||
|
||||
typedef struct {
|
||||
volatile bool completed;
|
||||
bool success;
|
||||
} C_LinkMobileCloseConn;
|
||||
char _ispNumber1[16 + 1];
|
||||
} C_LinkMobile_ConfigurationData;
|
||||
|
||||
typedef enum {
|
||||
C_LINK_MOBILE_SIZE_32BIT,
|
||||
C_LINK_MOBILE_SIZE_8BIT
|
||||
} C_LinkMobile_DataSize;
|
||||
|
||||
C_LinkMobileHandle C_LinkMobile_create(u32 timeout, u8 timerId);
|
||||
void C_LinkMobile_destroy(C_LinkMobileHandle handle);
|
||||
@@ -92,26 +150,37 @@ bool C_LinkMobile_callISP(C_LinkMobileHandle handle,
|
||||
|
||||
bool C_LinkMobile_dnsQuery(C_LinkMobileHandle handle,
|
||||
const char* domainName,
|
||||
C_LinkMobileDNSQuery* result);
|
||||
C_LinkMobile_DNSQuery* result);
|
||||
bool C_LinkMobile_openConnection(C_LinkMobileHandle handle,
|
||||
const u8* ip,
|
||||
u16 port,
|
||||
C_LinkMobileConnectionType type,
|
||||
C_LinkMobileOpenConn* result);
|
||||
C_LinkMobile_ConnectionType connectionType,
|
||||
C_LinkMobile_OpenConn* result);
|
||||
bool C_LinkMobile_closeConnection(C_LinkMobileHandle handle,
|
||||
u8 connectionId,
|
||||
C_LinkMobileConnectionType type,
|
||||
C_LinkMobileCloseConn* result);
|
||||
|
||||
C_LinkMobile_ConnectionType connectionType,
|
||||
C_LinkMobile_CloseConn* result);
|
||||
bool C_LinkMobile_transfer(C_LinkMobileHandle handle,
|
||||
C_LinkMobileDataTransfer dataToSend,
|
||||
C_LinkMobileDataTransfer* result,
|
||||
C_LinkMobile_DataTransfer dataToSend,
|
||||
C_LinkMobile_DataTransfer* result,
|
||||
u8 connectionId);
|
||||
|
||||
bool C_LinkMobile_waitFor(C_LinkMobileHandle handle, void* asyncRequest);
|
||||
bool C_LinkMobile_hangUp(C_LinkMobileHandle handle);
|
||||
|
||||
bool C_LinkMobile_readConfiguration(
|
||||
C_LinkMobileHandle handle,
|
||||
C_LinkMobile_ConfigurationData* configurationData);
|
||||
|
||||
C_LinkMobile_State C_LinkMobile_getState(C_LinkMobileHandle handle);
|
||||
C_LinkMobile_Role C_LinkMobile_getRole(C_LinkMobileHandle handle);
|
||||
int C_LinkMobile_isConfigurationValid(C_LinkMobileHandle handle);
|
||||
bool C_LinkMobile_isConnectedP2P(C_LinkMobileHandle handle);
|
||||
bool C_LinkMobile_isConnectedPPP(C_LinkMobileHandle handle);
|
||||
bool C_LinkMobile_isSessionActive(C_LinkMobileHandle handle);
|
||||
bool C_LinkMobile_canShutdown(C_LinkMobileHandle handle);
|
||||
C_LinkMobile_DataSize C_LinkMobile_getDataSize(C_LinkMobileHandle handle);
|
||||
C_LinkMobile_Error C_LinkMobile_getError(C_LinkMobileHandle handle);
|
||||
|
||||
void C_LinkMobile_onVBlank(C_LinkMobileHandle handle);
|
||||
void C_LinkMobile_onSerial(C_LinkMobileHandle handle);
|
||||
|
||||
@@ -13,16 +13,16 @@ typedef void* C_LinkRawCableHandle;
|
||||
#define C_LINK_RAW_CABLE_DISCONNECTED 0xffff
|
||||
|
||||
typedef enum {
|
||||
C_BAUD_RATE_0, // 9600 bps
|
||||
C_BAUD_RATE_1, // 38400 bps
|
||||
C_BAUD_RATE_2, // 57600 bps
|
||||
C_BAUD_RATE_3 // 115200 bps
|
||||
C_LINK_RAW_CABLE_BAUD_RATE_0, // 9600 bps
|
||||
C_LINK_RAW_CABLE_BAUD_RATE_1, // 38400 bps
|
||||
C_LINK_RAW_CABLE_BAUD_RATE_2, // 57600 bps
|
||||
C_LINK_RAW_CABLE_BAUD_RATE_3 // 115200 bps
|
||||
} C_LinkRawCable_BaudRate;
|
||||
|
||||
typedef enum {
|
||||
C_ASYNC_STATE_IDLE,
|
||||
C_ASYNC_STATE_WAITING,
|
||||
C_ASYNC_STATE_READY
|
||||
C_LINK_RAW_CABLE_ASYNC_STATE_IDLE,
|
||||
C_LINK_RAW_CABLE_ASYNC_STATE_WAITING,
|
||||
C_LINK_RAW_CABLE_ASYNC_STATE_READY
|
||||
} C_LinkRawCable_AsyncState;
|
||||
|
||||
typedef struct {
|
||||
|
||||
@@ -14,17 +14,17 @@ typedef void* C_LinkSPIHandle;
|
||||
#define C_LINK_SPI_NO_DATA LINK_SPI_NO_DATA_32
|
||||
|
||||
typedef enum {
|
||||
C_MODE_SLAVE,
|
||||
C_MODE_MASTER_256KBPS,
|
||||
C_MODE_MASTER_2MBPS
|
||||
C_LINK_SPI_MODE_SLAVE,
|
||||
C_LINK_SPI_MODE_MASTER_256KBPS,
|
||||
C_LINK_SPI_MODE_MASTER_2MBPS
|
||||
} C_LinkSPI_Mode;
|
||||
|
||||
typedef enum { C_SIZE_32BIT, C_SIZE_8BIT } C_LinkSPI_DataSize;
|
||||
typedef enum { C_LINK_SPI_SIZE_32BIT, C_LINK_SPI_SIZE_8BIT } C_LinkSPI_DataSize;
|
||||
|
||||
typedef enum {
|
||||
C_ASYNC_STATE_IDLE,
|
||||
C_ASYNC_STATE_WAITING,
|
||||
C_ASYNC_STATE_READY
|
||||
C_LINK_SPI_ASYNC_STATE_IDLE,
|
||||
C_LINK_SPI_ASYNC_STATE_WAITING,
|
||||
C_LINK_SPI_ASYNC_STATE_READY
|
||||
} C_LinkSPI_AsyncState;
|
||||
|
||||
C_LinkSPIHandle C_LinkSPI_create();
|
||||
|
||||
@@ -10,15 +10,22 @@ extern "C" {
|
||||
typedef void* C_LinkUARTHandle;
|
||||
|
||||
typedef enum {
|
||||
C_BAUD_RATE_0, // 9600 bps
|
||||
C_BAUD_RATE_1, // 38400 bps
|
||||
C_BAUD_RATE_2, // 57600 bps
|
||||
C_BAUD_RATE_3 // 115200 bps
|
||||
C_LINK_UART_BAUD_RATE_0, // 9600 bps
|
||||
C_LINK_UART_BAUD_RATE_1, // 38400 bps
|
||||
C_LINK_UART_BAUD_RATE_2, // 57600 bps
|
||||
C_LINK_UART_BAUD_RATE_3 // 115200 bps
|
||||
} C_LinkUART_BaudRate;
|
||||
|
||||
typedef enum { C_SIZE_7_BITS, C_SIZE_8_BITS } C_LinkUART_DataSize;
|
||||
typedef enum {
|
||||
C_LINK_UART_SIZE_7_BITS,
|
||||
C_LINK_UART_SIZE_8_BITS
|
||||
} C_LinkUART_DataSize;
|
||||
|
||||
typedef enum { C_PARITY_NO, C_PARITY_EVEN, C_PARITY_ODD } C_LinkUART_Parity;
|
||||
typedef enum {
|
||||
C_LINK_UART_PARITY_NO,
|
||||
C_LINK_UART_PARITY_EVEN,
|
||||
C_LINK_UART_PARITY_ODD
|
||||
} C_LinkUART_Parity;
|
||||
|
||||
C_LinkUARTHandle C_LinkUART_create();
|
||||
void C_LinkUART_destroy(C_LinkUARTHandle handle);
|
||||
|
||||
@@ -14,19 +14,22 @@ typedef void* C_LinkUniversalHandle;
|
||||
#define C_LINK_UNIVERSAL_NO_DATA 0x0
|
||||
|
||||
typedef enum {
|
||||
C_STATE_INITIALIZING,
|
||||
C_STATE_WAITING,
|
||||
C_STATE_CONNECTED
|
||||
C_LINK_UNIVERSAL_STATE_INITIALIZING,
|
||||
C_LINK_UNIVERSAL_STATE_WAITING,
|
||||
C_LINK_UNIVERSAL_STATE_CONNECTED
|
||||
} C_LinkUniversal_State;
|
||||
|
||||
typedef enum { C_MODE_LINK_CABLE, C_MODE_LINK_WIRELESS } C_LinkUniversal_Mode;
|
||||
typedef enum {
|
||||
C_LINK_UNIVERSAL_MODE_LINK_CABLE,
|
||||
C_LINK_UNIVERSAL_MODE_LINK_WIRELESS
|
||||
} C_LinkUniversal_Mode;
|
||||
|
||||
typedef enum {
|
||||
C_PROTOCOL_AUTODETECT,
|
||||
C_PROTOCOL_CABLE,
|
||||
C_PROTOCOL_WIRELESS_AUTO,
|
||||
C_PROTOCOL_WIRELESS_SERVER,
|
||||
C_PROTOCOL_WIRELESS_CLIENT
|
||||
C_LINK_UNIVERSAL_PROTOCOL_AUTODETECT,
|
||||
C_LINK_UNIVERSAL_PROTOCOL_CABLE,
|
||||
C_LINK_UNIVERSAL_PROTOCOL_WIRELESS_AUTO,
|
||||
C_LINK_UNIVERSAL_PROTOCOL_WIRELESS_SERVER,
|
||||
C_LINK_UNIVERSAL_PROTOCOL_WIRELESS_CLIENT
|
||||
} C_LinkUniversal_Protocol;
|
||||
|
||||
typedef struct {
|
||||
|
||||
Reference in New Issue
Block a user