
#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
