ucspi-tcp6
1.13.02
ucspi-tcp6
Loading...
Searching...
No Matches
ucspi-tcp6-1.13.02
src
mconnect-io.c
Go to the documentation of this file.
1
#include "sig.h"
2
#include "wait.h"
3
#include "fork.h"
4
#include "buffer.h"
5
#include "logmsg.h"
6
#include "exit.h"
7
8
#define WHO "mconnect-io"
9
10
extern
int
kill
(
int
,
int
);
11
12
char
outbuf
[512];
13
buffer
bo
;
14
15
char
inbuf
[512];
16
buffer
bi
;
17
18
ssize_t
myread
(
int
fd,
char
*buf,
int
len)
19
{
20
buffer_flush(&
bo
);
21
return
read
(fd,buf,len);
22
}
23
24
int
main
()
25
{
26
int
pid
;
27
int
wstat;
28
char
ch;
29
30
sig_ignore(sig_pipe);
31
32
pid
=
fork
();
33
if
(
pid
== -1) logmsg(
WHO
,111,FATAL,
"unable to fork"
);
34
35
if
(!
pid
) {
36
buffer_init(&
bi
,
myread
,0,
inbuf
,
sizeof
(
inbuf
));
37
buffer_init(&
bo
,buffer_unixwrite,7,
outbuf
,
sizeof
(
outbuf
));
38
39
while
(buffer_get(&
bi
,&ch,1) == 1) {
40
if
(ch ==
'\n'
) buffer_put(&
bo
,
"\r"
,1);
41
buffer_put(&
bo
,&ch,1);
42
}
43
_exit(0);
44
}
45
46
buffer_init(&
bi
,
myread
,6,
inbuf
,
sizeof
(
inbuf
));
47
buffer_init(&
bo
,buffer_unixwrite,1,
outbuf
,
sizeof
(
outbuf
));
48
49
while
(buffer_get(&
bi
,&ch,1) == 1)
50
buffer_put(&
bo
,&ch,1);
51
52
kill
(
pid
,sig_term);
53
wait_pid(&wstat,
pid
);
54
55
_exit(0);
56
}
myread
ssize_t myread(int fd, char *buf, int len)
Definition:
mconnect-io.c:18
kill
int kill(int, int)
inbuf
char inbuf[512]
Definition:
mconnect-io.c:15
outbuf
char outbuf[512]
Definition:
mconnect-io.c:12
bi
buffer bi
Definition:
mconnect-io.c:16
bo
buffer bo
Definition:
mconnect-io.c:13
WHO
#define WHO
Definition:
mconnect-io.c:8
main
int main()
Definition:
mconnect-io.c:24
pid
char pid[FMT_ULONG]
Definition:
recordio.c:15
fork
int fork()
read
int read(int, char *, int)
Generated on Mon Sep 23 2024 11:33:28 for ucspi-tcp6 by
1.9.6