From: Mike Brady <4265913+mikebrady@users.noreply.github.com> Date: Thu, 22 Jul 2021 10:01:53 +0000 (+0100) Subject: Use a local copy of the nqptp shared memory interface description file. X-Git-Tag: 4.1-dev~4^2~52 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c4b5e0928f0abcc9fbc8f16b180ec6f28f5bdb56;p=thirdparty%2Fshairport-sync.git Use a local copy of the nqptp shared memory interface description file. --- diff --git a/nqptp-shm-structures.h b/nqptp-shm-structures.h new file mode 100644 index 00000000..36c8a813 --- /dev/null +++ b/nqptp-shm-structures.h @@ -0,0 +1,48 @@ +/* + * This file is part of the nqptp distribution (https://github.com/mikebrady/nqptp). + * Copyright (c) 2021 Mike Brady. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, version 2. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * Commercial licensing is also available. + */ + +#ifndef NQPTP_SHM_STRUCTURES_H +#define NQPTP_SHM_STRUCTURES_H + +#define STORAGE_ID "/nqptp" +#define MAX_CLOCKS 32 +#define NQPTP_SHM_STRUCTURES_VERSION 5 +#define NQPTP_CONTROL_PORT 9000 + +// the control port will accept a UDP packet with the first letter being: +// "T", followed by a space and then a space-delimited +// list of ip numbers, either IPv4 or IPv6 +// the whole not to exceed 4096 characters in total +// The IPs will become the new list of timing peers, replacing any previous + +#include +#include + +struct shm_structure { + pthread_mutex_t shm_mutex; // for safely accessing the structure + uint16_t version; // check this is equal to NQPTP_SHM_STRUCTURES_VERSION + uint32_t flags; // unused + uint64_t master_clock_id; // the current master clock + char master_clock_ip[64]; // where it's coming from + uint64_t local_time; // the time when the offset was calculated + uint64_t local_to_master_time_offset; // add this to the local time to get master clock time + uint64_t master_clock_start_time; // this is when the master clock became master +}; + +#endif diff --git a/ptp-utilities.c b/ptp-utilities.c index a9cf614f..0f80e913 100644 --- a/ptp-utilities.c +++ b/ptp-utilities.c @@ -41,7 +41,7 @@ #include #include -#include "../nqptp/nqptp-shm-structures.h" +#include "nqptp-shm-structures.h" #include "ptp-utilities.h" int shm_fd;