/usr/include/FL/filename.H is in libfltk1.3-dev 1.3.2-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | /*
* "$Id: filename.H 9704 2012-10-19 11:23:51Z manolo $"
*
* Filename header file for the Fast Light Tool Kit (FLTK).
*
* Copyright 1998-2010 by Bill Spitzak and others.
*
* This library is free software. Distribution and use rights are outlined in
* the file "COPYING" which should have been included with this file. If this
* file is missing or damaged, see the license at:
*
* http://www.fltk.org/COPYING.php
*
* Please report all bugs and problems on the following page:
*
* http://www.fltk.org/str.php
*/
/** \file
File names and URI utility functions.
*/
/* Xcode on OS X includes files by recursing down into directories.
* This code catches the cycle and directly includes the required file.
*/
#ifdef fl_dirent_h_cyclic_include
# include "/usr/include/dirent.h"
#endif
#ifndef FL_FILENAME_H
# define FL_FILENAME_H
# include "Fl_Export.H"
/** \addtogroup filenames File names and URI utility functions
File names and URI functions defined in <FL/filename.H>
@{ */
# define FL_PATH_MAX 2048 /**< all path buffers should use this length */
/** Gets the file name from a path.
Similar to basename(3), exceptions shown below.
\code
#include <FL/filename.H>
[..]
const char *out;
out = fl_filename_name("/usr/lib"); // out="lib"
out = fl_filename_name("/usr/"); // out="" (basename(3) returns "usr" instead)
out = fl_filename_name("/usr"); // out="usr"
out = fl_filename_name("/"); // out="" (basename(3) returns "/" instead)
out = fl_filename_name("."); // out="."
out = fl_filename_name(".."); // out=".."
\endcode
\return a pointer to the char after the last slash, or to \p filename if there is none.
*/
FL_EXPORT const char *fl_filename_name(const char * filename);
FL_EXPORT const char *fl_filename_ext(const char *buf);
FL_EXPORT char *fl_filename_setext(char *to, int tolen, const char *ext);
FL_EXPORT int fl_filename_expand(char *to, int tolen, const char *from);
FL_EXPORT int fl_filename_absolute(char *to, int tolen, const char *from);
FL_EXPORT int fl_filename_relative(char *to, int tolen, const char *from);
FL_EXPORT int fl_filename_match(const char *name, const char *pattern);
FL_EXPORT int fl_filename_isdir(const char *name);
# if defined(__cplusplus) && !defined(FL_DOXYGEN)
/*
* Under WIN32, we include filename.H from numericsort.c; this should probably change...
*/
inline char *fl_filename_setext(char *to, const char *ext) { return fl_filename_setext(to, FL_PATH_MAX, ext); }
inline int fl_filename_expand(char *to, const char *from) { return fl_filename_expand(to, FL_PATH_MAX, from); }
inline int fl_filename_absolute(char *to, const char *from) { return fl_filename_absolute(to, FL_PATH_MAX, from); }
FL_EXPORT int fl_filename_relative(char *to, int tolen, const char *from, const char *cwd);
inline int fl_filename_relative(char *to, const char *from) { return fl_filename_relative(to, FL_PATH_MAX, from); }
# endif /* __cplusplus */
# if defined(WIN32) && !defined(__MINGW32__) && !defined(__CYGWIN__) && !defined(__WATCOMC__)
struct dirent {char d_name[1];};
# elif defined(__WATCOMC__)
# include <sys/types.h>
# include <direct.h>
# else
/*
* WARNING: on some systems (very few nowadays?) <dirent.h> may not exist.
* The correct information is in one of these files:
*
* #include <sys/ndir.h>
* #include <sys/dir.h>
* #include <ndir.h>
*
* plus you must do the following #define:
*
* #define dirent direct
*
* It would be best to create a <dirent.h> file that does this...
*/
# include <sys/types.h>
# define fl_dirent_h_cyclic_include
# include <dirent.h>
# undef fl_dirent_h_cyclic_include
# endif
# if defined (__cplusplus)
extern "C" {
# endif /* __cplusplus */
# if !defined(FL_DOXYGEN)
FL_EXPORT int fl_alphasort(struct dirent **, struct dirent **);
FL_EXPORT int fl_casealphasort(struct dirent **, struct dirent **);
FL_EXPORT int fl_casenumericsort(struct dirent **, struct dirent **);
FL_EXPORT int fl_numericsort(struct dirent **, struct dirent **);
# endif
typedef int (Fl_File_Sort_F)(struct dirent **, struct dirent **); /**< File sorting function. \see fl_filename_list() */
# if defined(__cplusplus)
}
/*
* Portable "scandir" function. Ugly but necessary...
*/
FL_EXPORT int fl_filename_list(const char *d, struct dirent ***l,
Fl_File_Sort_F *s = fl_numericsort);
FL_EXPORT void fl_filename_free_list(struct dirent ***l, int n);
/*
* Generic function to open a Uniform Resource Identifier (URI) using a
* system-defined program (added in FLTK 1.1.8)
*/
FL_EXPORT int fl_open_uri(const char *uri, char *msg = (char *)0,
int msglen = 0);
FL_EXPORT void fl_decode_uri(char *uri);
# ifndef FL_DOXYGEN
/*
* _fl_filename_isdir_quick() is a private function that checks for a
* trailing slash and assumes that the passed name is a directory if
* it finds one. This function is used by Fl_File_Browser and
* Fl_File_Chooser to avoid extra stat() calls, but is not supported
* outside of FLTK...
*/
int _fl_filename_isdir_quick(const char *name);
# endif
# endif /* __cplusplus */
/*
* FLTK 1.0.x compatibility definitions...
*/
# ifdef FLTK_1_0_COMPAT
# define filename_absolute fl_filename_absolute
# define filename_expand fl_filename_expand
# define filename_ext fl_filename_ext
# define filename_isdir fl_filename_isdir
# define filename_list fl_filename_list
# define filename_match fl_filename_match
# define filename_name fl_filename_name
# define filename_relative fl_filename_relative
# define filename_setext fl_filename_setext
# define numericsort fl_numericsort
# endif /* FLTK_1_0_COMPAT */
#endif /* FL_FILENAME_H */
/** @} */
/*
* End of "$Id: filename.H 9704 2012-10-19 11:23:51Z manolo $".
*/
|