465 lines
21 KiB
C
465 lines
21 KiB
C
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
|
|
|
|
File: OCTVOCNET_PKT.h
|
|
|
|
Copyright (c) 2014 Octasic Inc. All rights reserved.
|
|
|
|
Description:
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU Affero General Public License as published by
|
|
the Free Software Foundation; either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Affero General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14)
|
|
|
|
$Revision: $
|
|
|
|
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
|
|
|
|
#ifndef __OCTVOCNET_PKT_H__
|
|
#define __OCTVOCNET_PKT_H__
|
|
|
|
|
|
/***************************** INCLUDE FILES *******************************/
|
|
#include "../octdev_types.h"
|
|
#include "../octpkt/octpkt_hdr.h"
|
|
#include "octvc1_handle.h"
|
|
|
|
|
|
/************************ COMMON DEFINITIONS *******************************/
|
|
|
|
#define cOCTVOCNET_PKT_ETHERTYPE cOCTPKT_HDR_ETHERTYPE
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
VocalloNet Packet Format Values
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_FORMAT_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT
|
|
#define cOCTVOCNET_PKT_FORMAT_BIT_OFFSET cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT_BIT_OFFSET
|
|
#define cOCTVOCNET_PKT_FORMAT_BIT_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT_BIT_MASK
|
|
#define cOCTVOCNET_PKT_TRACE_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_TRACE
|
|
#define cOCTVOCNET_PKT_TRACE_BIT_OFFSET cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_TRACE_BIT_OFFSET
|
|
#define cOCTVOCNET_PKT_TRACE_BIT_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_TRACE_BIT_MASK
|
|
#define cOCTVOCNET_PKT_CONTROL_PROTOCOL_TYPE_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE
|
|
#define cOCTVOCNET_PKT_CONTROL_PROTOCOL_TYPE_BIT_OFFSET cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE_BIT_OFFSET
|
|
#define cOCTVOCNET_PKT_CONTROL_PROTOCOL_TYPE_BIT_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE_BIT_MASK
|
|
#define cOCTVOCNET_PKT_LENGTH_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH
|
|
#define cOCTVOCNET_PKT_LENGTH_BIT_OFFSET cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH_BIT_OFFSET
|
|
#define cOCTVOCNET_PKT_LENGTH_BIT_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH_BIT_MASK
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
VocalloNet Format Control Packet
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_FORMAT_CTRL 0x00
|
|
#define cOCTVOCNET_PKT_FORMAT_A 0x01
|
|
#define cOCTVOCNET_PKT_FORMAT_B 0x02
|
|
#define cOCTVOCNET_PKT_FORMAT_D 0x04
|
|
#define cOCTVOCNET_PKT_FORMAT_F 0x06
|
|
#define cOCTVOCNET_PKT_FORMAT_H 0x08
|
|
#define cOCTVOCNET_PKT_FORMAT_I 0x09
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
VocalloNet Format Control Bit Shifted
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_BITSHIFTED_FORMAT_CTRL (cOCTVOCNET_PKT_FORMAT_CTRL<<cOCTVOCNET_PKT_FORMAT_BIT_OFFSET)
|
|
#define cOCTVOCNET_PKT_BITSHIFTED_FORMAT_A (cOCTVOCNET_PKT_FORMAT_A<<cOCTVOCNET_PKT_FORMAT_BIT_OFFSET)
|
|
#define cOCTVOCNET_PKT_BITSHIFTED_FORMAT_B (cOCTVOCNET_PKT_FORMAT_B<<cOCTVOCNET_PKT_FORMAT_BIT_OFFSET)
|
|
#define cOCTVOCNET_PKT_BITSHIFTED_FORMAT_D (cOCTVOCNET_PKT_FORMAT_D<<cOCTVOCNET_PKT_FORMAT_BIT_OFFSET)
|
|
#define cOCTVOCNET_PKT_BITSHIFTED_FORMAT_F (cOCTVOCNET_PKT_FORMAT_F<<cOCTVOCNET_PKT_FORMAT_BIT_OFFSET)
|
|
#define cOCTVOCNET_PKT_BITSHIFTED_FORMAT_H (cOCTVOCNET_PKT_FORMAT_H<<cOCTVOCNET_PKT_FORMAT_BIT_OFFSET)
|
|
#define cOCTVOCNET_PKT_BITSHIFTED_FORMAT_I (cOCTVOCNET_PKT_FORMAT_I<<cOCTVOCNET_PKT_FORMAT_BIT_OFFSET)
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
VocalloNet Packet sub-type Values
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_SUBTYPE_UNSPECIFIED 0x0
|
|
#define cOCTVOCNET_PKT_SUBTYPE_API_EVENT 0x1
|
|
#define cOCTVOCNET_PKT_SUBTYPE_ETH 0x2
|
|
#define cOCTVOCNET_PKT_SUBTYPE_IP 0x3
|
|
#define cOCTVOCNET_PKT_SUBTYPE_UDP_PAYLOAD 0x4
|
|
#define cOCTVOCNET_PKT_SUBTYPE_TCP_PAYLOAD 0x5
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
Control Protocol Types.
|
|
-------------------------------------------------------------------------------------*/
|
|
/*-------------------------------------------------------------------------------------
|
|
tOCTVOCNET_PKT_CONTROL_PROTOCOL_TYPE_ENUM :
|
|
-------------------------------------------------------------------------------------*/
|
|
#define tOCTVOCNET_PKT_CONTROL_PROTOCOL_TYPE_ENUM tOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM
|
|
|
|
#define cOCTVOCNET_PKT_CONTROL_PROTOCOL_TYPE_ENUM_OCTVC1 cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_OCTVOCNET /* Vocallo Control Protocol */
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
VocalloNet D packet types.
|
|
-------------------------------------------------------------------------------------*/
|
|
/*-------------------------------------------------------------------------------------
|
|
tOCTVOCNET_PKT_HEADER :
|
|
-------------------------------------------------------------------------------------*/
|
|
#define tOCTVOCNET_PKT_HEADER tOCTPKT_HDR
|
|
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
tOCTVOCNET_PKT_CTL_HEADER
|
|
VocalloNet Control Packet Header
|
|
|
|
Members:
|
|
ulDestFifoId
|
|
Destination FIFO ID.
|
|
ulSourceFifoId
|
|
Source FIFO ID.
|
|
ulSocketId
|
|
Return socket identifier.
|
|
-------------------------------------------------------------------------------------*/
|
|
typedef struct
|
|
{
|
|
tOCT_UINT32 ulDestFifoId;
|
|
tOCT_UINT32 ulSourceFifoId;
|
|
tOCT_UINT32 ulSocketId;
|
|
|
|
} tOCTVOCNET_PKT_CTL_HEADER;
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
tOCTVOCNET_PKT_DATA_HEADER
|
|
VocalloNet Data Packet Header
|
|
|
|
Members:
|
|
hLogicalObj
|
|
Logical Obj Handle.
|
|
ulLogicalObjPktPort
|
|
Logical_Object Packet_Port.
|
|
ulDestFifoId
|
|
Destination FIFO ID.
|
|
-------------------------------------------------------------------------------------*/
|
|
typedef struct
|
|
{
|
|
tOCTVC1_HANDLE hLogicalObj;
|
|
tOCT_UINT32 ulLogicalObjPktPort;
|
|
tOCT_UINT32 ulDestFifoId;
|
|
|
|
} tOCTVOCNET_PKT_DATA_HEADER;
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
tOCTVOCNET_PKT_DATA_D_HEADER
|
|
VocalloNet Format D Packet Header (Voice packet).
|
|
|
|
Members:
|
|
VocNetHeader
|
|
ulReserved
|
|
ul_Rtp_PktType_Pad_Offset
|
|
bit[31] = Valid RTP header indicator:
|
|
This packet format carries either partial or complete Real Time
|
|
Protocol (RTP) header information. This indicator specifies the level
|
|
of information included in the packet. The following fields are always
|
|
valid regardless of the setting of this indicator: Packet encoding type,
|
|
Marker, Sequence number and Timestamp.
|
|
0 -> Fields marked with "valid_rtp=1" are not valid;
|
|
1 -> Fields marked with "valid_rtp=1" are valid. In this case,
|
|
aulRtp[] contains a complete RTP header which can also include a
|
|
CSRC list and a RTP extension. Refer to RFC 1889 for additional
|
|
details.
|
|
bits[30:22] = Packet encoding type.
|
|
bits[21:14] = RTP padding size in bytes. (valid_rtp=1)
|
|
bits[13:11] = Reserved and must be 0.
|
|
bits[10:0] = RTP payload offset in bytes. (valid_rtp=1)
|
|
aulRtp
|
|
aulRtp[ 0 ].bits[31:30] = RTP version = 0x2. (valid_rtp=1)
|
|
.bit[29] = RTP padding. (valid_rtp=1)
|
|
.bit[28] = RTP extension. (valid_rtp=1)
|
|
.bits[27:24] = RTP contributing source count. (valid_rtp=1)
|
|
.bit[23] = Marker.
|
|
.bits[22:16] = RTP payload type. (valid_rtp=1)
|
|
.bits[15:0] = Sequence Number
|
|
aulRtp[ 1 ].bits[31:0] = Timestamp
|
|
aulRtp[ 2 ].bits[31:0] =
|
|
valid_rtp=1: RTP Synchronization source.
|
|
valid_rtp=0: Vocoder-dependant flags as defined below:
|
|
Enhanced Full Rate (EFR), see 3GPP TS 48.081
|
|
.bits[31:4]:reserved, must be 0
|
|
.bit[3]:BFI
|
|
.bit[2]:TAF
|
|
.bits[1:0]:SID
|
|
-------------------------------------------------------------------------------------*/
|
|
typedef struct
|
|
{
|
|
tOCTVOCNET_PKT_DATA_HEADER VocNetHeader;
|
|
tOCT_UINT32 ulReserved;
|
|
tOCT_UINT32 ul_Rtp_PktType_Pad_Offset;
|
|
tOCT_UINT32 aulRtp[3];
|
|
|
|
} tOCTVOCNET_PKT_DATA_D_HEADER;
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
tOCTVOCNET_PKT_DATA_F_HEADER
|
|
VocalloNet Format F Packet Header (Raw Data packet)
|
|
|
|
Members:
|
|
VocNetHeader
|
|
ulTimestamp
|
|
bits[31:0] = Timestamp
|
|
ulSubType
|
|
bits[31:4] = Reserved, bits[3:0] = SubType
|
|
-------------------------------------------------------------------------------------*/
|
|
typedef struct
|
|
{
|
|
tOCTVOCNET_PKT_DATA_HEADER VocNetHeader;
|
|
tOCT_UINT32 ulTimestamp;
|
|
tOCT_UINT32 ulSubType;
|
|
|
|
} tOCTVOCNET_PKT_DATA_F_HEADER;
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
VocalloNet Format Control Packet
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_FORMAT_C 0x03
|
|
#define cOCTVOCNET_PKT_FORMAT_E 0x05
|
|
#define cOCTVOCNET_PKT_FORMAT_G 0x07
|
|
#define cOCTVOCNET_PKT_FORMAT_R 0x12
|
|
#define cOCTVOCNET_PKT_FORMAT_WCDMA 0x13
|
|
#define cOCTVOCNET_PKT_FORMAT_GSM 0x14
|
|
#define cOCTVOCNET_PKT_FORMAT_GSM_EVT 0x15
|
|
#define cOCTVOCNET_PKT_FORMAT_Q 0x80
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_MAX_RTP_PROFILE_ENTRY 9
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
VocalloNet D packet types.
|
|
-------------------------------------------------------------------------------------*/
|
|
/*-------------------------------------------------------------------------------------
|
|
tOCTVOCNET_PKT_D_TYPE_ENUM :
|
|
-------------------------------------------------------------------------------------*/
|
|
#define tOCTVOCNET_PKT_D_TYPE_ENUM tOCT_UINT32
|
|
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_TONE 0
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_GEN_SID 1
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_LINEAR_8KSS 2 /* Linear */
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_LINEAR_16KSS 3 /* Linear 16-bit, 16000Hz sampling */
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
G.711 PCM
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_PCM_U_LAW 4
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_PCM_A_LAW 5
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
G.711 PCM VB_DATA
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_PCM_U_LAW_VBD 6
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_PCM_A_LAW_VBD 7
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
G.726 ADPCM
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_G726_16 10 /* ITU-T Recommendation I.366.2 Annex E. */
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_G726_24 11
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_G726_32 12
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_G726_40 13
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_G726_16_RTP 14 /* ITU-T Recommendation X.420. */
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_G726_24_RTP 15
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_G726_32_RTP 16
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_G726_40_RTP 17
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
G.722 ADPCM
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_G722_48 18
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_G722_56 19
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_G722_64 20
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
G.723.1
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_G723_1 21
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
G.729
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_G729A 22
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_G729AB_8 23
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
AMR
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_AMR 24 /* Output from codec */
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_AMR_RTP 25 /* IETF RFC 3267 */
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
EFR
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_EFR 26 /* Output from codec */
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_EFR_RTP 27 /* IETF RFC 3551 */
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
Full Rate (FR)
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_FR 28 /* Output from codec. */
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_FR_RTP 29 /* RFC 3551 */
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
AMR Wide-Band
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_AMR_WB 30 /* Output from codec. */
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_AMR_WB_RTP 31 /* IETF RFC 3267 */
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
iLBC
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_ILBC 32 /* RFC 3951 */
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
G.722.1
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_G722_1_24 33
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_G722_1_32 34
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
G.729.1
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_G729_1 35 /* Output from codec. */
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_G729_1_RTP 36 /* IETF RFC 4749 */
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
T.38 Fax Relay
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_T38_UDPTL 37 /* T.38 over UDPTL */
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_T38_RTP 38 /* T.38 over RTP */
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
DIALOGIC ADPCM
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_VOX 39
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
Video Codecs
|
|
-------------------------------------------------------------------------------------*/
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
Uncompressed Video
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_YUV_RTP_RFC4175 300 /* IETF RFC 4175 for YUV uncompressed video data. Only YUV420 is supported. */
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_RAW_YUV 301 /* Packets containing sequential 16x16 macroblock of YUV420. */
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_RAW_RGB 302 /* Packets containing sequential 16x16 macroblock of RGB. */
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_RAW_YUV_EXTENDED 303 /* Packets containing sequential 16x16 macroblock of YUV420 with cropping. */
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
Video H263
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_H263_RTP_RFC2190 310 /* IETF RFC 2190 for H.263 compressed video data. */
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_H263_RTP_RFC2190_BYTE_BOUNDARY 311 /* IETF RFC 2190 for H.263 compressed video data. Packetized at Byte boundaries. */
|
|
/* Identical to H263_RTP_RFC2190 for Rx Video Terminations. */
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_H263_RTP_RFC2429 312 /* IETF RFC 2429 (or RFC 4629) for H.263 compressed video data. */
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
Video MPEG-4
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_MPEG4_RTP_RFC3016 320 /* IETF RFC 3016 for MPEG-4 compressed elementary stream video data. */
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
Video H264
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_H264_RTP_RFC3984 330 /* IETF RFC 3984: RTP Payload Format for H.264 Video. */
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
FAST YUV
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_FAST_YUV 340 /* Constant bitrate, visually lossless video compression. */
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
Unknown packet type
|
|
-------------------------------------------------------------------------------------*/
|
|
#define cOCTVOCNET_PKT_D_TYPE_ENUM_UNKNOWN_RTP_PAYLOAD_TYPE 511 /* For internal use only. */
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
tOCTVOCNET_PKT_DATA_B_HEADER
|
|
VocalloNet Format B Packet Header (AAL0-AAL1 cells in a packet).
|
|
|
|
Members:
|
|
VocNetHeader
|
|
ulNumCells
|
|
bits[31:6] = 0 -> Reserved
|
|
bits[5:0] = Number of cells present in the packet
|
|
-------------------------------------------------------------------------------------*/
|
|
typedef struct
|
|
{
|
|
tOCTVOCNET_PKT_DATA_HEADER VocNetHeader;
|
|
tOCT_UINT32 ulNumCells;
|
|
|
|
} tOCTVOCNET_PKT_DATA_B_HEADER;
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
tOCTVOCNET_PKT_DATA_C_HEADER
|
|
VocalloNet Format C Packet Header (AAL2 CPS packet).
|
|
|
|
Members:
|
|
VocNetHeader
|
|
-------------------------------------------------------------------------------------*/
|
|
typedef struct
|
|
{
|
|
tOCTVOCNET_PKT_DATA_HEADER VocNetHeader;
|
|
|
|
} tOCTVOCNET_PKT_DATA_C_HEADER;
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
tOCTVOCNET_PKT_DATA_E_HEADER
|
|
VocalloNet Format E Packet Header (AAL5 packet)
|
|
|
|
Members:
|
|
VocNetHeader
|
|
ul_Uu_Cp
|
|
bits[31:16] = 0 -> Reserved
|
|
bits[15:8] = AAL5 UU field
|
|
bits[7:0] = AAL5 CP field
|
|
-------------------------------------------------------------------------------------*/
|
|
typedef struct
|
|
{
|
|
tOCTVOCNET_PKT_DATA_HEADER VocNetHeader;
|
|
tOCT_UINT32 ul_Uu_Cp;
|
|
|
|
} tOCTVOCNET_PKT_DATA_E_HEADER;
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
tOCTVOCNET_PKT_DATA_R_HEADER
|
|
VocalloNet Format R Packet Header (Tunnel packet)
|
|
|
|
Members:
|
|
VocNetHeader
|
|
ulForwardPkt_BridgeMacDstAddrHi
|
|
bit[31] = Forward packet flag.
|
|
bits[30:16] = Reserved
|
|
bits[15:0] = Bridge Dst Mac Address bits[47:32]
|
|
ulBridgeMacDstAddrLow
|
|
bits[31:0] = Bridge Dst Mac Address bits[31:0]
|
|
ulBridgeMacSrcAddrHi
|
|
bits[31:16] = Reserved
|
|
bits[15:0] = Bridge Src Mac Address bits[47:32]
|
|
ulBridgeMacSrcAddrLow
|
|
bits[31:0] = Bridge Src Mac Address bits[31:0]
|
|
-------------------------------------------------------------------------------------*/
|
|
typedef struct
|
|
{
|
|
tOCTVOCNET_PKT_HEADER VocNetHeader;
|
|
tOCT_UINT32 ulForwardPkt_BridgeMacDstAddrHi;
|
|
tOCT_UINT32 ulBridgeMacDstAddrLow;
|
|
tOCT_UINT32 ulBridgeMacSrcAddrHi;
|
|
tOCT_UINT32 ulBridgeMacSrcAddrLow;
|
|
|
|
} tOCTVOCNET_PKT_DATA_R_HEADER;
|
|
|
|
/*-------------------------------------------------------------------------------------
|
|
tOCTVOCNET_PKT_DATA_Q_HEADER
|
|
VocalloNet Format Q Packet Header (Ethernet packet rejected)
|
|
|
|
Members:
|
|
VocNetHeader
|
|
ausInfo
|
|
bits[31:0] = Rejected packet info
|
|
-------------------------------------------------------------------------------------*/
|
|
typedef struct
|
|
{
|
|
tOCTVOCNET_PKT_HEADER VocNetHeader;
|
|
tOCT_UINT16 ausInfo[3];
|
|
|
|
} tOCTVOCNET_PKT_DATA_Q_HEADER;
|
|
|
|
|
|
#endif /* __OCTVOCNET_PKT_H__ */
|
|
|