Changes are mostly to the dir structures and build system for ScriptFu. Some changes to the outer plugin source to call the library. Why: so that other executables (future gimp-scheme-interpreter, or a future separated script-fu-server) can exist in separate directories, and share the library in memory (when built shared.) Whether the library is built shared and installed on its own (versus static and not installed) is a compile time option (both automake LibTool and meson abstract it away) The default is shared and installed, say as libgimp-scriptfu-3.0.so. Installed alongside other shared libraries (e.g. wherever libgimp is installed) to simplify packaging. A preliminary refactoring which helps enable MR gimp!647
119 lines
4.1 KiB
Text
119 lines
4.1 KiB
Text
File and Time Extensions for TinyScheme (FTX) 1.0 [August, 2004]
|
|
|
|
Based on the TinyScheme Extensions (TSX) 1.1 [September, 2002]
|
|
(c) 2002 Manuel Heras-Gilsanz (manuel@heras-gilsanz.com)
|
|
|
|
This software is subject to the license terms contained in the
|
|
LICENSE file.
|
|
|
|
|
|
TSX FUNCTIONS
|
|
|
|
TSX incorporates the following functions:
|
|
|
|
*File system (included if HAVE_FILESYSTEM is defined in tsx.h)
|
|
|
|
Scheme already defines functions to read and write files. These
|
|
functions allow access to the filesystem to check if a certain
|
|
file exists, to get its size, etc.
|
|
|
|
In addition to these functions, a string constant DIR-SEPARATOR
|
|
has been defined. It should be used in scripts which build file
|
|
names that include one or more directories to keep the scripts
|
|
portable to different operating systems.
|
|
|
|
(file-exists? filename)
|
|
filename: string
|
|
|
|
This function returns #t if the indicated file exists, and
|
|
#f if it does not exist or if it is not accessible to the
|
|
requesting user. Accessibility is based on the real user
|
|
and group ID rather than the effective user ID and group ID.
|
|
|
|
(file-type filename)
|
|
filename: string
|
|
|
|
This function returns a value based on the file type. It
|
|
returns FILE_TYPE_FILE (1) for regular files, FILE_TYPE_DIR
|
|
(2) for directories, and FILE_TYPE_LINK (3) for symbolic
|
|
links. The value FILE_TYPE_OTHER (0) is returned if the file
|
|
is of some other type, does not exist, or if the user does
|
|
not have sufficient privileges to allow the file type to be
|
|
determined.
|
|
|
|
(file-size filename)
|
|
filename: string
|
|
|
|
This function returns the size (in bytes) of the
|
|
indicated file, or #f if the file does not exists or
|
|
is not accessible to the requesting user.
|
|
|
|
(file-delete filename)
|
|
filename: string
|
|
|
|
Removes the specified file. It returns #t if the operation
|
|
succeeds, or #f otherwise (e.g., because the file is
|
|
read-only, or because the file does not exist).
|
|
|
|
(dir-open-stream path)
|
|
path: string
|
|
|
|
Opens a "directory stream" on the provided directory path.
|
|
This stream will provide all the files within the directory,
|
|
using the function read-dir-entry. The stream should be closed
|
|
at the end with dir-close-stream.
|
|
|
|
(dir-read-entry dirstream)
|
|
dirstream: directory stream, obtained with dir-open-stream.
|
|
|
|
It returns the name of the following directory entry, or eof
|
|
if all the entries were provided. Check the return value with
|
|
with eof-object?.
|
|
|
|
(dir-rewind dirstream)
|
|
dirstream: directory stream, obtained with dir-open-stream.
|
|
|
|
Resets the given directory stream. The next call to dir-read-entry
|
|
will return the first entry again. It returns #t if the operation
|
|
succeeds, or #f otherwise (ie. dirstream not valid)..
|
|
|
|
(dir-close-stream dirstream)
|
|
dirstream: directory stream, obtained with dir-open-stream.
|
|
|
|
Close directory stream. No further calls to read-dir-entry should
|
|
be performed.
|
|
|
|
(dir-make dirname . mode)
|
|
dirname: string
|
|
mode: integer representing permissions
|
|
|
|
Create the directory specified, setting the directory permissions based
|
|
upon the optional mode argument (taking into account the current
|
|
umask). If no mode is specified then use the default (umask)
|
|
permissions. Returns #t if the operation succeeds, otherwise #f.
|
|
Possible reasons for failure are that the directory already exists,
|
|
the user is not authorized to create it, or the mode is incorrectly
|
|
specified).
|
|
|
|
*Time (available if HAVE_TIME is defined in tsx.h)
|
|
|
|
(time)
|
|
Returns the current local time, as a list of integer
|
|
containing:
|
|
(year month day-of-month hour min sec millisec)
|
|
The year is expressed as an offset from 1900.
|
|
|
|
(gettimeofday)
|
|
Returns a list containing the number of seconds from
|
|
the beginning of the day, and microseconds within the
|
|
current second.
|
|
|
|
(usleep microsec)
|
|
microsec: integer
|
|
|
|
Suspends execution of the calling thread during the
|
|
specified number of microseconds.
|
|
|
|
|
|
END
|
|
|