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;
27 unsigned int i_iovec_start, i_iovec_end;
30 /*****************************************************************************
32 *****************************************************************************/
33 int input_NetlistInit( struct input_thread_s *,
34 int i_nb_data, int i_nb_pes,
35 size_t i_buffer_size );
36 struct iovec * input_NetlistGetiovec( void * );
37 void input_NetlistMviovec( void *, size_t );
38 struct data_packet_s * input_NetlistNewPacket( void *, size_t );
39 struct pes_packet_s * input_NetlistNewPES( void * );
40 void input_NetlistDeletePacket( void *, struct data_packet_s * );
41 void input_NetlistDeletePES( void *, struct pes_packet_s * );
42 void input_NetlistEnd( struct input_thread_s * );