skipstone/examples/test.c
XANTRONIX Development 699bbae3e4 Bahaha you crashed
2017-11-23 18:24:16 +00:00

53 lines
1.2 KiB
C

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <skipstone/link.h>
#include <skipstone/message.h>
static void usage(int argc, char **argv) {
fprintf(stderr, "usage: %s /dev/rfcommX\n", argv[0]);
exit(1);
}
static int answer_phone_version_message(skipstone_message_service *service,
void *buf, uint16_t size, uint16_t id) {
uint8_t response[12] = {
0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02
};
skipstone_message_service_queue(service, &response, sizeof(response), id);
return 0;
}
int main(int argc, char **argv) {
skipstone_link *link;
skipstone_message_service *service;
if (argc != 2) {
usage(argc, argv);
}
if ((link = skipstone_link_open_serial(argv[1])) == NULL) {
goto error_link_open;
}
if ((service = skipstone_message_service_new()) == NULL) {
goto error_message_service_new;
}
skipstone_message_service_register(service, 17, answer_phone_version_message, NULL);
skipstone_message_service_run(service, link);
skipstone_link_close(link);
return 0;
error_message_service_new:
skipstone_link_close(link);
error_link_open:
return 1;
}