56 lines
1.2 KiB
C
56 lines
1.2 KiB
C
/**
|
|
* https://ciapini.wiki.esiliati.org/view/ArNet
|
|
*/
|
|
|
|
#ifndef ARNET_HEADER_FIELDS_H
|
|
#define ARNET_HEADER_FIELDS_H
|
|
|
|
// tutti gli header
|
|
#define ALLH_HTYPE_MASK 0xF0000000
|
|
|
|
// id del tipo di header
|
|
#define HTYPE_DH_VALUE 0x0
|
|
#define HTYPE_VC_VALUE 0x1
|
|
#define HTYPE_EC_VALUE 0x2
|
|
#define HTYPE_TIMEH_VALUE 0x3
|
|
|
|
// default header
|
|
|
|
#define DH_SRC_MASK 0x0000FF00
|
|
#define DH_DST_MASK 0x000000FF
|
|
#define DH_HEADERSIZE_MASK 0x3C000000
|
|
#define DH_PAYLOADSIZE_MASK 0x03FF0000
|
|
#define DH_PROTOCOL_MASK 0xC0000000
|
|
|
|
// VC Header
|
|
#define VC_VCI_MASK 0x03FF0000
|
|
#define VC_SEQ_MASK 0x0000FF00
|
|
#define VC_ACKSEQ_MASK 0x000000FF
|
|
|
|
// CRC header
|
|
#define EC_ALGO_MASK 0x0C000000
|
|
#define EC_ARQ_MASK 0x02000000
|
|
#define EC_ACK_MASK 0x01000000
|
|
#define EC_VALUE_MASK 0x00FFFFFF
|
|
|
|
#define EC_ALGO_CRC24 00
|
|
|
|
|
|
// SAAH
|
|
|
|
#define SAAH_TFRAME_MASK 0x0FF00000
|
|
#define SAAH_SEGADDR_MASK 0x000FF000
|
|
#define SAAH_CHANLOAD_MASK 0x00000FF0
|
|
#define SAAH_CONGCLIENT_MASK 0x0000000F
|
|
|
|
// GRTH
|
|
|
|
#define GRTH_TTL_MASK 0x0F000000
|
|
#define GRTH_FECN_MASK 0x0F000000
|
|
#define GRTH_BECN_MASK 0x0F000000
|
|
#define GRTH_SEGSRC_MASK 0x0000FF00
|
|
#define GRTH_SEGDST_MASK 0x0F0000FF
|
|
|
|
#endif /* ARNET_HEADER_FIELDS_H */
|
|
|