Well that's pretty naff
This commit is contained in:
parent
7895258dd1
commit
e2d951e4c0
7 changed files with 41 additions and 1 deletions
|
@ -49,6 +49,9 @@ int skipstone_message_append_uint16(skipstone_message *message,
|
||||||
int skipstone_message_append_uint32(skipstone_message *message,
|
int skipstone_message_append_uint32(skipstone_message *message,
|
||||||
uint32_t value);
|
uint32_t value);
|
||||||
|
|
||||||
|
int skipstone_message_append_uint64(skipstone_message *message,
|
||||||
|
uint64_t value);
|
||||||
|
|
||||||
int skipstone_message_pack(skipstone_message *message, void *buf);
|
int skipstone_message_pack(skipstone_message *message, void *buf);
|
||||||
|
|
||||||
skipstone_message_service *skipstone_message_service_new();
|
skipstone_message_service *skipstone_message_service_new();
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
#define SKIPSTONE_SYSTEM_ENDPOINT_PHONE_VERSION 0x11
|
#define SKIPSTONE_SYSTEM_ENDPOINT_PHONE_VERSION 0x11
|
||||||
|
|
||||||
#define SKIPSTONE_SYSTEM_PROTOCOL 0xffffffff
|
#define SKIPSTONE_SYSTEM_PROTOCOL 0xffffffff
|
||||||
|
#define SKIPSTONE_SYSTEM_PROTOCOL_CAPS 0xffffffffffffffff
|
||||||
#define SKIPSTONE_SYSTEM_SESSION_GAMMA_RAY 0x80000000
|
#define SKIPSTONE_SYSTEM_SESSION_GAMMA_RAY 0x80000000
|
||||||
|
|
||||||
#define SKIPSTONE_SYSTEM_CLIENT_TELEPHONY (1 << 4)
|
#define SKIPSTONE_SYSTEM_CLIENT_TELEPHONY (1 << 4)
|
||||||
|
@ -19,6 +20,10 @@
|
||||||
#define SKIPSTONE_SYSTEM_CLIENT_GYRO (1 << 10)
|
#define SKIPSTONE_SYSTEM_CLIENT_GYRO (1 << 10)
|
||||||
#define SKIPSTONE_SYSTEM_CLIENT_COMPASS (1 << 11)
|
#define SKIPSTONE_SYSTEM_CLIENT_COMPASS (1 << 11)
|
||||||
|
|
||||||
|
#define SKIPSTONE_SYSTEM_CLIENT_MAJOR 3
|
||||||
|
#define SKIPSTONE_SYSTEM_CLIENT_MINOR 0
|
||||||
|
#define SKIPSTONE_SYSTEM_CLIENT_BUGFIX 0
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
SKIPSTONE_SYSTEM_CLIENT_UNKNOWN = 0,
|
SKIPSTONE_SYSTEM_CLIENT_UNKNOWN = 0,
|
||||||
SKIPSTONE_SYSTEM_CLIENT_IOS = 1,
|
SKIPSTONE_SYSTEM_CLIENT_IOS = 1,
|
||||||
|
|
|
@ -150,6 +150,16 @@ int skipstone_message_append_uint32(skipstone_message *message, uint32_t value)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int skipstone_message_append_uint64(skipstone_message *message, uint64_t value) {
|
||||||
|
if (append_part(message, &value, sizeof(value)) < 0) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message->size += sizeof(value);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int skipstone_message_pack(skipstone_message *message, void *buf) {
|
int skipstone_message_pack(skipstone_message *message, void *buf) {
|
||||||
size_t offset = 0;
|
size_t offset = 0;
|
||||||
|
|
||||||
|
|
|
@ -150,6 +150,16 @@ int skipstone_message_append_uint32(skipstone_message *message, uint32_t value)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int skipstone_message_append_uint64(skipstone_message *message, uint64_t value) {
|
||||||
|
if (append_part(message, &value, sizeof(value)) < 0) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message->size += sizeof(value);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int skipstone_message_pack(skipstone_message *message, void *buf) {
|
int skipstone_message_pack(skipstone_message *message, void *buf) {
|
||||||
size_t offset = 0;
|
size_t offset = 0;
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,11 @@ int skipstone_system_send_client_version(skipstone_message_service *service,
|
||||||
skipstone_message_append_uint32(message, htobe32(SKIPSTONE_SYSTEM_PROTOCOL));
|
skipstone_message_append_uint32(message, htobe32(SKIPSTONE_SYSTEM_PROTOCOL));
|
||||||
skipstone_message_append_uint32(message, htobe32(SKIPSTONE_SYSTEM_SESSION_GAMMA_RAY));
|
skipstone_message_append_uint32(message, htobe32(SKIPSTONE_SYSTEM_SESSION_GAMMA_RAY));
|
||||||
skipstone_message_append_uint32(message, htobe32(flags));
|
skipstone_message_append_uint32(message, htobe32(flags));
|
||||||
|
skipstone_message_append_uint8( message, 2);
|
||||||
|
skipstone_message_append_uint8( message, SKIPSTONE_SYSTEM_CLIENT_MAJOR);
|
||||||
|
skipstone_message_append_uint8( message, SKIPSTONE_SYSTEM_CLIENT_MINOR);
|
||||||
|
skipstone_message_append_uint8( message, SKIPSTONE_SYSTEM_CLIENT_BUGFIX);
|
||||||
|
skipstone_message_append_uint64(message, htobe64(SKIPSTONE_SYSTEM_PROTOCOL_CAPS));
|
||||||
|
|
||||||
if (skipstone_message_service_queue(service, message, SKIPSTONE_SYSTEM_ENDPOINT_PHONE_VERSION) < 0) {
|
if (skipstone_message_service_queue(service, message, SKIPSTONE_SYSTEM_ENDPOINT_PHONE_VERSION) < 0) {
|
||||||
goto error_message_service_queue;
|
goto error_message_service_queue;
|
||||||
|
|
|
@ -17,6 +17,11 @@ int skipstone_system_send_client_version(skipstone_message_service *service,
|
||||||
skipstone_message_append_uint32(message, htobe32(SKIPSTONE_SYSTEM_PROTOCOL));
|
skipstone_message_append_uint32(message, htobe32(SKIPSTONE_SYSTEM_PROTOCOL));
|
||||||
skipstone_message_append_uint32(message, htobe32(SKIPSTONE_SYSTEM_SESSION_GAMMA_RAY));
|
skipstone_message_append_uint32(message, htobe32(SKIPSTONE_SYSTEM_SESSION_GAMMA_RAY));
|
||||||
skipstone_message_append_uint32(message, htobe32(flags));
|
skipstone_message_append_uint32(message, htobe32(flags));
|
||||||
|
skipstone_message_append_uint8( message, 2);
|
||||||
|
skipstone_message_append_uint8( message, SKIPSTONE_SYSTEM_CLIENT_MAJOR);
|
||||||
|
skipstone_message_append_uint8( message, SKIPSTONE_SYSTEM_CLIENT_MINOR);
|
||||||
|
skipstone_message_append_uint8( message, SKIPSTONE_SYSTEM_CLIENT_BUGFIX);
|
||||||
|
skipstone_message_append_uint64(message, htobe64(SKIPSTONE_SYSTEM_PROTOCOL_CAPS));
|
||||||
|
|
||||||
if (skipstone_message_service_queue(service, message, SKIPSTONE_SYSTEM_ENDPOINT_PHONE_VERSION) < 0) {
|
if (skipstone_message_service_queue(service, message, SKIPSTONE_SYSTEM_ENDPOINT_PHONE_VERSION) < 0) {
|
||||||
goto error_message_service_queue;
|
goto error_message_service_queue;
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
((v & 0x00000000ff000000) << 8) | \
|
((v & 0x00000000ff000000) << 8) | \
|
||||||
((v & 0x0000000000ff0000) << 16) | \
|
((v & 0x0000000000ff0000) << 16) | \
|
||||||
((v & 0x000000000000ff00) << 40) | \
|
((v & 0x000000000000ff00) << 40) | \
|
||||||
((v & 0x00000000000000ff) << 64))
|
((v & 0x00000000000000ff) << 56))
|
||||||
|
|
||||||
#ifndef _ENDIAN_H
|
#ifndef _ENDIAN_H
|
||||||
#ifdef __DO_SWAP_BYTES
|
#ifdef __DO_SWAP_BYTES
|
||||||
|
@ -28,6 +28,7 @@
|
||||||
#define be32toh(v) ((uint32_t)bswap32((uint32_t)v))
|
#define be32toh(v) ((uint32_t)bswap32((uint32_t)v))
|
||||||
#define htobe16(v) ((uint16_t)bswap16((uint16_t)v))
|
#define htobe16(v) ((uint16_t)bswap16((uint16_t)v))
|
||||||
#define htobe32(v) ((uint32_t)bswap32((uint32_t)v))
|
#define htobe32(v) ((uint32_t)bswap32((uint32_t)v))
|
||||||
|
#define htobe64(v) ((uint64_t)bswap64((uint64_t)v))
|
||||||
#define htole32(v) ((uint32_t)v)
|
#define htole32(v) ((uint32_t)v)
|
||||||
#define htole64(v) ((uint64_t)v)
|
#define htole64(v) ((uint64_t)v)
|
||||||
#else
|
#else
|
||||||
|
@ -35,6 +36,7 @@
|
||||||
#define be32toh(v) ((uint32_t)v)
|
#define be32toh(v) ((uint32_t)v)
|
||||||
#define htobe16(v) ((uint16_t)v)
|
#define htobe16(v) ((uint16_t)v)
|
||||||
#define htobe32(v) ((uint32_t)v)
|
#define htobe32(v) ((uint32_t)v)
|
||||||
|
#define htobe64(v) ((uint64_t)v)
|
||||||
#define htole32(v) ((uint32_t)bswap32((uint32_t)v))
|
#define htole32(v) ((uint32_t)bswap32((uint32_t)v))
|
||||||
#define htole64(v) ((uint64_t)bswap64((uint64_t)v))
|
#define htole64(v) ((uint64_t)bswap64((uint64_t)v))
|
||||||
#endif /* __DO_SWAP_BYTES */
|
#endif /* __DO_SWAP_BYTES */
|
||||||
|
|
Loading…
Add table
Reference in a new issue