📄 sfp.idl
字号:
/* -*- C++ -*- */
// sfp.idl,v 1.10 1999/05/31 02:22:48 naga Exp
#ifndef TAO_SFP_IDL
#define TAO_SFP_IDL
module flowProtocol
{
typedef sequence<char> my_seq_char;
typedef sequence <unsigned long> my_seq_ulong;
enum MsgType
{
// The MsgTypes Start and struct Start,StartReply and struct
// StartReply conflicts.
// Also there are case-only differences for enumerator Credit and struct credit.
// We suffix _Msg to all enumerators until the AVStreams RTF fixes these.
// Messages in the forward direction
// Start,
Start_Msg,
EndofStream_Msg,
SimpleFrame_Msg,
SequencedFrame_Msg,
Frame_Msg,
SpecialFrame_Msg,
// Messages in the reverse direction
// StartReply,
StartReply_Msg,
Credit_Msg,
// Addition of type for a fragment.
Fragment_Msg
};
struct frameHeader
{
char magic_number[4];
// my_seq_char magic_number;
// '=', 'S', 'F', 'P'
octet flags;
// bit 0 = byte order,
// 1 = fragments, 2-7 always 0
octet message_type;
unsigned long message_size;
// Size following this header
};
struct fragment
{
// my_seq_char magic_number;
char magic_number[4];
// 'F', 'R', 'A', 'G'
octet flags;
// bit 1 = more fragments, %%bit 0 = byteorder
unsigned long frag_number;
// 1,..,n
unsigned long sequence_num;
unsigned long frag_sz;
unsigned long source_id;
// Required for UDP multicast with multiple sources
};
struct Start
{
char magic_number[4];
// my_seq_char magic_number;
// '=', 'S', 'T', 'A'
octet major_version;
octet minor_version;
octet flags;
// bit 0 = byte order
};
// Acknowledge successful processing of
// Start
struct StartReply
{
// my_seq_char magic_number;
char magic_number[4];
// "=",'S','T','R'
octet flags;
// bit 0 = byte order, 1 = exception
};
// If the message_type in frameHeader is sequencedFrame
// the the frameHeader will be followed by this
// (See also RTP note)
struct sequencedFrame
{
unsigned long sequence_num;
};
// If the message_type is Frame then
// the frameHeader is followed by this
// See also RTP note
struct frame
{
unsigned long timestamp;
unsigned long synchSource;
my_seq_ulong source_ids;
unsigned long sequence_num;
};
// XXX:The spec hasn't defined frameID.
typedef unsigned long frameID;
struct specialFrame
{
frameID context_id;
sequence<octet> context_data;
};
struct credit
{
// my_seq_char magic_number;
char magic_number[4];
// "=",'C','R','E'
unsigned long cred_num;
};
};
#endif /* TAO_SFP_IDL */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -