summaryrefslogtreecommitdiff
path: root/gnu/libexec/uucp/common_sources/uuconf.h
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/libexec/uucp/common_sources/uuconf.h')
-rw-r--r--gnu/libexec/uucp/common_sources/uuconf.h60
1 files changed, 51 insertions, 9 deletions
diff --git a/gnu/libexec/uucp/common_sources/uuconf.h b/gnu/libexec/uucp/common_sources/uuconf.h
index 4bf6bccbf3f2c..1710568d499af 100644
--- a/gnu/libexec/uucp/common_sources/uuconf.h
+++ b/gnu/libexec/uucp/common_sources/uuconf.h
@@ -1,7 +1,7 @@
/* uuconf.h
Header file for UUCP configuration routines.
- Copyright (C) 1992 Ian Lance Taylor
+ Copyright (C) 1992, 1993, 1994 Ian Lance Taylor
This file is part of the Taylor UUCP uuconf library.
@@ -26,7 +26,7 @@
informative, and does not modify the License in any way).
The author of the program may be contacted at ian@airs.com or
- c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254.
+ c/o Cygnus Support, Building 200, 1 Kendall Square, Cambridge, MA 02139.
*/
#ifndef UUCONF_H
@@ -348,7 +348,9 @@ enum uuconf_porttype
/* A TCP port. Not supported on all systems. */
UUCONF_PORTTYPE_TCP,
/* A TLI port. Not supported on all systems. */
- UUCONF_PORTTYPE_TLI
+ UUCONF_PORTTYPE_TLI,
+ /* A pipe port. Not supported on all systems. */
+ UUCONF_PORTTYPE_PIPE
};
/* Additional information for a stdin port (there is none). */
@@ -377,6 +379,8 @@ struct uuconf_modem_port
long uuconf_ihighbaud;
/* Non-zero if the port supports carrier detect. */
int uuconf_fcarrier;
+ /* Non-zero if the port supports hardware flow control. */
+ int uuconf_fhardflow;
/* A NULL terminated sequence of dialer/token pairs (element 0 is a
dialer name, element 1 is a token, etc.) May be NULL, in which
case qdialer should not be NULL. */
@@ -394,6 +398,10 @@ struct uuconf_direct_port
char *uuconf_zdevice;
/* The baud rate (speed). */
long uuconf_ibaud;
+ /* Non-zero if the port uses carrier detect. */
+ int uuconf_fcarrier;
+ /* Non-zero if the port supports hardware flow control. */
+ int uuconf_fhardflow;
};
/* Additional information for a TCP port. */
@@ -403,6 +411,9 @@ struct uuconf_tcp_port
/* The TCP port number to use. May be a name or a number. May be
NULL, in which case "uucp" is looked up using getservbyname. */
char *uuconf_zport;
+ /* A NULL terminated sequence of dialer/token pairs (element 0 is a
+ dialer name, element 1 is a token, etc.) May be NULL. */
+ char **uuconf_pzdialer;
};
/* Additional information for a TLI port. */
@@ -431,6 +442,14 @@ struct uuconf_tli_port
char *uuconf_zservaddr;
};
+/* Additional information for a pipe port. */
+
+struct uuconf_pipe_port
+{
+ /* The command and its arguments. */
+ char **uuconf_pzcmd;
+};
+
/* Information kept for a port. */
struct uuconf_port
@@ -460,6 +479,7 @@ struct uuconf_port
struct uuconf_direct_port uuconf_sdirect;
struct uuconf_tcp_port uuconf_stcp;
struct uuconf_tli_port uuconf_stli;
+ struct uuconf_pipe_port uuconf_spipe;
} uuconf_u;
};
@@ -545,6 +565,13 @@ struct uuconf_dialer
be b1 - b2. */
#define UUCONF_GRADE_CMP(b1, b2) (uuconf_grade_cmp ((b1), (b2)))
+/* uuconf_runuuxqt returns either a positive number (the number of
+ execution files to receive between uuxqt invocations) or one of
+ these constant values. */
+#define UUCONF_RUNUUXQT_NEVER (0)
+#define UUCONF_RUNUUXQT_ONCE (-1)
+#define UUCONF_RUNUUXQT_PERCALL (-2)
+
/* Most of the uuconf functions returns an error code. A value of
zero (UUCONF_SUCCESS) indicates success. */
@@ -849,15 +876,29 @@ extern int uuconf_debuglevel (void *uuconf_pglobal,
extern int uuconf_maxuuxqts (void *uuconf_pglobal,
int *uuconf_pcmaxuuxqt);
+/* Get the frequency with which to spawn a uuxqt process. This
+ returns an integer. A positive number is the number of execution
+ files that should be received between spawns. Other values are one
+ of the UUCONF_RUNUUXQT constants listed above. */
+extern int uuconf_runuuxqt (void *uuconf_pglobal,
+ int *uuconf_pirunuuxqt);
+
/* Check a login name and password. This checks the Taylor UUCP
password file (not /etc/passwd). It will work even if
- uuconf_taylor_init was not called. If the login name exists and
- the password is correct, this returns UUCONF_SUCCESS. If the login
- does not exist, or the password is wrong, this returns
- UUCONF_NOT_FOUND. Other errors are also possible. */
+ uuconf_taylor_init was not called. All comparisons are done via a
+ callback function. The first argument to the function will be zero
+ when comparing login names, non-zero when comparing passwords. The
+ second argument to the function will be the pinfo argument passed
+ to uuconf_callin. The third argument will be the login name or
+ password from the UUCP password file. The comparison function
+ should return non-zero for a match, or zero for a non-match. If
+ the login name is found and the password compares correctly,
+ uuconf_callin will return UUCONF_SUCCESS. If the login is not
+ found, or the password does not compare correctly, uuconf_callin
+ will return UUCONF_NOT_FOUND. Other errors are also possible. */
extern int uuconf_callin (void *uuconf_pglobal,
- const char *uuconf_zlogin,
- const char *uuconf_zpassword);
+ int (*uuconf_cmp) (int, void *, const char *),
+ void *uuconf_pinfo);
/* Get the callout login name and password for a system. This will
set both *pzlog and *pzpass to a string allocated by malloc, or to
@@ -922,6 +963,7 @@ extern int uuconf_statsfile ();
extern int uuconf_debugfile ();
extern int uuconf_debuglevel ();
extern int uuconf_maxuuxqts ();
+extern int uuconf_runuuxqt ();
extern int uuconf_callin ();
extern int uuconf_callout ();
extern int uuconf_remote_unknown ();