/*
* This file is part of the nqptp distribution (https://github.com/mikebrady/nqptp).
- * Copyright (c) 2021 Mike Brady.
+ * Copyright (c) 2021--2022 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
#define NQPTP_SHM_STRUCTURES_VERSION 7
#define NQPTP_CONTROL_PORT 9000
-// The control port will accept a UDP packet with the first letter being
-// "T", followed by the name of the shared memory interface, which should be of
-// the form nqptp-<up-to-12-hex-digits>. This can be followed by nothing or 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, if provided, will become the new list of timing peers, clearing or replacing any
-// previous list. If the master clock of the new list is the same as that of the old list, it is
-// retained without having to resynchronise. This means that non-master devices can be added and
-// removed without disturbing the existing-and-continuing master clock.
+// The control port expects a UDP packet with the first space-delimited string
+// being the name of the shared memory interface (SMI) to be used.
+// This allows client applications to have a dedicated named SMI interface with
+// a timing peer list independent of other clients.
+// The name given must be a valid SMI name and must contain no spaces.
+// If the named SMI interface doesn't exist it will be created by NQPTP.
+// The SMI name should be delimited by a space and followed by a command letter.
+// At present, the only command is "T", which must followed by nothing or by
+// a space and a space-delimited list of IPv4 or IPv6 numbers,
+// the whole not to exceed 4096 characters in total.
+// The IPs, if provided, will become the new list of timing peers, replacing any
+// previous list. If the master clock of the new list is the same as that of the old list,
+// the master clock is retained without resynchronisation; this means that non-master
+// devices can be added and removed without disturbing the SMI's existing master clock.
+// If no timing list is provided, the existing timing list is deleted.
+// (In future version of NQPTP the SMI interface may also be deleted at this point.)
+// SMI interfaces are not currently deleted or garbage collected.
+
#include <inttypes.h>
#include <pthread.h>