XROAD
xroad_file.h
Go to the documentation of this file.
1 
6 #pragma once
7 
8 #include "xroad_string.h"
9 
10 #ifdef __cplusplus
11 extern "C"
12 {
13 #endif
14 
15 typedef struct xroad_file_s xroad_file_t;
16 
20 typedef struct
21 {
22  void* ctx;
23  void (*on_read)(xroad_file_t*, off_t, void*, size_t, void*);
24  void (*on_read_error)(xroad_file_t*, int32_t, void*);
25  void (*on_canceled)(xroad_file_t*, void*);
27 
31 typedef struct
32 {
33  void* ctx;
34  void (*on_write)(xroad_file_t*, off_t, size_t, void*);
35  void (*on_write_error)(xroad_file_t*, int32_t, void*);
36  void (*on_canceled)(xroad_file_t*, void*);
38 
47 xroad_file_t* xroad_file_create(xroad_str_t name, int32_t signal, int32_t flags, mode_t mode);
48 
54 xroad_errno_t xroad_file_destroy(xroad_file_t* file);
55 
59 #define __xroad_file_dtor__ __dtor__(xroad_file_destructor)
60 void xroad_file_destructor(xroad_file_t** file);
61 
67 int32_t xroad_file_cancel(xroad_file_t* file);
68 
74 uint32_t xroad_file_get_req_cnt(xroad_file_t* file);
75 
84 xroad_errno_t xroad_file_read(xroad_file_t* f, off_t offset, void* buf, size_t len, xroad_file_rcallback_t callback);
85 
94 xroad_errno_t xroad_file_write(xroad_file_t* f, off_t offset, void* buf, size_t len, xroad_file_wcallback_t callback);
95 
96 #ifdef __cplusplus
97 }
98 #endif
Definition: xroad_file.h:21
void * ctx
read context
Definition: xroad_file.h:22
Definition: xroad_file.h:32
void * ctx
write context
Definition: xroad_file.h:33
Definition: xroad_string.h:29
xroad_errno_t xroad_file_destroy(xroad_file_t *file)
int32_t xroad_file_cancel(xroad_file_t *file)
xroad_errno_t xroad_file_read(xroad_file_t *f, off_t offset, void *buf, size_t len, xroad_file_rcallback_t callback)
xroad_file_t * xroad_file_create(xroad_str_t name, int32_t signal, int32_t flags, mode_t mode)
xroad_errno_t xroad_file_write(xroad_file_t *f, off_t offset, void *buf, size_t len, xroad_file_wcallback_t callback)
uint32_t xroad_file_get_req_cnt(xroad_file_t *file)