source: trunk/module-coolapi.h @ 5375

Last change on this file since 5375 was 4994, checked in by Admin, 8 years ago

I noticed that monitor encryption is not working on 64bit plattforms due to other sizes of long on this plattform. This patch converts all numeric types like long to portable types like uint32_t. This is not complete yet (only base folder up to r4987, changes thereafter might be incompletely converted). If you encounter problems through this patch please report in forum.

File size: 2.5 KB
Line 
1#ifndef _COOL_DEMUX_
2#define _COOL_DEMUX_
3
4typedef struct
5{
6        int32_t  type;
7        uint32_t size;
8        int32_t unknown1;
9        int16_t unknown2;
10        int32_t unknown3;
11    int32_t unknown[4];
12} buffer_open_arg_t;
13
14typedef struct
15{
16   int32_t type;
17   int32_t unknown[2];
18} channel_open_arg_t;
19
20typedef struct
21{
22    uint32_t number;
23    int32_t unknown1;
24    int32_t unknown2;
25    int32_t unknown3;
26    int32_t unknown4;
27    int32_t unknown5;
28    int32_t unknown6;
29    int32_t unknown[6];
30} device_open_arg_t;
31
32typedef struct
33{
34   uint32_t length;
35   unsigned char filter[12];
36   unsigned char mask[12];
37   int32_t unknown[16];
38} filter_set_t;
39
40typedef struct
41{
42   int32_t unk;
43   int32_t type;
44   int32_t unknown[4];
45   uint32_t len;
46} dmx_callback_data_t;
47
48int32_t cnxt_cbuf_init(void *);
49int32_t cnxt_cbuf_open(void **handle, buffer_open_arg_t * arg, void *, void *);
50int32_t cnxt_cbuf_attach(void *handle, int32_t type, void * channel);
51int32_t cnxt_cbuf_detach(void *handle, int32_t type, void * channel);
52int32_t cnxt_cbuf_close(void * handle);
53int32_t cnxt_cbuf_read_data(void * handle, void *buffer, uint32_t size, uint32_t * ret_size);
54int32_t cnxt_cbuf_flush(void * handle, int);
55
56void cnxt_kal_initialize(void);
57void cnxt_kal_terminate(void);
58void cnxt_drv_init(void);
59void cnxt_drv_term(void);
60
61int32_t cnxt_dmx_init(void *);
62int32_t cnxt_dmx_open(void **device, device_open_arg_t *arg, void *, void *);
63int32_t cnxt_dmx_close(void * handle);
64int32_t cnxt_dmx_channel_open(void * device, void **channel, channel_open_arg_t * arg, void * callback, void *);
65int32_t cnxt_dmx_channel_close(void * channel);
66int32_t cnxt_dmx_open_filter(void * handle, void *flt); 
67int32_t cnxt_dmx_set_filter(void * handle, filter_set_t * arg, void *);
68int32_t cnxt_dmx_close_filter(void * filter);
69int32_t cnxt_dmx_channel_attach(void * channel, int32_t param1, int32_t param2, void * buffer);
70int32_t cnxt_dmx_channel_detach(void * channel, int32_t param1, int32_t param2, void * buffer);
71int32_t cnxt_dmx_channel_attach_filter(void * channel, void * filter);
72int32_t cnxt_dmx_channel_detach_filter(void * channel, void * filter);
73int32_t cnxt_dmx_set_channel_buffer(void * channel, int32_t param1, void * buffer);
74int32_t cnxt_dmx_set_channel_pid(void * channel, uint32_t pid);
75int32_t cnxt_dmx_get_channel_from_pid(void * device, uint16_t pid, void * channel);
76int32_t cnxt_dmx_set_channel_key(void * channel, int32_t param1, uint32_t parity, unsigned char *cw, uint32_t len);
77int32_t cnxt_dmx_channel_ctrl(void * channel, int32_t param1, int32_t param2);
78
79#endif
Note: See TracBrowser for help on using the repository browser.