TIP: Click on subject to list as thread! ANSI
echo: net_dev
to: All
from: Goran Eriksson
date: 1999-04-12 20:07:28
subject: Packet type 2+

*Packet type 2+

Packet type 2+, draft 990412
by Goran Eriksson, 2:201/505, get{at}get.pp.se


English is a foreign language to me. Purely linguistic remarks are
welcome, but please send them to me by netmail or e-mail.


1. General

The description of packet files of type 2 applies to packet files of
type 2+ with the changes and additions outlined below.

A programme implementing capabilities for receiving packet files of
packet type 2+ should also implement capabilities for receiving packet
files of packet type 2.

2. Packet header

2.1. General

The packet header of a packet file of type 2+ has the following
general layout

 Relative byte offset                            Size in bytes
                        --------------------------
 0         00H          |     Origin Node        |  2
                        --------------------------
 2         02H          |   Destination Node     |  2
                        --------------------------
 4         04H          |         Year           |  2
                        --------------------------
 6         06H          |        Month           |  2
                        --------------------------
 8         08H          |         Day            |  2
                        --------------------------
 10        0AH          |         Hour           |  2
                        --------------------------
 12        0CH          |        Minute          |  2
                        --------------------------
 14        0EH          |        Second          |  2
                        --------------------------
 16        10H          |       Baud Rate        |  2
                        --------------------------
 18        12H          |      Packet Type       |  1
                        --------------------------
 20        14H          |      Origin Net        |  2
                        --------------------------
 22        16H          |    Destination Net     |  2
                        --------------------------
 24        18H          |    Product Code Low    |  1
                        --------------------------
 25        19H          | Product Major Revision |  1
                        --------------------------
 26        1AH          |       Password         |  8
                        --------------------------
 34        22H          |      Origin Zone       |  2
                        --------------------------
 36        24H          |   Destination Zone     |  2
                        --------------------------
 38        26H          |       Reserved         |  2
                        --------------------------
 40        28H          | Capability Validation  |  2
                        --------------------------
 41        2AH          |   Product Code High    |  1
                        --------------------------
 42        2BH          | Product Minor Revision |  1
                        --------------------------
 44        2CH          |   Capability Word      |  2
                        --------------------------
 46        2EH          |      Origin Zone       |  2
                        --------------------------
 48        30H          |   Destination Zone     |  2
                        --------------------------
 50        32H          |      Origin Point      |  2
                        --------------------------
 52        34H          |   Destination Point    |  2
                        --------------------------
 54        36H          |      Product Data      |  4
                        --------------------------

The total size of the packet header is 58 bytes.

2.1. Product Code Low
This field contains information about the product code assigned to the
programme creating the packet. The field contains the low order 8 bits
of a 16-bit unsigned binary integer in the range 0-65535.

Product codes are assigned to programmes by the FTSC. See FTA-1005.
That document also contains information about what product codes to
use by programmes which have not yet been assigned a product code by
the FTSC.

See note 1.

2.2. Product Major Revision
This field contains information about the major revision of the
programme creating the packet. The field may contain an 8-bit unsigned
binary integer in the range 0-255.

The full product revision is .. The
minor revision is found in the Product Minor Revision field.

2.3. Reserved
This field is filled by the programme creating the packet with an
array of bytes with the 8-bit binary unsigned value 0. Any programme
receiving a packet should ignore the contents of this field.

2.4. Capability Validation
To ensure a certain degree of confidence in deciding whether an
incoming packet is of packet type 2 or of packet type 2+, this field
contains validation information for the capability word.

A programme creating a packet of packet type 2+ should put a
byte-swapped copy of the capability word into this field.

A programme receiving a packet should compare the contents of this
field with the capability word (taking into consideration that the
Capability Validation field contains a byte-swapped copy of the
Validation Word). If they match, it may be assumed that the packet is
of packet type 2+. If they do match, it should be assumed that the
packet type is of packet type 2 provided that it fills all other
requirements for a packet of packet type 2.

See note 2.

2.5. Product Code High
This field contains information about the product code assigned to the
programme creating the packet. The field contains the high order 8
bits of a 16-bit unsigned binary integer in the range 0-65535.

Product codes are assigned to programmes by the FTSC. See FTA-1005.
That document also contains information about what product codes to
use by programmes which have not yet been assigned a product code by
the FTSC.

See note 1.

2.6. Product Minor Revision
This field contains information about the minor revision of the
programme creating the packet. The field may contain an 8-bit unsigned
binary integer in the range 0-255.

The full product revision is .. The
minor revision is found in the Product Minor Revision field.

It is common practice to present the revision as a real number with
two decimal places on the user interface level if the minor revision
is in the range 0-99.

Example:
Product revision 0105H is usually presented as 1.05.

2.7 Capability Word
This field contains information about the capabilities of the
programme having created the packet. This field is treated as a 16-bit
bit mapped flag field with the following assignments:

        Bit             Meaning
        ---             -------
        0               Packet type 2+ capability
        1-15            Reserved


A programme receiving a packet with bit 0 of the capability word set
to 1, correct contents of the Capability Validation field and filling
all requirements for a packet of packet type 2 which have not been
changed by this document should assume that the packet is of packet
type 2+.

Such a programme may also under these circumstances record that the
system having created the received packet file has the capability of
handling packets of packet type 2+. It may therefore be considered
safe to send packets of packet type 2+ to that system.

A programme receiving a packet with bit 0 of the capability word set
to 0 or with incorrect contents of the Capability Validation field but
filling all requirements for a packet of packet type 2 which have not
been changed by this document should assume that the packet is of
packet type 2.

2.8. Origin Zone
These fields contain information about the zone number of the system
having created the packet. These fields contain a 16-bit binary unsigned
integer in the range 1-65535.

See notes 3, 4 and 5.

2.9. Destination Zone
These fields contain information about the zone number of the system
for which the packet was created. These fields contain a 16-bit binary
unsigned integer in the range 1-65535.

See notes 3, 4 and 5.

2.10. Origin Point
This field contains information about the point number of the system
having created the packet. This field contains a 16-bit binary unsigned
integer in the range 0-65535.

See notes 3 and 4.

2.11. Destination Point
This field contains information about the point number of the system
for which the packet was created. This field contains a 16-bit binary
unsigned integer in the range 1-65535.

See notes 3 and 4.

2.12. Product Data
This field may contain programme specific data. If a programme does
not wish to enter a zone number into this field it should set all bits
in this field to 0.


Notes

Note 1
There is a potential conflict between packet type 2+ and programmes
not recognizing that packet type regarding the product code.

Since the product code in packet type 2 is only an 8-bit unsigned
integer while it is in packet type 2+ is a 16-bit unsigned integer,
programmes not recognizing incoming incoming packets of packet type 2+
may not recognize the complete 16-bit product code.

Normally this is a minor problem since programmes not recognizing
incoming packets of packet type 2+ will usually only use this
information for logging and similar purposes, if at all.

To further ease this problem, it is the current practice of the FTSC
to assign only product codes with FFH as the low order byte (i.e.
product codes 01FFH, 02FFH, 03FFH, ... FFFFH). A programme only
recognizing incoming packets of packet type 2 will then interpret the
product code as FFH which is a reserved 8-bit product code for
programmes with 16-bit product codes.

Note 2
The original proposal for packet type 2+ (FSC-39) prescribed special
handling of the most significant bit of the Capability word and the
Capability Validation fields.

However, the special significance of that bit (RFC-822 capability) has
not been implemented so widely that it can be considered common
practice. In this description that bit is therefore degraded to the
same level as the other bits in the Capability word and the Capability
Validation fields.

Note 3
It may be noted that certain existing programmes may represent point,
node, net and zone numbers as signed integers on the user interface
level. E.g. node number 65535 may be represented as -1.

Note 4
Little-endian byte order (also known as Intel byte order) is used for
16-bit binary integers.

Each field containing a 16-bit binary integer is composed of two bytes
O0 and O1:

+----+----+
! O0 ! O1 !
-----+----+

where O0 contains bits 0-7 and O1 bit 8-15 of the 16-bit binary integer.

Bit 0 is the least significant bit and bit 15 is the most significant
bit of the 16-bit binary integer.

Note 5
It may be noted that certain existing programmes put additional
restrictions on the range of valid zone numbers. E.g. the zone numbers
may be restricted to 1-255 or 1-4095.

--- 
* Origin: GET, Lidingo, Sweden, +46-8-7655670 (2:201/505.1)
SEEN-BY: 201/505 633/267 270
@PATH: 201/505 633/267

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™.