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