mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
gpgscm: Expose seek and associated constants.
* tests/gpgscm/ffi.c (do_seek): New function. (ffi_init): Expose 'seek' and 'SEEK_{SET,CUR,END}'. * tests/gpgscm/lib.scm: Document the new function. Signed-off-by: Justus Winter <justus@g10code.com>
This commit is contained in:
parent
d4454837cd
commit
591d61d80f
@ -325,6 +325,21 @@ do_close (scheme *sc, pointer args)
|
|||||||
FFI_RETURN_ERR (sc, close (fd) == 0 ? 0 : gpg_error_from_syserror ());
|
FFI_RETURN_ERR (sc, close (fd) == 0 ? 0 : gpg_error_from_syserror ());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static pointer
|
||||||
|
do_seek (scheme *sc, pointer args)
|
||||||
|
{
|
||||||
|
FFI_PROLOG ();
|
||||||
|
int fd;
|
||||||
|
off_t offset;
|
||||||
|
int whence;
|
||||||
|
FFI_ARG_OR_RETURN (sc, int, fd, number, args);
|
||||||
|
FFI_ARG_OR_RETURN (sc, off_t, offset, number, args);
|
||||||
|
FFI_ARG_OR_RETURN (sc, int, whence, number, args);
|
||||||
|
FFI_ARGS_DONE_OR_RETURN (sc, args);
|
||||||
|
FFI_RETURN_ERR (sc, lseek (fd, offset, whence) == (off_t) -1
|
||||||
|
? gpg_error_from_syserror () : 0);
|
||||||
|
}
|
||||||
|
|
||||||
static pointer
|
static pointer
|
||||||
do_mkdtemp (scheme *sc, pointer args)
|
do_mkdtemp (scheme *sc, pointer args)
|
||||||
{
|
{
|
||||||
@ -1309,6 +1324,9 @@ ffi_init (scheme *sc, const char *argv0, const char *scriptname,
|
|||||||
ffi_define_constant (sc, STDIN_FILENO);
|
ffi_define_constant (sc, STDIN_FILENO);
|
||||||
ffi_define_constant (sc, STDOUT_FILENO);
|
ffi_define_constant (sc, STDOUT_FILENO);
|
||||||
ffi_define_constant (sc, STDERR_FILENO);
|
ffi_define_constant (sc, STDERR_FILENO);
|
||||||
|
ffi_define_constant (sc, SEEK_SET);
|
||||||
|
ffi_define_constant (sc, SEEK_CUR);
|
||||||
|
ffi_define_constant (sc, SEEK_END);
|
||||||
|
|
||||||
ffi_define_function (sc, sleep);
|
ffi_define_function (sc, sleep);
|
||||||
ffi_define_function (sc, usleep);
|
ffi_define_function (sc, usleep);
|
||||||
@ -1320,6 +1338,7 @@ ffi_init (scheme *sc, const char *argv0, const char *scriptname,
|
|||||||
ffi_define_function (sc, open);
|
ffi_define_function (sc, open);
|
||||||
ffi_define_function (sc, fdopen);
|
ffi_define_function (sc, fdopen);
|
||||||
ffi_define_function (sc, close);
|
ffi_define_function (sc, close);
|
||||||
|
ffi_define_function (sc, seek);
|
||||||
ffi_define_function_name (sc, "_mkdtemp", mkdtemp);
|
ffi_define_function_name (sc, "_mkdtemp", mkdtemp);
|
||||||
ffi_define_function (sc, unlink);
|
ffi_define_function (sc, unlink);
|
||||||
ffi_define_function (sc, unlink_recursively);
|
ffi_define_function (sc, unlink_recursively);
|
||||||
|
@ -204,6 +204,14 @@
|
|||||||
;; Libc functions.
|
;; Libc functions.
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
;; Change the read/write offset.
|
||||||
|
(ffi-define (seek fd offset whence))
|
||||||
|
|
||||||
|
;; Constants for WHENCE.
|
||||||
|
(ffi-define SEEK_SET)
|
||||||
|
(ffi-define SEEK_CUR)
|
||||||
|
(ffi-define SEEK_END)
|
||||||
|
|
||||||
;; Get our process id.
|
;; Get our process id.
|
||||||
(ffi-define (getpid))
|
(ffi-define (getpid))
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user