2 * \brief VP Stages. Com stage declaration
3 * \author Sylvain Gaeremynck <sylvain.gaeremynck@parrot.fr>
4 * \author Aurelien Morelle <aurelien.morelle@parrot.fr>
5 * \author Thomas Landais <thomas.landais@parrot.fr>
7 * \date first release 16/03/2007
8 * \date modification 19/03/2007
11 #ifndef _VP_STAGES_IO_COM_H_
12 #define _VP_STAGES_IO_COM_H_
23 * @defgroup vp_stages_io_com input/output communcation stage
27 #include <VP_Api/vp_api.h>
28 #include <VP_Com/vp_com.h>
30 ///////////////////////////////////////////////
33 typedef struct _vp_stages_input_com_config_
37 vp_com_config_t* config;
38 vp_com_connection_t* connection;
40 vp_com_socket_t socket;
41 VP_COM_SOCKET_OPTIONS sockopt;
46 vp_com_socket_t socket_client; // Socket used for read / write
49 } vp_stages_input_com_config_t;
51 typedef struct _vp_stages_output_com_config_
55 vp_com_config_t* config;
56 vp_com_connection_t* connection;
58 vp_com_socket_t socket;
59 VP_COM_SOCKET_OPTIONS sockopt;
64 vp_com_socket_t socket_client; // Socket used for read / write
67 } vp_stages_output_com_config_t;
70 ///////////////////////////////////////////////
74 * @fn Open the input com stage
75 * @param vp_stages_input_com_config_t *cfg
80 vp_stages_input_com_stage_open(vp_stages_input_com_config_t *cfg);
84 * @fn Transform the input com stage
85 * @param vp_stages_input_com_config_t *cfg
86 * @param vp_api_io_data_t *in
87 * @param vp_api_io_data_t *out
92 vp_stages_input_com_stage_transform(vp_stages_input_com_config_t *cfg, vp_api_io_data_t *in, vp_api_io_data_t *out);
95 * @fn Close the input com stage
96 * @param vp_stages_input_com_config_t *cfg
101 vp_stages_input_com_stage_close(vp_stages_input_com_config_t *cfg);
105 * @fn Open the output com stage
106 * @param vp_stages_output_com_config_t *cfg
111 vp_stages_output_com_stage_open(vp_stages_output_com_config_t *cfg);
114 * @fn Transform the output com stage
115 * @param vp_stages_output_com_config_t *cfg
116 * @param vp_api_io_data_t *in
117 * @param vp_api_io_data_t *out
122 vp_stages_output_com_stage_transform(vp_stages_output_com_config_t *cfg, vp_api_io_data_t *in, vp_api_io_data_t *out);
125 * @fn Close the output com stage
126 * @param vp_stages_output_com_config_t *cfg
131 vp_stages_output_com_stage_close(vp_stages_output_com_config_t *cfg);
141 #endif // ! _VP_STAGES_IO_COM_H_