/usr/include/gnome-vfs-2.0/libgnomevfs/gnome-vfs-utils.h is in libgnomevfs2-dev 1:2.24.4-6+b1.
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 177 178 179 180 181 182 183 184 185 186 187 188 189 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/* gnome-vfs-utils.h - Public utility functions for the GNOME Virtual
File System.
Copyright (C) 1999 Free Software Foundation
Copyright (C) 2000 Eazel, Inc.
The Gnome Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The Gnome Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the Gnome Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
Authors: Ettore Perazzoli <ettore@comm2000.it>
John Sullivan <sullivan@eazel.com>
*/
#ifndef GNOME_VFS_UTILS_H
#define GNOME_VFS_UTILS_H
#include <glib.h>
#include <libgnomevfs/gnome-vfs-file-size.h>
#include <libgnomevfs/gnome-vfs-result.h>
#include <libgnomevfs/gnome-vfs-uri.h>
#include <libgnomevfs/gnome-vfs-handle.h>
G_BEGIN_DECLS
/**
* GnomeVFSMakeURIDirs:
* @GNOME_VFS_MAKE_URI_DIR_NONE: Don't check any directory
* @GNOME_VFS_MAKE_URI_DIR_HOMEDIR: Check the home directory
* @GNOME_VFS_MAKE_URI_DIR_CURRENT: Check the current direcotry
*
* Flags that can be passed to gnome_vfs_make_uri_from_input_with_dirs().
* If the given input might be a relative path it checks for existence of the file
* in the directory specified by this flag.
* If both flags are passed the current directory is checked first.
*
**/
typedef enum {
GNOME_VFS_MAKE_URI_DIR_NONE = 0,
GNOME_VFS_MAKE_URI_DIR_HOMEDIR = 1 << 0,
GNOME_VFS_MAKE_URI_DIR_CURRENT = 1 << 1
} GnomeVFSMakeURIDirs;
/* Makes a human-readable string. */
char *gnome_vfs_format_file_size_for_display (GnomeVFSFileSize size);
/* Converts unsafe characters to % sequences so the string can be
* used as a piece of a URI. Escapes all reserved URI characters.
*/
char *gnome_vfs_escape_string (const char *string);
/* Converts unsafe characters to % sequences so the path can be
* used as a piece of a URI. Escapes all reserved URI characters
* except for "/".
*/
char *gnome_vfs_escape_path_string (const char *path);
/* Converts unsafe characters to % sequences so the host/path segment
* can be used as a piece of a URI. Allows ":" and "@" in the host
* section (everything up to the first "/"), and after that, it behaves
* like gnome_vfs_escape_path_string.
*/
char *gnome_vfs_escape_host_and_path_string (const char *path);
/* Converts only slashes and % characters to % sequences. This is useful
* for code that wants to use an arbitrary string as a file name. To use
* it in a URI, you have to escape again, of course.
*/
char *gnome_vfs_escape_slashes (const char *string);
/* Escapes all the characters that match any of the @match_set */
char *gnome_vfs_escape_set (const char *string,
const char *match_set);
/* Returns NULL if any of the illegal character appear in escaped
* form. If the illegal characters are in there unescaped, that's OK.
* Typically you pass "/" for illegal characters when converting to a
* Unix path, since pieces of Unix paths can't contain "/". ASCII 0
* is always illegal due to the limitations of NULL-terminated strings.
*/
char *gnome_vfs_unescape_string (const char *escaped_string,
const char *illegal_characters);
/* returns a copy of uri, converted to a canonical form */
char *gnome_vfs_make_uri_canonical (const char *uri);
/* returns a copy of path, converted to a canonical form */
char *gnome_vfs_make_path_name_canonical (const char *path);
/* returns a copy of path, with initial ~ expanded, or just copy of path
* if there's no initial ~
*/
char *gnome_vfs_expand_initial_tilde (const char *path);
/* Prepare an escaped string for display. Unlike gnome_vfs_unescape_string,
* this doesn't return NULL if an illegal sequences appears in the string,
* instead doing its best to provide a useful result.
*/
char *gnome_vfs_unescape_string_for_display (const char *escaped);
/* Turn a "file://" URI in string form into a local path. Returns NULL
* if it's not a URI that can be converted.
*/
char *gnome_vfs_get_local_path_from_uri (const char *uri);
/* Turn a path into a "file://" URI. */
char *gnome_vfs_get_uri_from_local_path (const char *local_full_path);
/* Check whether a string starts with an executable command */
gboolean gnome_vfs_is_executable_command_string (const char *command_string);
/* Free the list, freeing each item data with a g_free */
void gnome_vfs_list_deep_free (GList *list);
/* Return amount of free space on target */
GnomeVFSResult gnome_vfs_get_volume_free_space (const GnomeVFSURI *vfs_uri,
GnomeVFSFileSize *size);
char *gnome_vfs_icon_path_from_filename (const char *filename);
/* Convert a file descriptor to a handle */
GnomeVFSResult gnome_vfs_open_fd (GnomeVFSHandle **handle,
int filedes);
/* TRUE if the current thread is the thread with the main glib event loop */
gboolean gnome_vfs_is_primary_thread (void);
/**
* GNOME_VFS_ASSERT_PRIMARY_THREAD:
*
* Asserts that the current thread is the thread with
* the main glib event loop
**/
#define GNOME_VFS_ASSERT_PRIMARY_THREAD g_assert (gnome_vfs_is_primary_thread())
/**
* GNOME_VFS_ASSERT_SECONDARY_THREAD:
*
* Asserts that the current thread is NOT the thread with
* the main glib event loop
**/
#define GNOME_VFS_ASSERT_SECONDARY_THREAD g_assert (!gnome_vfs_is_primary_thread())
/* Reads the contents of an entire file into memory */
GnomeVFSResult gnome_vfs_read_entire_file (const char *uri,
int *file_size,
char **file_contents);
char * gnome_vfs_format_uri_for_display (const char *uri);
char * gnome_vfs_make_uri_from_input (const char *location);
char * gnome_vfs_make_uri_from_input_with_trailing_ws
(const char *location);
char * gnome_vfs_make_uri_from_input_with_dirs (const char *location,
GnomeVFSMakeURIDirs dirs);
char * gnome_vfs_make_uri_canonical_strip_fragment (const char *uri);
gboolean gnome_vfs_uris_match (const char *uri_1,
const char *uri_2);
char * gnome_vfs_get_uri_scheme (const char *uri);
char * gnome_vfs_make_uri_from_shell_arg (const char *uri);
#ifndef GNOME_VFS_DISABLE_DEPRECATED
char * gnome_vfs_make_uri_full_from_relative (const char *base_uri,
const char *relative_uri);
#endif /* GNOME_VFS_DISABLE_DEPRECATED */
GnomeVFSResult gnome_vfs_url_show (const char *url);
GnomeVFSResult gnome_vfs_url_show_with_env (const char *url,
char **envp);
G_END_DECLS
#endif /* GNOME_VFS_UTILS_H */
|