netatalk
4.6.0
Free and Open Source Apple Filing Protocol (AFP) Server
Toggle main menu visibility
Loading...
Searching...
No Matches
faultinject.h
Go to the documentation of this file.
1
/*
2
Copyright (c) 2026 Andy Lemin (andylemin)
3
4
This program is free software; you can redistribute it and/or modify
5
it under the terms of the GNU General Public License as published by
6
the Free Software Foundation; either version 2 of the License, or
7
(at your option) any later version.
8
9
This program is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
GNU General Public License for more details.
13
*/
14
15
#ifndef FAULTINJECT_H
16
#define FAULTINJECT_H
17
18
#include <sys/types.h>
/* off_t */
19
32
33
struct
fault_inject
{
34
int
open_armed
;
35
int
open_fail_after
;
36
int
open_errno
;
37
int
open_calls
;
38
int
open_last_flags
;
39
int
close_armed
;
40
int
close_fail_after
;
41
int
close_errno
;
42
int
fcntl_armed
;
43
int
fcntl_fail_after
;
44
int
fcntl_errno
;
45
/* Observe the lock calls a probe issues, so a test can assert HOW it probed
46
* (count, range, type), not just the result. Updated on every F_GETLK/F_SETLK
47
* fcntl when fcntl_watch is set; reset by fault_inject_reset(). */
48
int
fcntl_watch
;
49
int
getlk_calls
;
50
int
setlk_calls
;
51
int
lock_last_type
;
52
off_t
lock_last_start
;
53
off_t
lock_last_len
;
54
int
fchdir_armed
;
55
int
fchdir_fail_after
;
56
int
fchdir_errno
;
57
};
58
59
extern
struct
fault_inject
fi
;
60
61
void
fault_inject_reset
(
void
);
62
63
int
faultinject_open_works
(
const
char
*scratch_path);
64
65
#endif
/* FAULTINJECT_H */
fi
struct fault_inject fi
Definition
faultinject.c:58
faultinject_open_works
int faultinject_open_works(const char *scratch_path)
Is the LD_PRELOAD open() interposer active on this platform?
Definition
faultinject.c:76
fault_inject_reset
void fault_inject_reset(void)
Definition
faultinject.c:60
fault_inject
Definition
faultinject.h:33
fault_inject::open_errno
int open_errno
Definition
faultinject.h:36
fault_inject::open_last_flags
int open_last_flags
Definition
faultinject.h:38
fault_inject::fcntl_fail_after
int fcntl_fail_after
Definition
faultinject.h:43
fault_inject::lock_last_len
off_t lock_last_len
Definition
faultinject.h:53
fault_inject::fchdir_errno
int fchdir_errno
Definition
faultinject.h:56
fault_inject::close_armed
int close_armed
Definition
faultinject.h:39
fault_inject::fcntl_armed
int fcntl_armed
Definition
faultinject.h:42
fault_inject::fcntl_watch
int fcntl_watch
Definition
faultinject.h:48
fault_inject::lock_last_start
off_t lock_last_start
Definition
faultinject.h:52
fault_inject::open_calls
int open_calls
Definition
faultinject.h:37
fault_inject::fchdir_armed
int fchdir_armed
Definition
faultinject.h:54
fault_inject::fchdir_fail_after
int fchdir_fail_after
Definition
faultinject.h:55
fault_inject::setlk_calls
int setlk_calls
Definition
faultinject.h:50
fault_inject::close_errno
int close_errno
Definition
faultinject.h:41
fault_inject::open_armed
int open_armed
Definition
faultinject.h:34
fault_inject::lock_last_type
int lock_last_type
Definition
faultinject.h:51
fault_inject::fcntl_errno
int fcntl_errno
Definition
faultinject.h:44
fault_inject::close_fail_after
int close_fail_after
Definition
faultinject.h:40
fault_inject::open_fail_after
int open_fail_after
Definition
faultinject.h:35
fault_inject::getlk_calls
int getlk_calls
Definition
faultinject.h:49
test
afpd
faultinject.h
Generated by
1.18.0