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