diff options
author | Michael I. Bushnell <mib@gnu.org> | 1996-07-18 04:35:29 +0000 |
---|---|---|
committer | Michael I. Bushnell <mib@gnu.org> | 1996-07-18 04:35:29 +0000 |
commit | 94cef36797600d11a50d09828fa80df8a73dfd1c (patch) | |
tree | b7cba9afef95489eedef534d3e6946eb13f595ba /libtreefs/nlist.c | |
parent | 88dbbbf9e48e24f1ac007c1e4eeffd9caf8e2fad (diff) | |
download | hurd-94cef36797600d11a50d09828fa80df8a73dfd1c.tar.gz hurd-94cef36797600d11a50d09828fa80df8a73dfd1c.tar.bz2 hurd-94cef36797600d11a50d09828fa80df8a73dfd1c.zip |
*** empty log message ***
Diffstat (limited to 'libtreefs/nlist.c')
-rw-r--r-- | libtreefs/nlist.c | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/libtreefs/nlist.c b/libtreefs/nlist.c new file mode 100644 index 00000000..326bb0f8 --- /dev/null +++ b/libtreefs/nlist.c @@ -0,0 +1,70 @@ +/* Functions for dealing with node lists + + Copyright (C) 1995 Free Software Foundation, Inc. + + Written by Miles Bader <miles@gnu.ai.mit.edu> + + This file is part of the GNU Hurd. + + The GNU Hurd is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2, or (at + your option) any later version. + + The GNU Hurd is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + +#include "treefs.h" + +/* ---------------------------------------------------------------- */ +struct treefs_node_list +{ + unsigned short num_nodes, nodes_alloced; + +}; + +/* Return a new node list, or NULL if a memory allocation error occurs. */ +struct treefs_node_list * +treefs_make_node_list () +{ + struct treefs_node_list *nl = malloc (sizeof (struct treefs_node_list)); + if (!nl) + return NULL; + + nl->nodes_alloced = 0; + nl->num_nodes = 0; + + return nl; +} + +/* Add NODE to LIST as NAME, replacing any existing entry. If OLD_NODE is + NULL, and an entry NAME already exists, EEXIST is returned, otherwise, any + previous child is replaced and returned in OLD_NODE. */ +error_t +treefs_node_list_add (struct treefs_node_list *list, char *name, + struct treefs_node *node, struct treefs_node **old_node) +{ + +} + +/* Remove any entry in LIST called NAME. If there is no such entry, ENOENT is + returned. If OLD_NODE is non-NULL, any removed entry is returned in it. */ +error_t +treefs_node_list_remove (struct treefs_node_list *list, char *name, + struct treefs_node **old_node) +{ +} + +/* Returns in NODE any entry called NAME in LIST, or NULL (and ENOENT) if + there isn't such. */ +error_t +treefs_node_list_get (struct treefs_node_list *list, char *name, + struct treefs_node **node) +{ +} |