
#ifndef _HDHOMERUN_PLUGIN_H_
#define _HDHOMERUN_PLUGIN_H_

void* dev_init( int *num );       //return tuner handle
void dev_release( void* handle ); //release tuner
int get_dev_name( void* handle, int index, char* name, int max_name_len  );
void* dev_open( void* handle, int index, int attr );
void dev_close( void* dev );
int dev_tune( void* dev, char* channel, char* stream_tar );
int dev_stop( void* dev );
int dev_scan( void* dev, char* tuner_name, char* channel, struct channel_list_t **cl_p );
int dev_build_channel_table( void* dev, char* option, struct channel_list_t **cl_p );
int dev_release_channel_table( void* dev );

#endif
