1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* $Id: um_idi.h,v 1.6 2004/03/21 17:26:01 armin Exp $ */ 3 4 #ifndef __DIVA_USER_MODE_IDI_CORE_H__ 5 #define __DIVA_USER_MODE_IDI_CORE_H__ 6 7 8 /* 9 interface between UM IDI core and OS dependent part 10 */ 11 int diva_user_mode_idi_init(void); 12 void diva_user_mode_idi_finit(void); 13 void *divas_um_idi_create_entity(dword adapter_nr, void *file); 14 int divas_um_idi_delete_entity(int adapter_nr, void *entity); 15 16 typedef int (*divas_um_idi_copy_to_user_fn_t) (void *os_handle, 17 void *dst, 18 const void *src, 19 int length); 20 typedef int (*divas_um_idi_copy_from_user_fn_t) (void *os_handle, 21 void *dst, 22 const void *src, 23 int length); 24 25 int diva_um_idi_read(void *entity, 26 void *os_handle, 27 void *dst, 28 int max_length, divas_um_idi_copy_to_user_fn_t cp_fn); 29 30 int diva_um_idi_write(void *entity, 31 void *os_handle, 32 const void *src, 33 int length, divas_um_idi_copy_from_user_fn_t cp_fn); 34 35 int diva_user_mode_idi_ind_ready(void *entity, void *os_handle); 36 void *diva_um_id_get_os_context(void *entity); 37 int diva_os_get_context_size(void); 38 int divas_um_idi_entity_assigned(void *entity); 39 int divas_um_idi_entity_start_remove(void *entity); 40 41 void diva_um_idi_start_wdog(void *entity); 42 void diva_um_idi_stop_wdog(void *entity); 43 44 #endif 45