| // Copyright 2011 Google Inc. All Rights Reserved. |
| // Author: qianzhang@google.com (ken Zhang) |
| |
| #ifndef _CHANNEL_BUFFER_H_ |
| #define _CHANNEL_BUFFER_H_ |
| |
| #ifndef MAX |
| #define MAX( x, y ) (( x)>(y) ? (x):(y) ) |
| #endif |
| #ifndef MIN |
| #define MIN( x, y ) (( x)<(y) ? (x):(y) ) |
| #endif |
| |
| struct channel_entry_t { |
| int ch; |
| int state; |
| int ctrl_bits; //0x01 fix muticast IP/port |
| char ch_name[20]; |
| char ch_desc[32]; |
| char src_ip[16]; |
| int src_port; |
| char epg_id[8]; |
| char dev_name[32]; |
| char dev_tuning[16]; |
| char av_inf[1024]; |
| int frq; |
| }; |
| |
| struct channel_list_t { |
| int num; |
| int channel_num; |
| struct channel_entry_t *ce; |
| }; |
| |
| char* join_alloc_string( char* str1, char* str2 ); |
| int get_string( char*p, const char* name, char* string, int max_len, char **next ); |
| int get_string_with_quote( char*p, const char* name, char* string, int max_len, char **next ); |
| int get_string_token( char*p, int num, char* string, int max_len, char **next ); |
| int get_int_val( char*p, const char* name, int* val, char** next ); |
| |
| struct channel_list_t* create_channel_list( int num ); |
| void release_channel_list( struct channel_list_t *cl ); |
| struct channel_list_t* join_channel_list( struct channel_list_t* cl1, struct channel_list_t* cl2 ); |
| |
| int make_channel_entry_buffer( struct channel_entry_t *ce, char *buf, int size ); |
| int parse_channel_entry_buffer( struct channel_entry_t *ce, char* buf ); |
| struct channel_list_t* load_channel_entry( char* file_name ); |
| int save_channel_entry( char* file_name, struct channel_list_t *cl ); |
| |
| #endif |