FreeCalypso > hg > fc-tourmaline
diff src/g23m-aci/gdd_dio/gdd_dio_con_mgr.h @ 1:fa8dc04885d8
src/g23m-*: import from Magnetite
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 16 Oct 2020 06:25:50 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/g23m-aci/gdd_dio/gdd_dio_con_mgr.h Fri Oct 16 06:25:50 2020 +0000 @@ -0,0 +1,166 @@ +/* ++----------------------------------------------------------------------------- +| File : gdd_dio_con_mgr.h ++----------------------------------------------------------------------------- +| Copyright 2002 Texas Instruments Berlin, AG +| All rights reserved. +| +| This file is confidential and a trade secret of Texas +| Instruments Berlin, AG +| The receipt of or possession of this file does not convey +| any rights to reproduce or disclose its contents or to +| manufacture, use, or sell anything it may describe, in +| whole, or in part, without the specific written consent of +| Texas Instruments Berlin, AG. ++----------------------------------------------------------------------------- +| Purpose : Connecion handling functions of the DIO BAT adapter +| These functions form the interface of the connection manager, +| whose responsability is to create DIO connections, assign +| device numbers, etc. ++----------------------------------------------------------------------------- +*/ + +#ifndef GDD_DIO_CON_MGR_H +#define GDD_DIO_CON_MGR_H + +/* ++------------------------------------------------------------------------------ +| Function : gdd_dio_con_mgr_init ++------------------------------------------------------------------------------ +| Description : Initializes the connection manager +| +| Parameters : - +| ++------------------------------------------------------------------------------ +*/ +EXTERN void gdd_dio_con_mgr_init +( + T_GDD_DIO_DATA * gdd_dio_data +); + +/* ++------------------------------------------------------------------------------ +| Function : gdd_dio_con_mgr_new ++------------------------------------------------------------------------------ +| Description : Create a new DIO connection +| +| Assumptions : gdd_dio_data->ker.state EQ GDD_DIO_KER_READY +| && gdd_dio_init_flag[inst] EQ TRUE +| +| Parameters : gdd_dio_data - pointer to instance data +| con_handle - output value: new conn. handle +| cap - capabilities required +| rcv_cb - receive callback +| sig_cb - signal callback +| +| Returns : GDD_OK - Connection succesfully created +| GDD_NO_CONNECTION_SLOT - Connection failed because we +| have already the max. number of +| connections. ++------------------------------------------------------------------------------ +*/ +EXTERN GDD_RESULT gdd_dio_con_mgr_new +( + T_GDD_DIO_DATA * gdd_dio_data, + T_GDD_CON_HANDLE * con_handle, + const T_GDD_CAP * cap, + T_GDD_RECEIVE_DATA_CB rcv_cb, + T_GDD_SIGNAL_CB sig_cb +); + + +/* ++------------------------------------------------------------------------------ +| Function : gdd_dio_con_mgr_close ++------------------------------------------------------------------------------ +| Description : Close a connection +| +| Parameters : con_handle - connection handle +| +| Returns : GDD_OK - Connection succesfully created +| >GDD_OK - Error ++------------------------------------------------------------------------------ +*/ +EXTERN GDD_RESULT gdd_dio_con_mgr_close( T_GDD_CON_HANDLE con_handle ); + + +/* ++------------------------------------------------------------------------------ +| Function : gdd_dio_con_mgr_close ++------------------------------------------------------------------------------ +| Description : Mark a connection as dead +| +| Parameters : con_handle - connection handle +| +| Returns : GDD_OK - OK +| >GDD_OK - Error ++------------------------------------------------------------------------------ +*/ +EXTERN GDD_RESULT gdd_dio_con_mgr_mark_dead( T_GDD_CON_HANDLE con_handle ); + + + +/* ++------------------------------------------------------------------------------ +| Function : gdd_dio_con_mgr_has_open_connection ++------------------------------------------------------------------------------ +| Description : Check if any of the connections is (still) open or in +| connecting state. +| +| Returns : TRUE - At least one connection is open +| FALSE - None of the connections is open ++------------------------------------------------------------------------------ +*/ +BOOL gdd_dio_con_mgr_has_open_connection( const T_GDD_DIO_DATA * gdd_dio_data ); + + +/* ++------------------------------------------------------------------------------ +| Function : get_con_data ++------------------------------------------------------------------------------ +| Description : Get the connection data for a given instance & handle +| +| Parameters : gdd_dio_data - pointer to instance data +| con_handle - output value: new conn. handle +| +| Returns : NULL - Connection not found / invalid handle +| NOT NULL - pointer to connection ++------------------------------------------------------------------------------ +*/ +EXTERN T_GDD_DIO_CON_DATA * get_con_data +( + const T_GDD_DIO_DATA * gdd_dio_data, + T_GDD_CON_HANDLE con_handle +); + + +/* ++------------------------------------------------------------------------------ +| Function : get_con_data_from_handle ++------------------------------------------------------------------------------ +| Description : Get the connection data for a given andle +| +| Parameters : con_handle - output value: new conn. handle +| +| Returns : NULL - Connection not found / invalid handle +| NOT NULL - pointer to connection ++------------------------------------------------------------------------------ +*/ +EXTERN T_GDD_DIO_CON_DATA * get_con_data_from_handle(T_GDD_CON_HANDLE con_handle); + + +/* ++------------------------------------------------------------------------------ +| Function : gdd_dio_send_signal_to_dio ++------------------------------------------------------------------------------ +| Description : Send a DIO signal via the specificed connection +| +| Parameters : con_data - pointer to the connection data +| sig_type - Signal type ++------------------------------------------------------------------------------ +*/ +EXTERN void gdd_dio_send_signal_to_dio(T_GDD_DIO_CON_DATA * con_data, U16 sig_type); + + +#endif /* !GDD_DIO_CON_MGR_H */ +