char *opt_tty = argv[1];
int opt_device = atoi(argv[2]);
int opt_sync = argv[3] && !strcmp(argv[3], "sync") ?
- MSG_VALID_SYNC : 0;
+ MSG_CTL_VALID_SYNC : 0;
+ int opt_relay = opt_device == 2;
// Lookup current wall-clock time
struct timespec ts;
init_msg_t body = {};
// Set message header
- head.header = MSG_HEADER;
- head.msgid = MSG_ID_INIT;
- head.length = sizeof(init_msg_t);
- head.cksum = 0; // todo
+ head.header = MSG_HEADER;
+ head.msgid = MSG_ID_INIT;
+ head.length = sizeof(init_msg_t);
+ head.cksum = 0; // todo
// Set valid flags
- body.valid = MSG_VALID_DEVICE
- | MSG_VALID_START
- | MSG_VALID_PERIOD
- | MSG_VALID_WORLD
- | opt_sync;
+ body.control = MSG_CTL_VALID_DEVICE
+ | MSG_CTL_VALID_START
+ | MSG_CTL_VALID_PERIOD
+ | MSG_CTL_VALID_WORLD
+ | opt_relay
+ | opt_sync;
// Set message body
body.device = opt_device;