diff options
Diffstat (limited to 'procfs_file.c')
-rw-r--r-- | procfs_file.c | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/procfs_file.c b/procfs_file.c deleted file mode 100644 index cb0488e9..00000000 --- a/procfs_file.c +++ /dev/null @@ -1,54 +0,0 @@ -#include <hurd/hurd_types.h> -#include <stdlib.h> -#include <string.h> -#include "procfs.h" -#include "procfs_file.h" - -struct procfs_file -{ - void *contents; - size_t len; - void (*cleanup)(void *contents); -}; - -error_t -procfs_file_getcontents (void *hook, void **contents, size_t *contents_len) -{ - struct procfs_file *f = hook; - - *contents = f->contents; - *contents_len = f->len; - return 0; -} - -void -procfs_file_cleanup (void *hook) -{ - struct procfs_file *f = hook; - - if (f->cleanup) - f->cleanup (f->contents); - - free (f); -} - -struct node * -procfs_file_make_node (void *contents, ssize_t len, void (*cleanup)(void *)) -{ - static const struct procfs_node_ops ops = { - .get_contents = procfs_file_getcontents, - .cleanup = procfs_file_cleanup, - }; - struct procfs_file *f; - - f = malloc (sizeof *f); - if (! f) - return NULL; - - f->contents = contents; - f->len = (len >= 0) ? len : strlen (f->contents); - f->cleanup = cleanup; - - return procfs_make_node (&ops, f); -} - |