<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Что за тип n_time?</title>
    <link>https://mobile.opennet.me/openforum/vsluhforumID9/9114.html</link>
    <description>Еще раз здравствуйте!!!&lt;br&gt;&lt;br&gt;Возникла необходимость в использовании функции libnet_build_icmpv4_timestamp из библиотеки libnet. Вот ее прототип:&lt;br&gt;&lt;br&gt;libnet_build_icmpv4_timestamp ( u_int8_t  type,&lt;br&gt;u_int8_t  code,&lt;br&gt;u_int16_t  sum,&lt;br&gt;u_int16_t  id,&lt;br&gt;u_int16_t  seq,&lt;br&gt;n_time  otime,&lt;br&gt;n_time  rtime,&lt;br&gt;n_time  ttime,&lt;br&gt;u_int8_t *  payload,&lt;br&gt;u_int32_t  payload_s,&lt;br&gt;libnet_t *  l,&lt;br&gt;libnet_ptag_t  ptag &lt;br&gt;) &lt;br&gt;&lt;br&gt;Ни как не могу понять, что за тип такой n_time??? Искал где только мог, но ничего про него не нашел. Из описания протокола видно, что под временную метку отводится 4 байта. При помощи какой функции можно получить метку системного времени для отправки ее в icmp сообщении данного типа?&lt;br&gt;&lt;br&gt;Заранее спасибо!&lt;br&gt;</description>

<item>
    <title>Что за тип n_time? (goodfornothing)</title>
    <link>https://mobile.opennet.me/openforum/vsluhforumID9/9114.html#6</link>
    <pubDate>Mon, 09 May 2011 07:13:13 GMT</pubDate>
    <description>Большое спасибо, pavlinux! Как всегда, в точку!)&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Что за тип n_time? (pavlinux)</title>
    <link>https://mobile.opennet.me/openforum/vsluhforumID9/9114.html#5</link>
    <pubDate>Sat, 07 May 2011 23:34:52 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;   n_time   otime, &lt;br&gt;&amp;gt;   n_time   rtime, &lt;br&gt;&amp;gt;   n_time   ttime, &lt;br&gt;&amp;gt;   u_int8_t *   payload, &lt;br&gt;&amp;gt;   u_int32_t   payload_s, &lt;br&gt;&amp;gt;   libnet_t *   l, &lt;br&gt;&amp;gt;   libnet_ptag_t   ptag &lt;br&gt;&amp;gt;  ) &lt;br&gt;&amp;gt; Ни как не могу понять, что за тип такой n_time??? Искал где &lt;br&gt;&amp;gt; только мог, но ничего про него не нашел. &lt;br&gt;&lt;br&gt;# grep &quot; n_time&quot; /usr/include/ -R&lt;br&gt;/usr/include/netinet/in_systm.h:typedef u_int32_t n_time;       /* ms since 00:00 GMT, byte rev   */&lt;br&gt;&lt;br&gt;&lt;br&gt;&#091;code&#093;&lt;br&gt;#ifndef _NETINET_IN_SYSTM_H&lt;br&gt;#define _NETINET_IN_SYSTM_H 1&lt;br&gt;&lt;br&gt;#include &amp;lt;sys/cdefs.h&amp;gt;&lt;br&gt;#include &amp;lt;sys/types.h&amp;gt;&lt;br&gt;&lt;br&gt;__BEGIN_DECLS&lt;br&gt;&lt;br&gt;/*&lt;br&gt; * Network order versions of various data types. Unfortunately, BSD&lt;br&gt; * assumes specific sizes for shorts (16 bit) and longs (32 bit) which&lt;br&gt; * don&apos;t hold in general. As a consequence, the network order versions&lt;br&gt; * may not reflect the actual size of the native data types.&lt;br&gt; */&lt;br&gt;&lt;br&gt;typedef u_int16_t n_short;      /* short as received from the net */&lt;br&gt;typedef u_int32_t n_long;       /* long as received from the net  */&lt;br&gt;typede</description>
</item>

<item>
    <title>Что за тип n_time? (goodfornothing)</title>
    <link>https://mobile.opennet.me/openforum/vsluhforumID9/9114.html#4</link>
    <pubDate>Thu, 05 May 2011 19:13:25 GMT</pubDate>
    <description>Все, понял. Спаибо&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Что за тип n_time? (Andrey Mitrofanov)</title>
    <link>https://mobile.opennet.me/openforum/vsluhforumID9/9114.html#3</link>
    <pubDate>Thu, 05 May 2011 19:04:25 GMT</pubDate>
    <description>&amp;gt; (ts.tv_sec &#037; (24*60*60)) * 1000 + ts.tv_nsec / 1000000 &lt;br&gt;&amp;gt; ts.tv_sec * 1000 + ts.tv_nsec * 1000000 &lt;br&gt;&amp;gt; Не могли бы Вы разъяснить данный момент?&lt;br&gt;&lt;br&gt;Можно я, спасибо: &quot;от начала суток&quot;.&lt;br&gt;</description>
</item>

<item>
    <title>Что за тип n_time? (goodfornothing)</title>
    <link>https://mobile.opennet.me/openforum/vsluhforumID9/9114.html#2</link>
    <pubDate>Thu, 05 May 2011 18:17:44 GMT</pubDate>
    <description>Искал я может и плохо, но в google нет ничего по запросу n_time. Как там еще искать, я уж не знаю)&lt;br&gt;&lt;br&gt;За разъяснение спасибо, только вот не совсем ясен смысл следующих действий:&lt;br&gt;&lt;br&gt;(ts.tv_sec &#037; (24*60*60)) * 1000 + ts.tv_nsec / 1000000&lt;br&gt;&lt;br&gt;Если первое поле структуры содержит в себе число секунд, а второе - наносекунд, то напрашивается следующий вариант:&lt;br&gt;&lt;br&gt;ts.tv_sec * 1000 + ts.tv_nsec * 1000000&lt;br&gt;&lt;br&gt;Не могли бы Вы разъяснить данный момент?&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Что за тип n_time? (guest)</title>
    <link>https://mobile.opennet.me/openforum/vsluhforumID9/9114.html#1</link>
    <pubDate>Thu, 05 May 2011 06:15:38 GMT</pubDate>
    <description>&amp;gt; Ни как не могу понять, что за тип такой n_time??? Искал где &lt;br&gt;&amp;gt; только мог, но ничего про него не нашел. Из описания протокола &lt;br&gt;&amp;gt; видно, что под временную метку отводится 4 байта. При помощи какой &lt;br&gt;&amp;gt; функции можно получить метку системного времени для отправки ее в icmp &lt;br&gt;&amp;gt; сообщении данного типа?&lt;br&gt;&lt;br&gt;Плохо искали)&lt;br&gt;это UTC время в миллисекундах от начала суток в сетевом порядке, соответственно:&lt;br&gt;n_time&lt;br&gt;getntime(void)&lt;br&gt;&#123;&lt;br&gt;        struct timespec ts;&lt;br&gt;        u_long t;&lt;br&gt;&lt;br&gt;        clock_gettime(CLOCK_REALTIME, &amp;ts);&lt;br&gt;        t = (ts.tv_sec &#037; (24*60*60)) * 1000 + ts.tv_nsec / 1000000;&lt;br&gt;        return (htonl(t));&lt;br&gt;&#125;&lt;br&gt;</description>
</item>

</channel>
</rss>
