mirror of
https://github.com/aaru-dps/aaruremote.git
synced 2025-12-16 19:24:37 +00:00
Code style.
This commit is contained in:
372
aaruremote.h
372
aaruremote.h
@@ -118,15 +118,21 @@
|
|||||||
#define AARUREMOTE_MMC_RESPONSE_SPI_B4 (1 << 9)
|
#define AARUREMOTE_MMC_RESPONSE_SPI_B4 (1 << 9)
|
||||||
#define AARUREMOTE_MMC_RESPONSE_SPI_BUSY (1 << 10)
|
#define AARUREMOTE_MMC_RESPONSE_SPI_BUSY (1 << 10)
|
||||||
#define AARUREMOTE_MMC_RESPONSE_NONE (0)
|
#define AARUREMOTE_MMC_RESPONSE_NONE (0)
|
||||||
#define AARUREMOTE_MMC_RESPONSE_R1 AARUREMOTE_MMC_RESPONSE_PRESENT | AARUREMOTE_MMC_RESPONSE_CRC | AARUREMOTE_MMC_RESPONSE_OPCODE
|
#define AARUREMOTE_MMC_RESPONSE_R1 \
|
||||||
#define AARUREMOTE_MMC_RESPONSE_R1B \
|
AARUREMOTE_MMC_RESPONSE_PRESENT | AARUREMOTE_MMC_RESPONSE_CRC | AARUREMOTE_MMC_RESPONSE_OPCODE
|
||||||
AARUREMOTE_MMC_RESPONSE_PRESENT | AARUREMOTE_MMC_RESPONSE_CRC | AARUREMOTE_MMC_RESPONSE_OPCODE | AARUREMOTE_MMC_RESPONSE_BUSY
|
#define AARUREMOTE_MMC_RESPONSE_R1B \
|
||||||
#define AARUREMOTE_MMC_RESPONSE_R2 AARUREMOTE_MMC_RESPONSE_PRESENT | AARUREMOTE_MMC_RESPONSE_136 | AARUREMOTE_MMC_RESPONSE_CRC
|
AARUREMOTE_MMC_RESPONSE_PRESENT | AARUREMOTE_MMC_RESPONSE_CRC | AARUREMOTE_MMC_RESPONSE_OPCODE | \
|
||||||
|
AARUREMOTE_MMC_RESPONSE_BUSY
|
||||||
|
#define AARUREMOTE_MMC_RESPONSE_R2 \
|
||||||
|
AARUREMOTE_MMC_RESPONSE_PRESENT | AARUREMOTE_MMC_RESPONSE_136 | AARUREMOTE_MMC_RESPONSE_CRC
|
||||||
#define AARUREMOTE_MMC_RESPONSE_R3 AARUREMOTE_MMC_RESPONSE_PRESENT
|
#define AARUREMOTE_MMC_RESPONSE_R3 AARUREMOTE_MMC_RESPONSE_PRESENT
|
||||||
#define AARUREMOTE_MMC_RESPONSE_R4 AARUREMOTE_MMC_RESPONSE_PRESENT
|
#define AARUREMOTE_MMC_RESPONSE_R4 AARUREMOTE_MMC_RESPONSE_PRESENT
|
||||||
#define AARUREMOTE_MMC_RESPONSE_R5 AARUREMOTE_MMC_RESPONSE_PRESENT | AARUREMOTE_MMC_RESPONSE_CRC | AARUREMOTE_MMC_RESPONSE_OPCODE
|
#define AARUREMOTE_MMC_RESPONSE_R5 \
|
||||||
#define AARUREMOTE_MMC_RESPONSE_R6 AARUREMOTE_MMC_RESPONSE_PRESENT | AARUREMOTE_MMC_RESPONSE_CRC | AARUREMOTE_MMC_RESPONSE_OPCODE
|
AARUREMOTE_MMC_RESPONSE_PRESENT | AARUREMOTE_MMC_RESPONSE_CRC | AARUREMOTE_MMC_RESPONSE_OPCODE
|
||||||
#define AARUREMOTE_MMC_RESPONSE_R7 AARUREMOTE_MMC_RESPONSE_PRESENT | AARUREMOTE_MMC_RESPONSE_CRC | AARUREMOTE_MMC_RESPONSE_OPCODE
|
#define AARUREMOTE_MMC_RESPONSE_R6 \
|
||||||
|
AARUREMOTE_MMC_RESPONSE_PRESENT | AARUREMOTE_MMC_RESPONSE_CRC | AARUREMOTE_MMC_RESPONSE_OPCODE
|
||||||
|
#define AARUREMOTE_MMC_RESPONSE_R7 \
|
||||||
|
AARUREMOTE_MMC_RESPONSE_PRESENT | AARUREMOTE_MMC_RESPONSE_CRC | AARUREMOTE_MMC_RESPONSE_OPCODE
|
||||||
#define AARUREMOTE_MMC_RESPONSE_SPI_R1 AARUREMOTE_MMC_RESPONSE_SPI_S1
|
#define AARUREMOTE_MMC_RESPONSE_SPI_R1 AARUREMOTE_MMC_RESPONSE_SPI_S1
|
||||||
#define AARUREMOTE_MMC_RESPONSE_SPI_R1B AARUREMOTE_MMC_RESPONSE_SPI_S1 | AARUREMOTE_MMC_RESPONSE_SPI_BUSY
|
#define AARUREMOTE_MMC_RESPONSE_SPI_R1B AARUREMOTE_MMC_RESPONSE_SPI_S1 | AARUREMOTE_MMC_RESPONSE_SPI_BUSY
|
||||||
#define AARUREMOTE_MMC_RESPONSE_SPI_R2 AARUREMOTE_MMC_RESPONSE_SPI_S1 | AARUREMOTE_MMC_RESPONSE_SPI_S2
|
#define AARUREMOTE_MMC_RESPONSE_SPI_R2 AARUREMOTE_MMC_RESPONSE_SPI_S1 | AARUREMOTE_MMC_RESPONSE_SPI_S2
|
||||||
@@ -150,13 +156,13 @@ typedef struct
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
AaruPacketHeader hdr;
|
AaruPacketHeader hdr;
|
||||||
char application[128];
|
char application[128];
|
||||||
char version[64];
|
char version[64];
|
||||||
uint8_t max_protocol;
|
uint8_t max_protocol;
|
||||||
char spare[3];
|
char spare[3];
|
||||||
char sysname[256];
|
char sysname[256];
|
||||||
char release[256];
|
char release[256];
|
||||||
char machine[256];
|
char machine[256];
|
||||||
} AaruPacketHello;
|
} AaruPacketHello;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
@@ -167,7 +173,7 @@ typedef struct
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
AaruPacketHeader hdr;
|
AaruPacketHeader hdr;
|
||||||
uint16_t devices;
|
uint16_t devices;
|
||||||
} AaruPacketResListDevs;
|
} AaruPacketResListDevs;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
@@ -190,35 +196,35 @@ typedef struct DeviceInfoList
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
AaruPacketHeader hdr;
|
AaruPacketHeader hdr;
|
||||||
uint8_t reason_code;
|
uint8_t reason_code;
|
||||||
char spare[3];
|
char spare[3];
|
||||||
char reason[256];
|
char reason[256];
|
||||||
int32_t error_no;
|
int32_t error_no;
|
||||||
} AaruPacketNop;
|
} AaruPacketNop;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
AaruPacketHeader hdr;
|
AaruPacketHeader hdr;
|
||||||
char device_path[1024];
|
char device_path[1024];
|
||||||
} AaruPacketCmdOpen;
|
} AaruPacketCmdOpen;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
AaruPacketHeader hdr;
|
AaruPacketHeader hdr;
|
||||||
uint32_t cdb_len;
|
uint32_t cdb_len;
|
||||||
uint32_t buf_len;
|
uint32_t buf_len;
|
||||||
int32_t direction;
|
int32_t direction;
|
||||||
uint32_t timeout;
|
uint32_t timeout;
|
||||||
} AaruPacketCmdScsi;
|
} AaruPacketCmdScsi;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
AaruPacketHeader hdr;
|
AaruPacketHeader hdr;
|
||||||
uint32_t sense_len;
|
uint32_t sense_len;
|
||||||
uint32_t buf_len;
|
uint32_t buf_len;
|
||||||
uint32_t duration;
|
uint32_t duration;
|
||||||
uint32_t sense;
|
uint32_t sense;
|
||||||
uint32_t error_no;
|
uint32_t error_no;
|
||||||
} AaruPacketResScsi;
|
} AaruPacketResScsi;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
@@ -246,18 +252,18 @@ typedef struct
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
AaruPacketHeader hdr;
|
AaruPacketHeader hdr;
|
||||||
uint32_t buf_len;
|
uint32_t buf_len;
|
||||||
AtaRegistersChs registers;
|
AtaRegistersChs registers;
|
||||||
uint8_t protocol;
|
uint8_t protocol;
|
||||||
uint8_t transfer_register;
|
uint8_t transfer_register;
|
||||||
uint8_t transfer_blocks;
|
uint8_t transfer_blocks;
|
||||||
uint8_t spare;
|
uint8_t spare;
|
||||||
uint32_t timeout;
|
uint32_t timeout;
|
||||||
} AaruPacketCmdAtaChs;
|
} AaruPacketCmdAtaChs;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
AaruPacketHeader hdr;
|
AaruPacketHeader hdr;
|
||||||
uint32_t buf_len;
|
uint32_t buf_len;
|
||||||
AtaErrorRegistersChs registers;
|
AtaErrorRegistersChs registers;
|
||||||
uint32_t duration;
|
uint32_t duration;
|
||||||
@@ -289,7 +295,7 @@ typedef struct
|
|||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
AaruPacketHeader hdr;
|
AaruPacketHeader hdr;
|
||||||
uint32_t buf_len;
|
uint32_t buf_len;
|
||||||
AtaRegistersLba28 registers;
|
AtaRegistersLba28 registers;
|
||||||
uint8_t protocol;
|
uint8_t protocol;
|
||||||
@@ -301,7 +307,7 @@ typedef struct
|
|||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
AaruPacketHeader hdr;
|
AaruPacketHeader hdr;
|
||||||
uint32_t buf_len;
|
uint32_t buf_len;
|
||||||
AtaErrorRegistersLba28 registers;
|
AtaErrorRegistersLba28 registers;
|
||||||
uint32_t duration;
|
uint32_t duration;
|
||||||
@@ -333,7 +339,7 @@ typedef struct
|
|||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
AaruPacketHeader hdr;
|
AaruPacketHeader hdr;
|
||||||
uint32_t buf_len;
|
uint32_t buf_len;
|
||||||
AtaRegistersLba48 registers;
|
AtaRegistersLba48 registers;
|
||||||
uint8_t protocol;
|
uint8_t protocol;
|
||||||
@@ -345,7 +351,7 @@ typedef struct
|
|||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
AaruPacketHeader hdr;
|
AaruPacketHeader hdr;
|
||||||
uint32_t buf_len;
|
uint32_t buf_len;
|
||||||
AtaErrorRegistersLba48 registers;
|
AtaErrorRegistersLba48 registers;
|
||||||
uint32_t duration;
|
uint32_t duration;
|
||||||
@@ -356,25 +362,25 @@ typedef struct
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
AaruPacketHeader hdr;
|
AaruPacketHeader hdr;
|
||||||
uint8_t command;
|
uint8_t command;
|
||||||
uint8_t write;
|
uint8_t write;
|
||||||
uint8_t application;
|
uint8_t application;
|
||||||
uint32_t flags;
|
uint32_t flags;
|
||||||
uint32_t argument;
|
uint32_t argument;
|
||||||
uint32_t block_size;
|
uint32_t block_size;
|
||||||
uint32_t blocks;
|
uint32_t blocks;
|
||||||
uint32_t buf_len;
|
uint32_t buf_len;
|
||||||
uint32_t timeout;
|
uint32_t timeout;
|
||||||
} AaruPacketCmdSdhci;
|
} AaruPacketCmdSdhci;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
AaruPacketHeader hdr;
|
AaruPacketHeader hdr;
|
||||||
uint32_t buf_len;
|
uint32_t buf_len;
|
||||||
uint32_t response[4];
|
uint32_t response[4];
|
||||||
uint32_t duration;
|
uint32_t duration;
|
||||||
uint32_t sense;
|
uint32_t sense;
|
||||||
uint32_t error_no;
|
uint32_t error_no;
|
||||||
} AaruPacketResSdhci;
|
} AaruPacketResSdhci;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
@@ -385,7 +391,7 @@ typedef struct
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
AaruPacketHeader hdr;
|
AaruPacketHeader hdr;
|
||||||
int32_t device_type;
|
int32_t device_type;
|
||||||
} AaruPacketResGetDeviceType;
|
} AaruPacketResGetDeviceType;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
@@ -396,15 +402,15 @@ typedef struct
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
AaruPacketHeader hdr;
|
AaruPacketHeader hdr;
|
||||||
uint8_t is_sdhci;
|
uint8_t is_sdhci;
|
||||||
char csd[16];
|
char csd[16];
|
||||||
char cid[16];
|
char cid[16];
|
||||||
char ocr[4];
|
char ocr[4];
|
||||||
char scr[8];
|
char scr[8];
|
||||||
uint32_t csd_len;
|
uint32_t csd_len;
|
||||||
uint32_t cid_len;
|
uint32_t cid_len;
|
||||||
uint32_t ocr_len;
|
uint32_t ocr_len;
|
||||||
uint32_t scr_len;
|
uint32_t scr_len;
|
||||||
} AaruPacketResGetSdhciRegisters;
|
} AaruPacketResGetSdhciRegisters;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
@@ -415,14 +421,14 @@ typedef struct
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
AaruPacketHeader hdr;
|
AaruPacketHeader hdr;
|
||||||
uint8_t is_usb;
|
uint8_t is_usb;
|
||||||
uint16_t desc_len;
|
uint16_t desc_len;
|
||||||
char descriptors[65536];
|
char descriptors[65536];
|
||||||
uint16_t id_vendor;
|
uint16_t id_vendor;
|
||||||
uint16_t id_product;
|
uint16_t id_product;
|
||||||
char manufacturer[256];
|
char manufacturer[256];
|
||||||
char product[256];
|
char product[256];
|
||||||
char serial[256];
|
char serial[256];
|
||||||
} AaruPacketResGetUsbData;
|
} AaruPacketResGetUsbData;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
@@ -433,12 +439,12 @@ typedef struct
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
AaruPacketHeader hdr;
|
AaruPacketHeader hdr;
|
||||||
uint8_t is_firewire;
|
uint8_t is_firewire;
|
||||||
uint32_t id_model;
|
uint32_t id_model;
|
||||||
uint32_t id_vendor;
|
uint32_t id_vendor;
|
||||||
uint64_t guid;
|
uint64_t guid;
|
||||||
char vendor[256];
|
char vendor[256];
|
||||||
char model[256];
|
char model[256];
|
||||||
} AaruPacketResGetFireWireData;
|
} AaruPacketResGetFireWireData;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
@@ -449,9 +455,9 @@ typedef struct
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
AaruPacketHeader hdr;
|
AaruPacketHeader hdr;
|
||||||
uint8_t is_pcmcia;
|
uint8_t is_pcmcia;
|
||||||
uint16_t cis_len;
|
uint16_t cis_len;
|
||||||
char cis[65536];
|
char cis[65536];
|
||||||
} AaruPacketResGetPcmciaData;
|
} AaruPacketResGetPcmciaData;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
@@ -467,113 +473,113 @@ typedef struct
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
AaruPacketHeader hdr;
|
AaruPacketHeader hdr;
|
||||||
uint32_t am_i_root;
|
uint32_t am_i_root;
|
||||||
} AaruPacketResAmIRoot;
|
} AaruPacketResAmIRoot;
|
||||||
|
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
DeviceInfoList* ListDevices();
|
DeviceInfoList* ListDevices();
|
||||||
void FreeDeviceInfoList(DeviceInfoList* start);
|
void FreeDeviceInfoList(DeviceInfoList* start);
|
||||||
uint16_t DeviceInfoListCount(DeviceInfoList* start);
|
uint16_t DeviceInfoListCount(DeviceInfoList* start);
|
||||||
void* DeviceOpen(const char* device_path);
|
void* DeviceOpen(const char* device_path);
|
||||||
void DeviceClose(void* device_ctx);
|
void DeviceClose(void* device_ctx);
|
||||||
int32_t GetDeviceType(void* device_ctx);
|
int32_t GetDeviceType(void* device_ctx);
|
||||||
int32_t SendScsiCommand(void* device_ctx,
|
int32_t SendScsiCommand(void* device_ctx,
|
||||||
char* cdb,
|
char* cdb,
|
||||||
char* buffer,
|
|
||||||
char** sense_buffer,
|
|
||||||
uint32_t timeout,
|
|
||||||
int32_t direction,
|
|
||||||
uint32_t* duration,
|
|
||||||
uint32_t* sense,
|
|
||||||
uint32_t cdb_len,
|
|
||||||
uint32_t* buf_len,
|
|
||||||
uint32_t* sense_len);
|
|
||||||
int Hexchr2Bin(const char hex, char* out);
|
|
||||||
size_t Hexs2Bin(const char* hex, unsigned char** out);
|
|
||||||
int32_t GetSdhciRegisters(void* device_ctx,
|
|
||||||
char** csd,
|
|
||||||
char** cid,
|
|
||||||
char** ocr,
|
|
||||||
char** scr,
|
|
||||||
uint32_t* csd_len,
|
|
||||||
uint32_t* cid_len,
|
|
||||||
uint32_t* ocr_len,
|
|
||||||
uint32_t* scr_len);
|
|
||||||
uint8_t GetUsbData(void* device_ctx,
|
|
||||||
uint16_t* desc_len,
|
|
||||||
char* descriptors,
|
|
||||||
uint16_t* id_vendor,
|
|
||||||
uint16_t* id_product,
|
|
||||||
char* manufacturer,
|
|
||||||
char* product,
|
|
||||||
char* serial);
|
|
||||||
uint8_t GetFireWireData(void* device_ctx,
|
|
||||||
uint32_t* id_model,
|
|
||||||
uint32_t* id_vendor,
|
|
||||||
uint64_t* guid,
|
|
||||||
char* vendor,
|
|
||||||
char* model);
|
|
||||||
uint8_t GetPcmciaData(void* device_ctx, uint16_t* cis_len, char* cis);
|
|
||||||
int32_t SendAtaChsCommand(void* device_ctx,
|
|
||||||
AtaRegistersChs registers,
|
|
||||||
AtaErrorRegistersChs* error_registers,
|
|
||||||
uint8_t protocol,
|
|
||||||
uint8_t transfer_register,
|
|
||||||
char* buffer,
|
|
||||||
uint32_t timeout,
|
|
||||||
uint8_t transfer_blocks,
|
|
||||||
uint32_t* duration,
|
|
||||||
uint32_t* sense,
|
|
||||||
uint32_t* buf_len);
|
|
||||||
int32_t SendAtaLba28Command(void* device_ctx,
|
|
||||||
AtaRegistersLba28 registers,
|
|
||||||
AtaErrorRegistersLba28* error_registers,
|
|
||||||
uint8_t protocol,
|
|
||||||
uint8_t transfer_register,
|
|
||||||
char* buffer,
|
|
||||||
uint32_t timeout,
|
|
||||||
uint8_t transfer_blocks,
|
|
||||||
uint32_t* duration,
|
|
||||||
uint32_t* sense,
|
|
||||||
uint32_t* buf_len);
|
|
||||||
int32_t SendAtaLba48Command(void* device_ctx,
|
|
||||||
AtaRegistersLba48 registers,
|
|
||||||
AtaErrorRegistersLba48* error_registers,
|
|
||||||
uint8_t protocol,
|
|
||||||
uint8_t transfer_register,
|
|
||||||
char* buffer,
|
|
||||||
uint32_t timeout,
|
|
||||||
uint8_t transfer_blocks,
|
|
||||||
uint32_t* duration,
|
|
||||||
uint32_t* sense,
|
|
||||||
uint32_t* buf_len);
|
|
||||||
int32_t SendSdhciCommand(void* device_ctx,
|
|
||||||
uint8_t command,
|
|
||||||
uint8_t write,
|
|
||||||
uint8_t application,
|
|
||||||
uint32_t flags,
|
|
||||||
uint32_t argument,
|
|
||||||
uint32_t block_size,
|
|
||||||
uint32_t blocks,
|
|
||||||
char* buffer,
|
char* buffer,
|
||||||
uint32_t buf_len,
|
char** sense_buffer,
|
||||||
uint32_t timeout,
|
uint32_t timeout,
|
||||||
uint32_t* response,
|
int32_t direction,
|
||||||
uint32_t* duration,
|
uint32_t* duration,
|
||||||
uint32_t* sense);
|
uint32_t* sense,
|
||||||
|
uint32_t cdb_len,
|
||||||
|
uint32_t* buf_len,
|
||||||
|
uint32_t* sense_len);
|
||||||
|
int Hexchr2Bin(const char hex, char* out);
|
||||||
|
size_t Hexs2Bin(const char* hex, unsigned char** out);
|
||||||
|
int32_t GetSdhciRegisters(void* device_ctx,
|
||||||
|
char** csd,
|
||||||
|
char** cid,
|
||||||
|
char** ocr,
|
||||||
|
char** scr,
|
||||||
|
uint32_t* csd_len,
|
||||||
|
uint32_t* cid_len,
|
||||||
|
uint32_t* ocr_len,
|
||||||
|
uint32_t* scr_len);
|
||||||
|
uint8_t GetUsbData(void* device_ctx,
|
||||||
|
uint16_t* desc_len,
|
||||||
|
char* descriptors,
|
||||||
|
uint16_t* id_vendor,
|
||||||
|
uint16_t* id_product,
|
||||||
|
char* manufacturer,
|
||||||
|
char* product,
|
||||||
|
char* serial);
|
||||||
|
uint8_t GetFireWireData(void* device_ctx,
|
||||||
|
uint32_t* id_model,
|
||||||
|
uint32_t* id_vendor,
|
||||||
|
uint64_t* guid,
|
||||||
|
char* vendor,
|
||||||
|
char* model);
|
||||||
|
uint8_t GetPcmciaData(void* device_ctx, uint16_t* cis_len, char* cis);
|
||||||
|
int32_t SendAtaChsCommand(void* device_ctx,
|
||||||
|
AtaRegistersChs registers,
|
||||||
|
AtaErrorRegistersChs* error_registers,
|
||||||
|
uint8_t protocol,
|
||||||
|
uint8_t transfer_register,
|
||||||
|
char* buffer,
|
||||||
|
uint32_t timeout,
|
||||||
|
uint8_t transfer_blocks,
|
||||||
|
uint32_t* duration,
|
||||||
|
uint32_t* sense,
|
||||||
|
uint32_t* buf_len);
|
||||||
|
int32_t SendAtaLba28Command(void* device_ctx,
|
||||||
|
AtaRegistersLba28 registers,
|
||||||
|
AtaErrorRegistersLba28* error_registers,
|
||||||
|
uint8_t protocol,
|
||||||
|
uint8_t transfer_register,
|
||||||
|
char* buffer,
|
||||||
|
uint32_t timeout,
|
||||||
|
uint8_t transfer_blocks,
|
||||||
|
uint32_t* duration,
|
||||||
|
uint32_t* sense,
|
||||||
|
uint32_t* buf_len);
|
||||||
|
int32_t SendAtaLba48Command(void* device_ctx,
|
||||||
|
AtaRegistersLba48 registers,
|
||||||
|
AtaErrorRegistersLba48* error_registers,
|
||||||
|
uint8_t protocol,
|
||||||
|
uint8_t transfer_register,
|
||||||
|
char* buffer,
|
||||||
|
uint32_t timeout,
|
||||||
|
uint8_t transfer_blocks,
|
||||||
|
uint32_t* duration,
|
||||||
|
uint32_t* sense,
|
||||||
|
uint32_t* buf_len);
|
||||||
|
int32_t SendSdhciCommand(void* device_ctx,
|
||||||
|
uint8_t command,
|
||||||
|
uint8_t write,
|
||||||
|
uint8_t application,
|
||||||
|
uint32_t flags,
|
||||||
|
uint32_t argument,
|
||||||
|
uint32_t block_size,
|
||||||
|
uint32_t blocks,
|
||||||
|
char* buffer,
|
||||||
|
uint32_t buf_len,
|
||||||
|
uint32_t timeout,
|
||||||
|
uint32_t* response,
|
||||||
|
uint32_t* duration,
|
||||||
|
uint32_t* sense);
|
||||||
AaruPacketHello* GetHello();
|
AaruPacketHello* GetHello();
|
||||||
int PrintNetworkAddresses();
|
int PrintNetworkAddresses();
|
||||||
char* PrintIpv4Address(struct in_addr addr);
|
char* PrintIpv4Address(struct in_addr addr);
|
||||||
void* NetSocket(uint32_t domain, uint32_t type, uint32_t protocol);
|
void* NetSocket(uint32_t domain, uint32_t type, uint32_t protocol);
|
||||||
int32_t NetBind(void* net_ctx, struct sockaddr* addr, socklen_t addrlen);
|
int32_t NetBind(void* net_ctx, struct sockaddr* addr, socklen_t addrlen);
|
||||||
int32_t NetListen(void* net_ctx, uint32_t backlog);
|
int32_t NetListen(void* net_ctx, uint32_t backlog);
|
||||||
void* NetAccept(void* net_ctx, struct sockaddr* addr, socklen_t* addrlen);
|
void* NetAccept(void* net_ctx, struct sockaddr* addr, socklen_t* addrlen);
|
||||||
int32_t NetRecv(void* net_ctx, void* buf, int32_t len, uint32_t flags);
|
int32_t NetRecv(void* net_ctx, void* buf, int32_t len, uint32_t flags);
|
||||||
int32_t NetWrite(void* net_ctx, const void* buf, int32_t size);
|
int32_t NetWrite(void* net_ctx, const void* buf, int32_t size);
|
||||||
int32_t NetClose(void* net_ctx);
|
int32_t NetClose(void* net_ctx);
|
||||||
void Initialize();
|
void Initialize();
|
||||||
void PlatformLoop(AaruPacketHello* pkt_server_hello);
|
void PlatformLoop(AaruPacketHello* pkt_server_hello);
|
||||||
void* WorkingLoop(void* arguments);
|
void* WorkingLoop(void* arguments);
|
||||||
uint8_t AmIRoot();
|
uint8_t AmIRoot();
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
4
main.c
4
main.c
@@ -23,8 +23,8 @@
|
|||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
AaruPacketHello* pkt_server_hello;
|
AaruPacketHello* pkt_server_hello;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
Initialize();
|
Initialize();
|
||||||
|
|
||||||
|
|||||||
@@ -23,8 +23,8 @@
|
|||||||
|
|
||||||
AaruPacketHello* GetHello()
|
AaruPacketHello* GetHello()
|
||||||
{
|
{
|
||||||
struct utsname utsname;
|
struct utsname utsname;
|
||||||
int ret;
|
int ret;
|
||||||
AaruPacketHello* pkt_server_hello;
|
AaruPacketHello* pkt_server_hello;
|
||||||
|
|
||||||
ret = uname(&utsname);
|
ret = uname(&utsname);
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
AaruPacketHello* GetHello()
|
AaruPacketHello* GetHello()
|
||||||
{
|
{
|
||||||
AaruPacketHello* pkt_server_hello;
|
AaruPacketHello* pkt_server_hello;
|
||||||
OSVERSIONINFOEX osvi;
|
OSVERSIONINFOEX osvi;
|
||||||
SYSTEM_INFO sysinfo;
|
SYSTEM_INFO sysinfo;
|
||||||
UINT verSize;
|
UINT verSize;
|
||||||
|
|||||||
@@ -60,8 +60,9 @@ int PrintNetworkAddresses()
|
|||||||
|
|
||||||
while(pUnicast != NULL)
|
while(pUnicast != NULL)
|
||||||
{
|
{
|
||||||
printf(
|
printf("%s port %d\n",
|
||||||
"%s port %d\n", inet_ntoa(((struct sockaddr_in*)pUnicast->Address.lpSockaddr)->sin_addr), AARUREMOTE_PORT);
|
inet_ntoa(((struct sockaddr_in*)pUnicast->Address.lpSockaddr)->sin_addr),
|
||||||
|
AARUREMOTE_PORT);
|
||||||
pUnicast = pUnicast->Next;
|
pUnicast = pUnicast->Next;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,8 +18,8 @@
|
|||||||
#ifndef AARUREMOTE_WIN32_NTIOCTL_H_
|
#ifndef AARUREMOTE_WIN32_NTIOCTL_H_
|
||||||
#define AARUREMOTE_WIN32_NTIOCTL_H_
|
#define AARUREMOTE_WIN32_NTIOCTL_H_
|
||||||
|
|
||||||
#include <winsock2.h>
|
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
|
#include <winsock2.h>
|
||||||
|
|
||||||
#ifdef HAS_NTDDSCSI_H
|
#ifdef HAS_NTDDSCSI_H
|
||||||
#include <ntddscsi.h>
|
#include <ntddscsi.h>
|
||||||
|
|||||||
59
worker.c
59
worker.c
@@ -29,18 +29,18 @@
|
|||||||
|
|
||||||
void* WorkingLoop(void* arguments)
|
void* WorkingLoop(void* arguments)
|
||||||
{
|
{
|
||||||
AtaErrorRegistersChs ata_chs_error_regs;
|
AtaErrorRegistersChs ata_chs_error_regs;
|
||||||
AtaErrorRegistersLba28 ata_lba28_error_regs;
|
AtaErrorRegistersLba28 ata_lba28_error_regs;
|
||||||
AtaErrorRegistersLba48 ata_lba48_error_regs;
|
AtaErrorRegistersLba48 ata_lba48_error_regs;
|
||||||
char* buffer;
|
char* buffer;
|
||||||
char* cdb_buf;
|
char* cdb_buf;
|
||||||
char* cid;
|
char* cid;
|
||||||
char* csd;
|
char* csd;
|
||||||
char* in_buf;
|
char* in_buf;
|
||||||
char* ocr;
|
char* ocr;
|
||||||
char* out_buf;
|
char* out_buf;
|
||||||
char* scr;
|
char* scr;
|
||||||
char* sense_buf;
|
char* sense_buf;
|
||||||
AaruPacketCmdAtaChs* pkt_cmd_ata_chs;
|
AaruPacketCmdAtaChs* pkt_cmd_ata_chs;
|
||||||
AaruPacketCmdAtaLba28* pkt_cmd_ata_lba28;
|
AaruPacketCmdAtaLba28* pkt_cmd_ata_lba28;
|
||||||
AaruPacketCmdAtaLba48* pkt_cmd_ata_lba48;
|
AaruPacketCmdAtaLba48* pkt_cmd_ata_lba48;
|
||||||
@@ -63,20 +63,20 @@ void* WorkingLoop(void* arguments)
|
|||||||
AaruPacketResListDevs* pkt_res_devinfo;
|
AaruPacketResListDevs* pkt_res_devinfo;
|
||||||
AaruPacketResScsi* pkt_res_scsi;
|
AaruPacketResScsi* pkt_res_scsi;
|
||||||
AaruPacketResSdhci* pkt_res_sdhci;
|
AaruPacketResSdhci* pkt_res_sdhci;
|
||||||
int skip_next_hdr;
|
int skip_next_hdr;
|
||||||
int ret;
|
int ret;
|
||||||
socklen_t cli_len;
|
socklen_t cli_len;
|
||||||
ssize_t recv_size;
|
ssize_t recv_size;
|
||||||
struct DeviceInfoList* device_info_list;
|
struct DeviceInfoList* device_info_list;
|
||||||
struct sockaddr_in cli_addr, serv_addr;
|
struct sockaddr_in cli_addr, serv_addr;
|
||||||
uint32_t duration;
|
uint32_t duration;
|
||||||
uint32_t sdhci_response[4];
|
uint32_t sdhci_response[4];
|
||||||
uint32_t sense;
|
uint32_t sense;
|
||||||
uint32_t sense_len;
|
uint32_t sense_len;
|
||||||
uint32_t n;
|
uint32_t n;
|
||||||
void* device_ctx = NULL;
|
void* device_ctx = NULL;
|
||||||
void* net_ctx = NULL;
|
void* net_ctx = NULL;
|
||||||
void* cli_ctx = NULL;
|
void* cli_ctx = NULL;
|
||||||
|
|
||||||
if(!arguments)
|
if(!arguments)
|
||||||
{
|
{
|
||||||
@@ -272,7 +272,8 @@ void* WorkingLoop(void* arguments)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(pkt_hdr->remote_id != htole32(AARUREMOTE_REMOTE_ID) || pkt_hdr->packet_id != htole32(AARUREMOTE_PACKET_ID))
|
if(pkt_hdr->remote_id != htole32(AARUREMOTE_REMOTE_ID) ||
|
||||||
|
pkt_hdr->packet_id != htole32(AARUREMOTE_PACKET_ID))
|
||||||
{
|
{
|
||||||
printf("Received data is not a correct aaruremote packet, closing connection...\n");
|
printf("Received data is not a correct aaruremote packet, closing connection...\n");
|
||||||
NetClose(cli_ctx);
|
NetClose(cli_ctx);
|
||||||
@@ -389,8 +390,8 @@ void* WorkingLoop(void* arguments)
|
|||||||
|
|
||||||
device_ctx = DeviceOpen(pkt_dev_open->device_path);
|
device_ctx = DeviceOpen(pkt_dev_open->device_path);
|
||||||
|
|
||||||
pkt_nop->reason_code =
|
pkt_nop->reason_code = device_ctx == NULL ? AARUREMOTE_PACKET_NOP_REASON_OPEN_ERROR
|
||||||
device_ctx == NULL ? AARUREMOTE_PACKET_NOP_REASON_OPEN_ERROR : AARUREMOTE_PACKET_NOP_REASON_OPEN_OK;
|
: AARUREMOTE_PACKET_NOP_REASON_OPEN_OK;
|
||||||
pkt_nop->error_no = errno;
|
pkt_nop->error_no = errno;
|
||||||
memset(&pkt_nop->reason, 0, 256);
|
memset(&pkt_nop->reason, 0, 256);
|
||||||
NetWrite(cli_ctx, pkt_nop, sizeof(AaruPacketNop));
|
NetWrite(cli_ctx, pkt_nop, sizeof(AaruPacketNop));
|
||||||
|
|||||||
Reference in New Issue
Block a user