Coverage for src / cufile_patcher / bindings.py: 100%

20 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-04-11 15:06 +0000

1from __future__ import annotations 

2 

3import ctypes 

4 

5from .cufile_types import CUfileDescr, CUfileError, CUfileHandle_t, DescrUnion 

6from .plugins import CuFileBackend 

7from .registry import get_default_backend, register_backend, set_default_backend 

8 

9 

10def _backend() -> CuFileBackend: 

11 return get_default_backend() 

12 

13 

14def cuFileDriverOpen() -> None: 

15 _backend().driver_open() 

16 

17 

18def cuFileDriverClose() -> None: 

19 _backend().driver_close() 

20 

21 

22def cuFileHandleRegister(fd: int) -> CUfileHandle_t: 

23 return _backend().handle_register(fd) 

24 

25 

26def cuFileHandleDeregister(handle: CUfileHandle_t) -> None: 

27 _backend().handle_deregister(handle) 

28 

29 

30def cuFileRead( 

31 handle: CUfileHandle_t, 

32 buf: ctypes.c_void_p, 

33 size: int, 

34 file_offset: int, 

35 dev_offset: int, 

36) -> int: 

37 return _backend().read(handle, buf, size, file_offset, dev_offset) 

38 

39 

40def cuFileWrite( 

41 handle: CUfileHandle_t, 

42 buf: ctypes.c_void_p, 

43 size: int, 

44 file_offset: int, 

45 dev_offset: int, 

46) -> int: 

47 return _backend().write(handle, buf, size, file_offset, dev_offset) 

48 

49 

50__all__ = [ 

51 "CUfileDescr", 

52 "CUfileError", 

53 "CUfileHandle_t", 

54 "DescrUnion", 

55 "cuFileDriverClose", 

56 "cuFileDriverOpen", 

57 "cuFileHandleDeregister", 

58 "cuFileHandleRegister", 

59 "cuFileRead", 

60 "cuFileWrite", 

61 "get_default_backend", 

62 "register_backend", 

63 "set_default_backend", 

64]