Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
ref:fidonet_packets [2017/03/01 01:38] – [Type-2 Plus] Document the prodData field digital manref:fidonet_packets [2018/06/17 17:38] – [Header Fields] clarify origNet value (sometimes 0xFFFF) for Type-2+ digital man
Line 26: Line 26:
  
 ^ Format   ^ Spec   ^ Version ^ File                                               ^ Notes ^ ^ Format   ^ Spec   ^ Version ^ File                                               ^ Notes ^
-| Type-2   | FTS-1  | 16      | [[http://ftsc.org/docs/fts-0001.016|FTS-0001.016]] | Derived from FSC-1, initially standardized at version 12 | +| Type-2   | FTS-1  | 16      | [[http://ftsc.org/docs/fts-0001.016|FTS-0001.016]] | Derived from FSC-1. Initially standardized at version 12. Supports 3D addresses. 
-| Type-2e  | FSC-39 | 4       | [[http://ftsc.org/docs/fsc-0039.004|FSC-0039.004]] | The name "Type-2e" is being coined here in this article | +| Type-2e  | FSC-39 | 4       | [[http://ftsc.org/docs/fsc-0039.004|FSC-0039.004]] | Adds 4D address suppoort. The name "Type-2e" is being coined here in this article
-| Type-2+  | FSC-48 | 2       | [[http://ftsc.org/docs/fsc-0048.002|FSC-0048.002]] | Packet header is loosely based on FSC-39 | +| Type-2+  | FSC-48 | 2       | [[http://ftsc.org/docs/fsc-0048.002|FSC-0048.002]] | Packet header is based on FSC-39 with improved backward compatibility with FTS-1. 
-| Type-2.2 | FSC-45 | 1       | [[http://ftsc.org/docs/fsc-0045.001|FSC-0045.001]] | Packet header differs considerably from other Type-2 formats, but includes full 5D addressing |+| Type-2.2 | FSC-45 | 1       | [[http://ftsc.org/docs/fsc-0045.001|FSC-0045.001]] | Packet header differs considerably from other Type-2 formats. Supports 5D addresses. |
  
 +**NOTES:**
 +  * 3D addresses are normally expressed as "<zone>:<net>/<node>" (e.g. "1:103/705")
 +  * 4D addresses are normally expressed as "<zone>:<net>/<node>[.point]" (e.g. "1:103/705.1")
 +  * 5D addresses are normally expressed as "<zone>:<net>/<node>[.point]@<domain>" (e.g. "1:103/705@fidonet")
 +  * Type-2e (FSC-39) packets are often erroneously referred to as "Type-2+" packets: they are not ((FSC-39 packets lack the ''auxNet'' field specified in FSC-48)).
 ==== Timeline ==== ==== Timeline ====
  
Line 60: Line 65:
 ==== Header Fields ==== ==== Header Fields ====
  
-^ Offset ^ Length ^ FSC-1 ^ FTS-1 (Type-2) ^ FSC-39 (Type-2e) ^ FSC-48 (Type-2+) ^ FSC-45 (Type-2.2) ^+^ Offset ^ Length ^  FSC-1   FTS-1 (Type-2)   FSC-39 (Type-2e)   FSC-48 (Type-2+)   FSC-45 (Type-2.2)  ^
 | 0x00   | 2      | origNode  ||||| | 0x00   | 2      | origNode  |||||
 | 0x02   | 2      | destNode  ||||| | 0x02   | 2      | destNode  |||||
Line 71: Line 76:
 | 0x10   | 2      | baud       |||| sub-version (2) | | 0x10   | 2      | baud       |||| sub-version (2) |
 | 0x12   | 2      | version/type (2)  ||||| | 0x12   | 2      | version/type (2)  |||||
-| 0x14   | 2      | origNet  |||||+| 0x14   | 2      | origNet  ||| (0xFFFF when origPoint != 0) OrigNet |
 | 0x16   | 2      | destNet  ||||| | 0x16   | 2      | destNet  |||||
 | 0x18   | 1      | prodCode ||||| | 0x18   | 1      | prodCode |||||
Line 88: Line 93:
 | 0x34   | 2      | reserved || destPoint         ||::: | | 0x34   | 2      | reserved || destPoint         ||::: |
 | 0x36   | 4      | reserved || prodData          ||| | 0x36   | 4      | reserved || prodData          |||
 +
 +==== String Termination ====
 +Some of the packet header fields contain arrays of ASCII characters ("strings"):
 +  - password
 +  - origDomain
 +  - destDomain
 +
 +If the string values are shorter than the maximum allowed (e.g. 8 characters), then the remaining bytes of the field should be zero-filled. If the string value is exactly the maximum allowed length, then there is no required string terminator (e.g. NUL byte) following the value and the array should not be treated as a null-terminated (i.e. ASCIIZ) string.
  
 ==== Fill ==== ==== Fill ====