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