/* file-names.h - decls for file-name manipulations
 *
 ****************************************************************
 * Copyright (C) 1998, 2000 Thomas Lord
 * 
 * See the file "COPYING" for further information about
 * the copyright and warranty status of this work.
 */


#ifndef INCLUDE__FS__FILE_NAMES_H
#define INCLUDE__FS__FILE_NAMES_H



#include "hackerlab/machine/types.h"
#include "hackerlab/mem/alloc-limits.h"


/* automatically generated __STDC__ prototypes */
extern t_uchar * file_name_home_directory (void);
extern int file_name_is_absolute (t_uchar * f);
extern t_uchar * file_name_tilde_expand (alloc_limits limits, t_uchar * fname);
extern t_uchar * file_name_tail (alloc_limits limits, t_uchar const * const fname);
extern t_uchar * file_name_head (alloc_limits limits, char * fname);
extern t_uchar * file_name_sans_head (alloc_limits limits, char * fname);
extern t_uchar * file_name_as_directory (alloc_limits limits, t_uchar * f);
extern t_uchar * file_name_from_directory (alloc_limits limits, t_uchar * f);
extern t_uchar * file_name_directory (alloc_limits limits, t_uchar * f);
extern t_uchar * file_name_directory_file (alloc_limits limits, t_uchar const * f);
extern int file_name_is_path_prefix (t_uchar * maybe_prefix, t_uchar * path);
extern t_uchar * talloc_file_name_in_vicinity (void * context,
                                        t_uchar const * dir,
                                        t_uchar const * name);
extern t_uchar * file_name_in_vicinity (alloc_limits limits,
                                        t_uchar const * dir,
                                        t_uchar const * name);
extern t_uchar ** path_parse (alloc_limits limits, t_uchar * path);
extern void free_path (alloc_limits limits, t_uchar ** path);
extern t_uchar * path_find_executable (alloc_limits limits,
                                       t_uchar ** path,
                                       t_uchar * tail);
#endif  /* INCLUDE__FS__FILE_NAMES_H */


syntax highlighted by Code2HTML, v. 0.9.1