/* Actual, isolated frame header */
struct ast_frame af;
unsigned char unused[AST_FRIENDLY_OFFSET];
- unsigned char afdata[0]; /* Data for frame */
+ unsigned char afdata[]; /* Data for frame */
};
struct iax_ie_data {
unsigned char iseqno; /* Packet number (next incoming expected) */
char type; /* Frame type */
unsigned char csub; /* Compressed subclass */
- unsigned char iedata[0];
+ unsigned char iedata[];
} __PACKED;
/* Mini header is used only for voice frames -- delivered unreliably */
unsigned short ts; /* 16-bit Timestamp (high 16 bits from last ast_iax2_full_hdr) */
/* Frametype implicitly VOICE_FRAME */
/* subclass implicit from last ast_iax2_full_hdr */
- unsigned char data[0];
+ unsigned char data[];
} __PACKED;
struct ast_iax2_meta_hdr {
unsigned short zeros; /* Zeros field -- must be zero */
unsigned char metacmd; /* Meta command */
unsigned char cmddata; /* Command Data */
- unsigned char data[0];
+ unsigned char data[];
} __PACKED;
struct ast_iax2_video_hdr {
unsigned short zeros; /* Zeros field -- must be zero */
unsigned short callno; /* Video call number */
unsigned short ts; /* Timestamp and mark if present */
- unsigned char data[0];
+ unsigned char data[];
} __PACKED;
struct ast_iax2_meta_trunk_hdr {
unsigned int ts; /* 32-bit timestamp for all messages */
- unsigned char data[0];
+ unsigned char data[];
} __PACKED;
struct ast_iax2_meta_trunk_entry {
unsigned char devname[16]; /* Device */
unsigned int datalen; /* Data length of file beyond header */
unsigned char chksum[16]; /* Checksum of all data */
- unsigned char data[0];
+ unsigned char data[];
} __PACKED;