| // 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 multicast 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 |