Back to index

glibc  2.9
set-host.c File Reference
#include <fcntl.h>
#include <hurd.h>
#include "hurdhost.h"

Go to the source code of this file.


ssize_t _hurd_set_host_config (const char *item, const char *value, size_t valuelen)

Function Documentation

ssize_t _hurd_set_host_config ( const char *  item,
const char *  value,
size_t  valuelen 

Definition at line 25 of file set-host.c.

  error_t err;
  mach_msg_type_number_t nwrote;
  file_t new, dir;
  char *name;

  dir = __file_name_split (item, &name);
  if (dir == MACH_PORT_NULL)
    return -1;

  /* Create a new node.  */
  err = __dir_mkfile (dir, O_WRONLY, 0644, &new);
  if (! err)
      /* Write the contents.  */
      err = __io_write (new, value, valuelen, 0, &nwrote);
      if (! err)
       /* Atomically link the new node onto the name.  */
       err = __dir_link (dir, new, name, 0);
      __mach_port_deallocate (__mach_task_self (), new);
  __mach_port_deallocate (__mach_task_self (), dir);

  return err ? __hurd_fail (err) : nwrote;

Here is the call graph for this function:

Here is the caller graph for this function: