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