From 02bc6e886c5248a5019298f72c26703f548a4533 Mon Sep 17 00:00:00 2001 From: Marcus Brinkmann Date: Wed, 18 Jun 2008 14:46:05 +0000 Subject: 2008-06-18 Marcus Brinkmann * sysutils.h (translate_table_init, translate_table_lookup): New prototypes. * sysutils.c: Include . (FD_TRANSLATE_MAX): New macro. (fd_translate, fd_translate_len): New static variables. (translate_table_init, translate_table_lookup): New functions. (translate_sys2libc_fd_int): Translate file descriptor. * iobuf.c (check_special_filename): Translate handle values from special filenames. --- common/sysutils.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'common/sysutils.h') diff --git a/common/sysutils.h b/common/sysutils.h index de1e3bb1e..9e0a323dd 100644 --- a/common/sysutils.h +++ b/common/sysutils.h @@ -43,6 +43,16 @@ int enable_core_dumps (void); const unsigned char *get_session_marker (size_t *rlen); /*int check_permissions (const char *path,int extension,int checkonly);*/ void gnupg_sleep (unsigned int seconds); + +/* Initialize the fd translation table. This reads one line from + stdin which is expected to be in the format "FROM TO [...]" where + each "FROM TO" pair are two handle numbers. Handle number FROM on + the command line is translated to handle number TO. */ +void translate_table_init (void); + +/* Translate a handle number. */ +int translate_table_lookup (int fd); + int translate_sys2libc_fd (gnupg_fd_t fd, int for_write); int translate_sys2libc_fd_int (int fd, int for_write); FILE *gnupg_tmpfile (void); -- cgit v1.2.3