10 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
13 #include <config/fault.h>
15 extern int inject_fault_nonzero ( unsigned int rate );
16 extern void inject_corruption_nonzero ( unsigned int rate, const void *data,
20 * Inject fault with a specified probability
22 * @v rate Reciprocal of fault probability (zero for no faults)
23 * @ret rc Return status code
25 static inline __attribute__ (( always_inline )) int
26 inject_fault ( unsigned int rate ) {
28 /* Force dead code elimination in non-fault-injecting builds */
32 return inject_fault_nonzero ( rate );
36 * Corrupt data with a specified probability
38 * @v rate Reciprocal of fault probability (zero for no faults)
40 * @v len Length of data
41 * @ret rc Return status code
43 static inline __attribute__ (( always_inline )) void
44 inject_corruption ( unsigned int rate, const void *data, size_t len ) {
46 /* Force dead code elimination in non-fault-injecting builds */
50 return inject_corruption_nonzero ( rate, data, len );
53 #endif /* _IPXE_FAULT_H */