summaryrefslogtreecommitdiff
path: root/procfs_file.c
diff options
context:
space:
mode:
Diffstat (limited to 'procfs_file.c')
-rw-r--r--procfs_file.c54
1 files changed, 0 insertions, 54 deletions
diff --git a/procfs_file.c b/procfs_file.c
deleted file mode 100644
index cb0488e..0000000
--- 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);
-}
-