summaryrefslogtreecommitdiffstats
path: root/src/lib/krb5/rcache/rc_io.h
blob: f5ab2390382298f7e58c23a1bf29023f43efe2b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
/* lib/krb5/rcache/rc_io.h */
/*
 * This file of the Kerberos V5 software is derived from public-domain code
 * contributed by Daniel J. Bernstein, <brnstnd@acf10.nyu.edu>.
 *
 */

/*
 * Declarations for the I/O sub-package of the replay cache
 */

#ifndef KRB5_RC_IO_H
#define KRB5_RC_IO_H

typedef struct krb5_rc_iostuff {
    int fd;
#ifdef MSDOS_FILESYSTEM
    long mark;
#else
    off_t mark; /* on newer systems, should be pos_t */
#endif
    char *fn;
} krb5_rc_iostuff;

/* first argument is always iostuff for result file */

krb5_error_code
krb5_rc_io_creat(krb5_context, krb5_rc_iostuff *, char **);

krb5_error_code
krb5_rc_io_open(krb5_context, krb5_rc_iostuff *, char *);

krb5_error_code
krb5_rc_io_move(krb5_context, krb5_rc_iostuff *, krb5_rc_iostuff *);

krb5_error_code
krb5_rc_io_write(krb5_context, krb5_rc_iostuff *, krb5_pointer, unsigned int);

krb5_error_code
krb5_rc_io_read(krb5_context, krb5_rc_iostuff *, krb5_pointer, unsigned int);

krb5_error_code
krb5_rc_io_close(krb5_context, krb5_rc_iostuff *);

krb5_error_code
krb5_rc_io_destroy(krb5_context, krb5_rc_iostuff *);

krb5_error_code
krb5_rc_io_mark(krb5_context, krb5_rc_iostuff *);

krb5_error_code
krb5_rc_io_unmark(krb5_context, krb5_rc_iostuff *);

krb5_error_code
krb5_rc_io_sync(krb5_context, krb5_rc_iostuff *);

long
krb5_rc_io_size(krb5_context, krb5_rc_iostuff *);
#endif