GNU Linux-libre 4.14.290-gnu1
[releases.git] / drivers / isdn / hardware / eicon / um_idi.h
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