123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- <sect1 id="ntpshmwrite.c"><title><filename>ntpshmwrite.c</filename></title>
- <informaltable frame='all' pgwide='1'>
- <tgroup cols='2'>
- <colspec colname='c1'></colspec>
- <colspec colname='c2'></colspec>
- <spanspec spanname='s1' namest='c1' nameend='c2'></spanspec>
- <thead>
- <row>
- <entry>Functions:-</entry><entry>This puts time information into a shared memory segment for the ntp daemon to use.</entry>
- </row>
- </thead>
- <tfoot>
- <row>
- <entry spanname='s1' align='left'>Notes based on code as of Tue Apr 6 10:17:55 2010 -0400.</entry>
- </row>
- </tfoot>
- <tbody>
- <row>
- <entry><function>static struct shmTime *getShmTime(int unit)</function></entry>
- <entry><para>This requests a block of shared memory to communicate
- to the ntp daemon. It returns a pointer to the memory on success or
- NULL on failure.</para></entry>
- </row>
- <row>
- <entry><function>void ntpshm_init(struct gps_context_t *context, bool enablepps)</function></entry>
- <entry><para>Attaches all ntp shared memory segments, flagging the
- availability of the NMEA and 1pps capabilities as
- appropriate.</para></entry>
- </row>
- <row>
- <entry><function>int ntpshm_alloc(struct gps_context_t *context)</function></entry>
- <entry><para>This tries to allocate a free ntp shared memory
- segment.</para><para>If one is available, initialise it for use and
- flag it as in use.</para><para>Returns the segment number on success
- or -1 on failure.</para></entry>
- </row>
- <row>
- <entry><function>bool ntpshm_free(struct gps_context_t *context, int segment)</function></entry>
- <entry><para>This tries to release a previously allocated ntp shared
- memory segment. Indicates the outcome by returning true (success) or
- false.</para></entry>
- </row>
- <row>
- <entry><function>int ntpshm_put(struct gps_device_t *session, double fixtime)</function></entry>
- <entry><para>If the shared memory index allocated to the session is
- valid and the <function>shmTime</function> structure of the session
- is valid, store the time of the fix.</para><para>Success is
- indicated by a return value of 1 and errors are indicated by a
- return value of 0.</para></entry>
- </row>
- <row>
- <entry><function>int ntpshm_pps(struct gps_device_t *session, struct timeval *tv)</function></entry>
- <entry><para>This code is only available if the 1PPS function is
- compiled in.</para><para>The shared memory structures are checked
- for validity and if not valid, a 0 is returned.</para><para>The time
- received is then checked to be within 100 milliseconds of the PC's
- internal time and if not, a -1 is
- returned.</para><para></para><para>The time received is then checked
- to be within 500 milliseconds of the second boundary and if not, the
- shared memory structure is advised that lock is lost and a -1 is
- returned.</para><para>If good, the time is stored in the shared
- memory and 1 is returned.</para></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect1>
|