TIP: Click on subject to list as thread! ANSI
echo: net_dev
to: All
from: Rune Johansen
date: 1997-03-31 23:24:48
subject: Poll packets

Hi all developers and other interrested.

According to FTS-0001.015, a empty packet is often used as a poll packet.
This packet is supposed to be a packet header (58 bytes), zero packed
messages and a trailer of 00h 00h, totalling the poll packet to consist of
60 bytes.

      Packet       = PacketHeader  { PakdMessage }  00H 00H

Which mailer products, apart from Terminate, uses poll packets of 58 bytes,
and therefor violates FTS-0001 ?? Of those products that actually generates
a poll packet, which ones use a 60 byte .pkt file?

For reference, here is the appropriate section of FTS-0001.015:

***Quote Begin****

 F. Network Layer : the Network's View of the System, Routing and Packets


   1. Network Layer Data Definition : the Packet Header

      The  packet contains messages in packed format to be transferred  over
      the  net during a connection.  As this data structure is  transferred,
      its definition is critical to FidoNet.

      A  packet may contain zero or more packed messages.  A packet  without
      messages is often generated as a poll packet.

      Every  packet begins with a  packet header.  The fields of the  packet
      header are of fixed length.


                                Packet Header
       Offset
      dec hex
              .-----------------------------------------------.
        0   0 | origNode (low order)  | origNode (high order) |
              +-----------------------+-----------------------+
        2   2 | destNode (low order)  | destNode (high order) |
              +-----------------------+-----------------------+
        4   4 |   year (low order)    |   year (high order)   |
              +-----------------------+-----------------------+
        6   6 |  month (low order)    |  month (high order)   |
              +-----------------------+-----------------------+
        8   8 |   day (low order)     |   day (high order)    |
              +-----------------------+-----------------------+
       10   A |   hour (low order)    |   hour (high order)   |
              +-----------------------+-----------------------+
       12   C |  minute (low order)   |  minute (high order)  |
              +-----------------------+-----------------------+
       14   E |  second (low order)   |  second (high order)  |
              +-----------------------+-----------------------+
       16  10 |   baud (low order)    |   baud (high order)   |
              +-----------------------+-----------------------+
       18  12 |    0     |     2      |    0      |    0      |
              +-----------------------+-----------------------+
       20  14 | origNet (low order)   | origNet (high order)  |
              +-----------------------+-----------------------+
       22  16 | destNet (low order)   | destNet (high order)  |
              +-----------------------+-----------------------+
|      24  18 |       prodCode        |       serialNo        |
|             +-----------------------+-----------------------+
|      26  1A |                                               |
|             |             password   (some impls)           |
|             |                  eight bytes                  |
|             |                  null padded                  |
|             |                                               |
|             +-----------------------+-----------------------+
|      34  22 | origZone (low) (opt)  | origZone (high) (opt) |
|             +-----------------------+-----------------------+
|      36  24 | destZone (low) (opt)  | destZone (high) (opt) |
|             +-----------------------+-----------------------+
|      38  26 |                     fill                      |
|             ~                   20 bytes                    ~
|             |                                               |
|             +-----------------------+-----------------------+
|      58  3A |                 zero or more                  |
              ~                    packed                     ~
              |                   messages                    |
              +-----------------------+-----------------------+
              |    0     |     0      |    0     |     0      |
              `-----------------------+-----------------------'


      Packet       = PacketHeader  { PakdMessage }  00H 00H

      PacketHeader = origNode   (* of packet, not of messages in packet *)
                     destNode   (* of packet, not of messages in packet *)
                     year       (* of packet creation, e.g. 1986 *)
                     month      (* of packet creation, 0-11 for Jan-Dec *)
                     day        (* of packet creation, 1-31 *)
                     hour       (* of packet creation, 0-23 *)
                     minute     (* of packet creation, 0-59 *)
                     second     (* of packet creation, 0-59 *)
                     baud       (* max baud rate of orig and dest, 0=SEA *)
|                    PacketType (* old type-1 packets now obsolete *)
                     origNet    (* of packet, not of messages in packet *)
                     destNet    (* of packet, not of messages in packet *)
                     prodCode   (* 0 for Fido, write to FTSC for others *)
|                    serialNo   (* binary serial number (otherwise null)*)
|                    password   (* session password  (otherwise null)   *)
|                    origZone   (* zone of pkt sender (otherwise null)  *)
|                    destZone   (* zone of pkt receiver (otherwise null)*)
|                    fill[20]

      PacketType   = 02H 00H  (* 01H 00H was used by Fido versions before 10
                                 which did not support local nets.  The packed
                                 message header was also different for those
                                 versions *)

|     prodCode     = (  00H      (* Fido *)
|                    |  ...
                     |  ??H      (* Please apply for new codes *)
                     )


      The  remainder of the packet consists of packed messages.  Each packed
      message  begins  with  a  message type word 0200H.   A  pseudo-message
      beginning with the word 0000H signifies the end of the packet.

***Quote End***

--- BBBS/2 v3.33 How-D
* Origin: ... And furthermore... I don't like your trousers. (2:210/20)
SEEN-BY: 50/99 54/99 270/101 620/243 625/155 711/413 430 934 712/311 407 505
SEEN-BY: 712/506 517 623 624 841 713/317 800/1
@PATH: 210/20 27 24/888 396/1 270/101 712/624 711/934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.