annotate zotnet/mf/mmdfI/src/uucp/ch_uucp.c @ 0:bce86c4163a3

Initial revision
author kono
date Mon, 18 Apr 2005 23:46:02 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1 #include "util.h"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
2 #include "mmdf.h"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
3 #include "ch.h"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
4 #include <signal.h>
bce86c4163a3 Initial revision
kono
parents:
diff changeset
5
bce86c4163a3 Initial revision
kono
parents:
diff changeset
6 /*
bce86c4163a3 Initial revision
kono
parents:
diff changeset
7 * C H _ U U C P . C
bce86c4163a3 Initial revision
kono
parents:
diff changeset
8 *
bce86c4163a3 Initial revision
kono
parents:
diff changeset
9 * Take message and feed a request to UUX
bce86c4163a3 Initial revision
kono
parents:
diff changeset
10 *
bce86c4163a3 Initial revision
kono
parents:
diff changeset
11 * qu2uu_send does the interesting work. This interface was developed
bce86c4163a3 Initial revision
kono
parents:
diff changeset
12 * for MMDF by Doug Kingston at the US Army Ballistics Research Lab,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
13 * Aberdeen, Maryland. <dpk@brl>
bce86c4163a3 Initial revision
kono
parents:
diff changeset
14 *
bce86c4163a3 Initial revision
kono
parents:
diff changeset
15 * Original Version 21 Oct 81
bce86c4163a3 Initial revision
kono
parents:
diff changeset
16 *
bce86c4163a3 Initial revision
kono
parents:
diff changeset
17 * Revision History
bce86c4163a3 Initial revision
kono
parents:
diff changeset
18 * ================
bce86c4163a3 Initial revision
kono
parents:
diff changeset
19 *
bce86c4163a3 Initial revision
kono
parents:
diff changeset
20 * 27-Oct-82 Marshall T. Rose <mrose%uci@rand-relay>
bce86c4163a3 Initial revision
kono
parents:
diff changeset
21 * Support proper munging by using the UCI mail filtering
bce86c4163a3 Initial revision
kono
parents:
diff changeset
22 * routines (enabled by #ifdef MF)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
23 *
bce86c4163a3 Initial revision
kono
parents:
diff changeset
24 * 17-Oct-83 Marshall T. Rose <mrose%uci@rand-relay>
bce86c4163a3 Initial revision
kono
parents:
diff changeset
25 * Major re-organization and some new interfacing.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
26 *
bce86c4163a3 Initial revision
kono
parents:
diff changeset
27 */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
28
bce86c4163a3 Initial revision
kono
parents:
diff changeset
29 /*
bce86c4163a3 Initial revision
kono
parents:
diff changeset
30 * MULTI-CHANNEL MEMO DISTRIBUTION FACILITY (MMDF)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
31 *
bce86c4163a3 Initial revision
kono
parents:
diff changeset
32 *
bce86c4163a3 Initial revision
kono
parents:
diff changeset
33 * Department of Electrical Engineering
bce86c4163a3 Initial revision
kono
parents:
diff changeset
34 * University of Delaware
bce86c4163a3 Initial revision
kono
parents:
diff changeset
35 * Newark, Delaware 19711
bce86c4163a3 Initial revision
kono
parents:
diff changeset
36 *
bce86c4163a3 Initial revision
kono
parents:
diff changeset
37 * Phone: (302) 738-1163
bce86c4163a3 Initial revision
kono
parents:
diff changeset
38 *
bce86c4163a3 Initial revision
kono
parents:
diff changeset
39 *
bce86c4163a3 Initial revision
kono
parents:
diff changeset
40 */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
41
bce86c4163a3 Initial revision
kono
parents:
diff changeset
42 /* */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
43
bce86c4163a3 Initial revision
kono
parents:
diff changeset
44 extern char logdfldir[];
bce86c4163a3 Initial revision
kono
parents:
diff changeset
45
bce86c4163a3 Initial revision
kono
parents:
diff changeset
46 extern struct ll_struct chanlog;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
47 struct ll_struct *logptr = &chanlog;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
48
bce86c4163a3 Initial revision
kono
parents:
diff changeset
49 char *dupfpath ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
50
bce86c4163a3 Initial revision
kono
parents:
diff changeset
51 /* */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
52
bce86c4163a3 Initial revision
kono
parents:
diff changeset
53 main (argc, argv)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
54 int argc;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
55 char **argv;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
56 {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
57 short retval;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
58 Chan * chanptr;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
59
bce86c4163a3 Initial revision
kono
parents:
diff changeset
60 ll_hdinit (logptr, "UU");
bce86c4163a3 Initial revision
kono
parents:
diff changeset
61 logptr -> ll_file = dupfpath (logptr -> ll_file, logdfldir);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
62
bce86c4163a3 Initial revision
kono
parents:
diff changeset
63 siginit ();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
64 signal (SIGINT, SIG_IGN);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
65
bce86c4163a3 Initial revision
kono
parents:
diff changeset
66 if ((chanptr = ch_nm2struct (*argv)) == (Chan *) NOTOK)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
67 err_abrt (RP_PARM, "unknown channel name '%s'", *argv);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
68
bce86c4163a3 Initial revision
kono
parents:
diff changeset
69 retval = ch_uucp (argc, argv, chanptr);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
70 ll_close (logptr);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
71
bce86c4163a3 Initial revision
kono
parents:
diff changeset
72 exit (retval);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
73 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
74
bce86c4163a3 Initial revision
kono
parents:
diff changeset
75 /* */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
76
bce86c4163a3 Initial revision
kono
parents:
diff changeset
77 ch_uucp (argc, argv, chanptr)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
78 int argc;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
79 char **argv;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
80 Chan * chanptr;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
81 {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
82 #ifdef DEBUG
bce86c4163a3 Initial revision
kono
parents:
diff changeset
83 logptr -> ll_level = LLOGBTR;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
84 ll_log (logptr, LLOGBTR, "ch_uucp(argc=%d,*argv='%s')", argc, *argv);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
85 #endif
bce86c4163a3 Initial revision
kono
parents:
diff changeset
86
bce86c4163a3 Initial revision
kono
parents:
diff changeset
87 if (rp_isbad (qu_init (argc, argv)))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
88 return RP_NO;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
89 if (rp_isbad (uu_init (chanptr)))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
90 return RP_NO;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
91
bce86c4163a3 Initial revision
kono
parents:
diff changeset
92 if (rp_isbad (qu2uu_send ()))
bce86c4163a3 Initial revision
kono
parents:
diff changeset
93 return RP_NO;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
94
bce86c4163a3 Initial revision
kono
parents:
diff changeset
95 qu_end (OK);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
96 uu_end (OK);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
97
bce86c4163a3 Initial revision
kono
parents:
diff changeset
98 return RP_OK;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
99 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
100
bce86c4163a3 Initial revision
kono
parents:
diff changeset
101 /* */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
102
bce86c4163a3 Initial revision
kono
parents:
diff changeset
103 err_abrt (code, fmt, b, c, d)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
104 short code;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
105 char fmt[],
bce86c4163a3 Initial revision
kono
parents:
diff changeset
106 b[],
bce86c4163a3 Initial revision
kono
parents:
diff changeset
107 c[],
bce86c4163a3 Initial revision
kono
parents:
diff changeset
108 d[];
bce86c4163a3 Initial revision
kono
parents:
diff changeset
109 {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
110 char linebuf[LINESIZE];
bce86c4163a3 Initial revision
kono
parents:
diff changeset
111
bce86c4163a3 Initial revision
kono
parents:
diff changeset
112 qu_end (NOTOK);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
113 uu_end (NOTOK);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
114
bce86c4163a3 Initial revision
kono
parents:
diff changeset
115 sprintf (linebuf, "%s%s", "[ABEND: %s]", fmt);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
116 ll_log (logptr, LLOGFAT, linebuf, rp_valstr (code), b, c, d);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
117 ll_close (logptr);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
118
bce86c4163a3 Initial revision
kono
parents:
diff changeset
119 exit (code);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
120 }