1 /*****************************************************************************
2 * netlist_t: structure to manage a netlist
3 *****************************************************************************/
4 typedef struct netlist_s
11 byte_t * p_buffers; /* Big malloc'ed area */
12 data_packet_t * p_data; /* malloc'ed area */
13 pes_packet_t * p_pes; /* malloc'ed area */
15 /* FIFOs of free packets */
16 data_packet_t ** pp_free_data;
17 pes_packet_t ** pp_free_pes;
18 struct iovec * p_free_iovec;
21 unsigned int i_nb_pes;
22 unsigned int i_nb_data;
25 unsigned int i_data_start, i_data_end;
26 unsigned int i_pes_start, i_pes_end;
28 /* Number of blocs read once by readv */
29 unsigned int i_read_once;
32 /*****************************************************************************
34 *****************************************************************************/
35 int input_NetlistInit( struct input_thread_s *,
36 int i_nb_data, int i_nb_pes,
40 struct iovec * input_NetlistGetiovec( void * p_method_data );
41 void input_NetlistMviovec( void * , size_t, struct data_packet_s **);
42 struct data_packet_s * input_NetlistNewPacket( void *, size_t );
43 struct pes_packet_s * input_NetlistNewPES( void * );
44 void input_NetlistDeletePacket( void *, struct data_packet_s * );
45 void input_NetlistDeletePES( void *, struct pes_packet_s * );
46 void input_NetlistEnd( struct input_thread_s * );