This commit is contained in:
XANTRONIX Development 2017-11-29 21:42:01 -06:00
parent a4acd912d3
commit 7895258dd1
5 changed files with 28 additions and 16 deletions

View file

@ -16,7 +16,9 @@ static void usage(int argc, char **argv) {
static int answer_phone_version_message(skipstone_message_service *service,
void *buf, uint16_t size, uint16_t id, void *context) {
const uint32_t flags = SKIPSTONE_SYSTEM_CLIENT_ANDROID;
const uint32_t flags = SKIPSTONE_SYSTEM_CLIENT_TELEPHONY
| SKIPSTONE_SYSTEM_CLIENT_SMS
| SKIPSTONE_SYSTEM_CLIENT_ANDROID;
return skipstone_system_send_client_version(service, flags);
}
@ -60,6 +62,13 @@ static int answer_music_message(skipstone_message_service *service,
return 0;
}
static int answer_phone_message(skipstone_message_service *service,
void *buf, uint16_t size, uint16_t id, void *context) {
printf("Got phone command %02x\n", ((uint8_t *)buf)[0]);
return 0;
}
int main(int argc, char **argv) {
skipstone_link *link;
skipstone_message_service *service;
@ -80,6 +89,7 @@ int main(int argc, char **argv) {
skipstone_message_service_register(service, 17, answer_phone_version_message, NULL);
skipstone_message_service_register(service, 32, answer_music_message, NULL);
skipstone_message_service_register(service, 33, answer_phone_message, NULL);
time_t start = time(NULL);
int done = 0;

View file

@ -16,7 +16,9 @@ static void usage(int argc, char **argv) {
static int answer_phone_version_message(skipstone_message_service *service,
void *buf, uint16_t size, uint16_t id, void *context) {
const uint32_t flags = SKIPSTONE_SYSTEM_CLIENT_ANDROID;
const uint32_t flags = SKIPSTONE_SYSTEM_CLIENT_TELEPHONY
| SKIPSTONE_SYSTEM_CLIENT_SMS
| SKIPSTONE_SYSTEM_CLIENT_ANDROID;
return skipstone_system_send_client_version(service, flags);
}
@ -60,6 +62,13 @@ static int answer_music_message(skipstone_message_service *service,
return 0;
}
static int answer_phone_message(skipstone_message_service *service,
void *buf, uint16_t size, uint16_t id, void *context) {
printf("Got phone command %02x\n", ((uint8_t *)buf)[0]);
return 0;
}
int main(int argc, char **argv) {
skipstone_link *link;
skipstone_message_service *service;
@ -80,6 +89,7 @@ int main(int argc, char **argv) {
skipstone_message_service_register(service, 17, answer_phone_version_message, NULL);
skipstone_message_service_register(service, 32, answer_music_message, NULL);
skipstone_message_service_register(service, 33, answer_phone_message, NULL);
time_t start = time(NULL);
int done = 0;

View file

@ -29,10 +29,10 @@ enum {
};
enum {
SKIPSTONE_SYSTEM_RESPONSE_VERSION = 1
SKIPSTONE_SYSTEM_VERSION_RESPONSE = 1
};
int skipstone_system_send_client_version(skipstone_message_service *service,
uint32_t capabilities);
uint32_t flags);
#endif /* _SKIPSTONE_SYSTEM_H */

View file

@ -6,18 +6,14 @@
#include "util.h"
int skipstone_system_send_client_version(skipstone_message_service *service,
uint32_t capabilities) {
uint32_t flags) {
skipstone_message *message;
static const uint32_t flags = SKIPSTONE_SYSTEM_CLIENT_TELEPHONY
| SKIPSTONE_SYSTEM_CLIENT_SMS
| SKIPSTONE_SYSTEM_CLIENT_ANDROID;
if ((message = skipstone_message_new()) == NULL) {
goto error_message_new;
}
skipstone_message_append_uint8( message, SKIPSTONE_SYSTEM_RESPONSE_VERSION);
skipstone_message_append_uint8( message, SKIPSTONE_SYSTEM_VERSION_RESPONSE);
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(flags));

View file

@ -6,18 +6,14 @@
#include "util.h"
int skipstone_system_send_client_version(skipstone_message_service *service,
uint32_t capabilities) {
uint32_t flags) {
skipstone_message *message;
static const uint32_t flags = SKIPSTONE_SYSTEM_CLIENT_TELEPHONY
| SKIPSTONE_SYSTEM_CLIENT_SMS
| SKIPSTONE_SYSTEM_CLIENT_ANDROID;
if ((message = skipstone_message_new()) == NULL) {
goto error_message_new;
}
skipstone_message_append_uint8( message, SKIPSTONE_SYSTEM_RESPONSE_VERSION);
skipstone_message_append_uint8( message, SKIPSTONE_SYSTEM_VERSION_RESPONSE);
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(flags));