aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeal Walfield <[email protected]>2002-11-25 00:43:49 +0000
committerNeal Walfield <[email protected]>2002-11-25 00:43:49 +0000
commite9362321658a0bf228ee484953ef8e0f4c2a96b0 (patch)
treeb45051cc960cd7e6da325f936b7c0e75a7ae64c6
parentFix tyop. (diff)
downloadlibassuan-e9362321658a0bf228ee484953ef8e0f4c2a96b0.tar.gz
libassuan-e9362321658a0bf228ee484953ef8e0f4c2a96b0.zip
2002-11-24 Neal H. Walfield <[email protected]>
* assuan.h (assuan_command_parse_fd): New prototype. * assuan-handler.c (assuan_command_parse_fd): Rename from parse_cmd_input_output. Export. (std_handler_input): Update to use assuan_command_parse_fd. (std_handler_output): Likewise.
-rw-r--r--src/ChangeLog8
-rw-r--r--src/assuan-handler.c8
-rw-r--r--src/assuan.h6
3 files changed, 18 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 7a91f00..3fbe19d 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,13 @@
2002-11-24 Neal H. Walfield <[email protected]>
+ * assuan.h (assuan_command_parse_fd): New prototype.
+ * assuan-handler.c (assuan_command_parse_fd): Rename from
+ parse_cmd_input_output. Export.
+ (std_handler_input): Update to use assuan_command_parse_fd.
+ (std_handler_output): Likewise.
+
+2002-11-24 Neal H. Walfield <[email protected]>
+
* assuan.h (assuan_sendfd): New prototype.
(assuan_receivefd): New prototype.
* assuan-buffer.c (assuan_sendfd): New function.
diff --git a/src/assuan-handler.c b/src/assuan-handler.c
index 16838b2..532cafa 100644
--- a/src/assuan-handler.c
+++ b/src/assuan-handler.c
@@ -149,8 +149,8 @@ std_handler_end (ASSUAN_CONTEXT ctx, char *line)
return set_error (ctx, Not_Implemented, NULL);
}
-static int
-parse_cmd_input_output (ASSUAN_CONTEXT ctx, char *line, int *rfd)
+AssuanError
+assuan_command_parse_fd (ASSUAN_CONTEXT ctx, char *line, int *rfd)
{
char *endp;
@@ -183,7 +183,7 @@ std_handler_input (ASSUAN_CONTEXT ctx, char *line)
{
int rc, fd;
- rc = parse_cmd_input_output (ctx, line, &fd);
+ rc = assuan_command_parse_fd (ctx, line, &fd);
if (rc)
return rc;
ctx->input_fd = fd;
@@ -198,7 +198,7 @@ std_handler_output (ASSUAN_CONTEXT ctx, char *line)
{
int rc, fd;
- rc = parse_cmd_input_output (ctx, line, &fd);
+ rc = assuan_command_parse_fd (ctx, line, &fd);
if (rc)
return rc;
ctx->output_fd = fd;
diff --git a/src/assuan.h b/src/assuan.h
index 59cb153..37bdd69 100644
--- a/src/assuan.h
+++ b/src/assuan.h
@@ -155,6 +155,12 @@ AssuanError assuan_set_okay_line (ASSUAN_CONTEXT ctx, const char *line);
void assuan_write_status (ASSUAN_CONTEXT ctx,
const char *keyword, const char *text);
+/* Negotiate a file descriptor. If LINE contains "FD=N", returns N
+ assuming a local file descriptor. If LINE contains "FD" reads a
+ file descriptor via CTX and stores it in *RDF (the CTX must be
+ capable of passing file descriptors). */
+AssuanError assuan_command_parse_fd (ASSUAN_CONTEXT ctx, char *line,
+ int *rfd);
/*-- assuan-listen.c --*/
AssuanError assuan_set_hello_line (ASSUAN_CONTEXT ctx, const char *line);