1 /*
2  * lib/krb5/rcache/rc_io.h
3  *
4  * This file of the Kerberos V5 software is derived from public-domain code
5  * contributed by Daniel J. Bernstein, <brnstnd@acf10.nyu.edu>.
6  *
7  */
8 
9 /*
10  * Declarations for the I/O sub-package of the replay cache
11  */
12 
13 #ifndef KRB5_RC_IO_H
14 #define KRB5_RC_IO_H
15 
16 typedef struct krb5_rc_iostuff
17  {
18   int fd;
19 #ifdef MSDOS_FILESYSTEM
20   long mark;
21 #else
22   off_t mark; /* on newer systems, should be pos_t */
23 #endif
24   char *fn;
25  }
26 krb5_rc_iostuff;
27 
28 /* first argument is always iostuff for result file */
29 
30 krb5_error_code krb5_rc_io_creat
31 	(krb5_context,
32 		   krb5_rc_iostuff *,
33 		   char **);
34 krb5_error_code krb5_rc_io_open
35 	(krb5_context,
36 		   krb5_rc_iostuff *,
37 		   char *);
38 krb5_error_code krb5_rc_io_move
39 	(krb5_context,
40 		   krb5_rc_iostuff *,
41 		   krb5_rc_iostuff *);
42 krb5_error_code krb5_rc_io_write
43 	(krb5_context,
44 		   krb5_rc_iostuff *,
45 		   krb5_pointer,
46 		   unsigned int);
47 krb5_error_code krb5_rc_io_read
48 	(krb5_context,
49 		   krb5_rc_iostuff *,
50 		   krb5_pointer,
51 		   unsigned int);
52 krb5_error_code krb5_rc_io_close
53 	(krb5_context,
54 		   krb5_rc_iostuff *);
55 krb5_error_code krb5_rc_io_destroy
56 	(krb5_context,
57 		   krb5_rc_iostuff *);
58 krb5_error_code krb5_rc_io_mark
59 	(krb5_context,
60 		   krb5_rc_iostuff *);
61 krb5_error_code krb5_rc_io_unmark
62 	(krb5_context,
63 		   krb5_rc_iostuff *);
64 krb5_error_code krb5_rc_io_sync
65 	(krb5_context,
66 		   krb5_rc_iostuff *);
67 long krb5_rc_io_size
68 	(krb5_context,
69 		   krb5_rc_iostuff *);
70 #endif
71