version 1.12, 2001/11/03 00:07:53 |
version 1.13, 2001/11/19 19:02:16 |
|
|
|
|
void |
void |
send_do(c, init) |
send_do(c, init) |
register int c, init; |
int c, init; |
{ |
{ |
if (init) { |
if (init) { |
if (((do_dont_resp[c] == 0) && my_state_is_do(c)) || |
if (((do_dont_resp[c] == 0) && my_state_is_do(c)) || |
|
|
|
|
void |
void |
send_dont(c, init) |
send_dont(c, init) |
register int c, init; |
int c, init; |
{ |
{ |
if (init) { |
if (init) { |
if (((do_dont_resp[c] == 0) && my_state_is_dont(c)) || |
if (((do_dont_resp[c] == 0) && my_state_is_dont(c)) || |
|
|
|
|
void |
void |
send_will(c, init) |
send_will(c, init) |
register int c, init; |
int c, init; |
{ |
{ |
if (init) { |
if (init) { |
if (((will_wont_resp[c] == 0) && my_state_is_will(c)) || |
if (((will_wont_resp[c] == 0) && my_state_is_will(c)) || |
|
|
|
|
void |
void |
send_wont(c, init) |
send_wont(c, init) |
register int c, init; |
int c, init; |
{ |
{ |
if (init) { |
if (init) { |
if (((will_wont_resp[c] == 0) && my_state_is_wont(c)) || |
if (((will_wont_resp[c] == 0) && my_state_is_wont(c)) || |
|
|
mklist(buf, name) |
mklist(buf, name) |
char *buf, *name; |
char *buf, *name; |
{ |
{ |
register int n; |
int n; |
register char c, *cp, **argvp, *cp2, **argv, **avt; |
char c, *cp, **argvp, *cp2, **argv, **avt; |
|
|
if (name) { |
if (name) { |
if ((int)strlen(name) > 40) { |
if ((int)strlen(name) > 40) { |
|
|
|
|
int |
int |
is_unique(name, as, ae) |
is_unique(name, as, ae) |
register char *name, **as, **ae; |
char *name, **as, **ae; |
{ |
{ |
register char **ap; |
char **ap; |
register int n; |
int n; |
|
|
n = strlen(name) + 1; |
n = strlen(name) + 1; |
for (ap = as; ap < ae; ap++) |
for (ap = as; ap < ae; ap++) |
|
|
void |
void |
slc_init() |
slc_init() |
{ |
{ |
register struct spc *spcp; |
struct spc *spcp; |
|
|
localchars = 1; |
localchars = 1; |
for (spcp = spc_data; spcp < &spc_data[NSLC+1]; spcp++) { |
for (spcp = spc_data; spcp < &spc_data[NSLC+1]; spcp++) { |
|
|
void |
void |
slc_export() |
slc_export() |
{ |
{ |
register struct spc *spcp; |
struct spc *spcp; |
|
|
TerminalDefaultChars(); |
TerminalDefaultChars(); |
|
|
|
|
|
|
void |
void |
slc(cp, len) |
slc(cp, len) |
register unsigned char *cp; |
unsigned char *cp; |
int len; |
int len; |
{ |
{ |
register struct spc *spcp; |
struct spc *spcp; |
register int func,level; |
int func,level; |
|
|
slc_start_reply(); |
slc_start_reply(); |
|
|
|
|
void |
void |
slc_check() |
slc_check() |
{ |
{ |
register struct spc *spcp; |
struct spc *spcp; |
|
|
slc_start_reply(); |
slc_start_reply(); |
for (spcp = &spc_data[1]; spcp < &spc_data[NSLC+1]; spcp++) { |
for (spcp = &spc_data[1]; spcp < &spc_data[NSLC+1]; spcp++) { |
|
|
void |
void |
slc_end_reply() |
slc_end_reply() |
{ |
{ |
register int len; |
int len; |
|
|
*slc_replyp++ = IAC; |
*slc_replyp++ = IAC; |
*slc_replyp++ = SE; |
*slc_replyp++ = SE; |
|
|
int |
int |
slc_update() |
slc_update() |
{ |
{ |
register struct spc *spcp; |
struct spc *spcp; |
int need_update = 0; |
int need_update = 0; |
|
|
for (spcp = &spc_data[1]; spcp < &spc_data[NSLC+1]; spcp++) { |
for (spcp = &spc_data[1]; spcp < &spc_data[NSLC+1]; spcp++) { |
|
|
|
|
void |
void |
env_opt(buf, len) |
env_opt(buf, len) |
register unsigned char *buf; |
unsigned char *buf; |
register int len; |
int len; |
{ |
{ |
register unsigned char *ep = 0, *epc = 0; |
unsigned char *ep = 0, *epc = 0; |
register int i; |
int i; |
|
|
switch(buf[0]&0xff) { |
switch(buf[0]&0xff) { |
case TELQUAL_SEND: |
case TELQUAL_SEND: |
|
|
|
|
void |
void |
env_opt_add(ep) |
env_opt_add(ep) |
register unsigned char *ep; |
unsigned char *ep; |
{ |
{ |
register unsigned char *vp, c; |
unsigned char *vp, c; |
|
|
if (opt_reply == NULL) /*XXX*/ |
if (opt_reply == NULL) /*XXX*/ |
return; /*XXX*/ |
return; /*XXX*/ |
|
|
if (opt_replyp + (vp ? strlen((char *)vp) : 0) + |
if (opt_replyp + (vp ? strlen((char *)vp) : 0) + |
strlen((char *)ep) + 6 > opt_replyend) |
strlen((char *)ep) + 6 > opt_replyend) |
{ |
{ |
register int len; |
int len; |
unsigned char *p; |
unsigned char *p; |
opt_replyend += OPT_REPLY_SIZE; |
opt_replyend += OPT_REPLY_SIZE; |
len = opt_replyend - opt_reply; |
len = opt_replyend - opt_reply; |
|
|
} |
} |
void |
void |
env_opt_end(emptyok) |
env_opt_end(emptyok) |
register int emptyok; |
int emptyok; |
{ |
{ |
register int len; |
int len; |
|
|
len = opt_replyp - opt_reply + 2; |
len = opt_replyp - opt_reply + 2; |
if (emptyok || len > 6) { |
if (emptyok || len > 6) { |
|
|
int |
int |
telrcv() |
telrcv() |
{ |
{ |
register int c; |
int c; |
register int scc; |
int scc; |
register unsigned char *sbp; |
unsigned char *sbp; |
int count; |
int count; |
int returnValue = 0; |
int returnValue = 0; |
|
|
|
|
tcc = 0; |
tcc = 0; |
count = 0; |
count = 0; |
while (NETROOM() > 2) { |
while (NETROOM() > 2) { |
register int sc; |
int sc; |
register int c; |
int c; |
|
|
if (tcc == 0) { |
if (tcc == 0) { |
if (count) { |
if (count) { |
|
|
return current+3; |
return current+3; |
case SB: /* loop forever looking for the SE */ |
case SB: /* loop forever looking for the SE */ |
{ |
{ |
register char *look = current+2; |
char *look = current+2; |
|
|
for (;;) { |
for (;;) { |
if ((*look++&0xff) == IAC) { |
if ((*look++&0xff) == IAC) { |
|
|
netclear() |
netclear() |
{ |
{ |
#if 0 /* XXX */ |
#if 0 /* XXX */ |
register char *thisitem, *next; |
char *thisitem, *next; |
char *good; |
char *good; |
#define wewant(p) ((nfrontp > p) && ((*p&0xff) == IAC) && \ |
#define wewant(p) ((nfrontp > p) && ((*p&0xff) == IAC) && \ |
((*(p+1)&0xff) != EC) && ((*(p+1)&0xff) != EL)) |
((*(p+1)&0xff) != EC) && ((*(p+1)&0xff) != EL)) |
|
|
get_status() |
get_status() |
{ |
{ |
unsigned char tmp[16]; |
unsigned char tmp[16]; |
register unsigned char *cp; |
unsigned char *cp; |
|
|
if (my_want_state_is_dont(TELOPT_STATUS)) { |
if (my_want_state_is_dont(TELOPT_STATUS)) { |
printf("Remote side does not support STATUS option\n"); |
printf("Remote side does not support STATUS option\n"); |
|
|
{ |
{ |
long rows, cols; |
long rows, cols; |
unsigned char tmp[16]; |
unsigned char tmp[16]; |
register unsigned char *cp; |
unsigned char *cp; |
|
|
if (my_state_is_wont(TELOPT_NAWS)) |
if (my_state_is_wont(TELOPT_NAWS)) |
return; |
return; |