Fixed Doxygen comments
[yaz-moved-to-github.git] / include / yaz / tpath.h
index e6b240e..ae7f7c2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995-2003, Index Data.
+ * Copyright (C) 1995-2006, Index Data ApS
  *
  * Permission to use, copy, modify, distribute, and sell this software and
  * its documentation, in whole or in part, for any purpose, is hereby granted,
  * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
  * OF THIS SOFTWARE.
  *
- * $Id: tpath.h,v 1.5 2003-01-06 08:20:27 adam Exp $
+ * $Id: tpath.h,v 1.11 2006-05-02 12:11:08 adam Exp $
  *
  */
+/**
+ * \file tpath.h
+ * \brief File Path utilities
+ */
 
 #ifndef TPATH_H
 #define TPATH_H
 
 #include <yaz/yconfig.h>
+#include <stdio.h>
 
 YAZ_BEGIN_CDECL
 
-YAZ_EXPORT FILE *yaz_fopen(const char *path, const char *name,
+/** \brief checks whether path is absolute
+    \param path path to checked
+
+    Returns 1 if path is absolute, 0 if relative
+*/
+YAZ_EXPORT int yaz_is_abspath (const char *path);
+
+/** \brief resolve file on path 
+    \param fname "short" filename (without path)
+    \param path the path (dir1:dir2,..) - ala Unix
+    \param base can be added to relative paths (NULL for no append)
+    \param fullpath the full path to filename (if succesful)
+
+    Returns 0/NULL if no fname could be found in path; 
+    pointer to fullpath if fname could be found.
+    We assume fullpath is 1024 bytes in length!
+*/
+YAZ_EXPORT char *yaz_filepath_resolve(const char *fname, const char *path,
+                                      const char *base, char *fullpath);
+
+
+/** \brief opens first file in path in path 
+    \param fname "short" filename (without path)
+    \param mode mode as in fopen(3)
+    \param path the path (dir1:dir2,..) - ala Unix
+    \param base can be added to relative paths (NULL for no append)
+
+    Returns 0/NULL if no fname could be found in path; 
+    FILE pointer if fname could be found.
+*/
+YAZ_EXPORT FILE *yaz_fopen(const char *path, const char *fname,
                            const char *mode, const char *base);
-YAZ_EXPORT FILE *yaz_path_fopen(const char *path, const char *name,
-                           const char *mode);
 
+/** \brief opens first file in path in path 
+    \param fname "short" filename (without path)
+    \param mode mode as in fopen(3)
+    \param path the path (dir1:dir2,..) - ala Unix
+
+    Returns 0/NULL if no fname could be found in path; 
+    FILE pointer if fname could be found.
+*/
+YAZ_EXPORT FILE *yaz_path_fopen(const char *path, const char *fname,
+                                const char *mode);
+
+/** \brief closes file
+    \param f FILE handle
+
+    Returns -1 on failure; 0 on success
+*/
 YAZ_EXPORT int yaz_fclose(FILE *f);
 
-YAZ_EXPORT int yaz_is_abspath (const char *p);
 
 YAZ_END_CDECL
 
 #endif
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+