#include <removefile.h>
removefile.h
enum(anonymous)
| REMOVEFILE_RECURSIVE | 1 | If path is a directory, recurse (depth first traversal) |
| REMOVEFILE_KEEP_PARENT | 2 | Remove contents but not directory itself |
| REMOVEFILE_SECURE_7_PASS | 4 | 7 pass DoD algorithm |
| REMOVEFILE_SECURE_35_PASS | 8 | 35-pass Gutmann algorithm (overrides REMOVEFILE_SECURE_7_PASS) |
| REMOVEFILE_SECURE_1_PASS | 16 | 1 pass single overwrite |
| REMOVEFILE_SECURE_3_PASS | 32 | 3 pass overwrite |
| REMOVEFILE_SECURE_1_PASS_ZERO | 64 | Single-pass overwrite, with 0 instead of random data |
| REMOVEFILE_CROSS_MOUNT | 128 | Cross mountpoints when deleting recursively. |
| REMOVEFILE_ALLOW_LONG_PATHS | 256 | Paths may be longer than PATH_MAX - requires temporarily changing cwd |
| REMOVEFILE_CLEAR_PURGEABLE | 512 | Clear purgeable on any directory encountered before deletion |
| REMOVEFILE_SYSTEM_DISCARDED | 1024 | File Discarded by system |
| REMOVEFILE_RECURSIVE_SLIM | 2048 | Slim implementation of dir removal, which iterates the directory in DFS, to reduce memory consumption. |
typedefremovefile_state_t
State object to pass in callback information
typedef struct _removefile_state * removefile_state_t
functionremovefile_state_alloc
removefile_state_t removefile_state_alloc(void)
functionremovefile_state_free
int removefile_state_free(removefile_state_t)
functionremovefile_state_get
int removefile_state_get(removefile_state_t state, uint32_t key, void * dst)
functionremovefile_state_set
int removefile_state_set(removefile_state_t state, uint32_t key, const void* value)
man page · August 4, 2023
removefile_state_set(3) — remove files or directoriesenum(anonymous)
| REMOVEFILE_STATE_CONFIRM_CALLBACK | 1 | removefile_callback_t |
| REMOVEFILE_STATE_CONFIRM_CONTEXT | 2 | void* |
| REMOVEFILE_STATE_ERROR_CALLBACK | 3 | removefile_callback_t |
| REMOVEFILE_STATE_ERROR_CONTEXT | 4 | void* |
| REMOVEFILE_STATE_ERRNO | 5 | int (read-only) |
| REMOVEFILE_STATE_STATUS_CALLBACK | 6 | removefile_callback_t |
| REMOVEFILE_STATE_STATUS_CONTEXT | 7 | void* |
| REMOVEFILE_STATE_FTSENT | 8 | FTSENT* |
typedefremovefile_callback_t
typedef int (*removefile_callback_t)(removefile_state_t state, const char *__unsafe_indexable path, void* context)
functionremovefile
int removefile( const char *__unsafe_indexable path, removefile_state_t state, removefile_flags_t flags )
functionremovefileat
int removefileat( int fd, const char *__unsafe_indexable path, removefile_state_t state, removefile_flags_t flags )
functionremovefile_cancel
int removefile_cancel(removefile_state_t state)