~ubuntu-branches/ubuntu/breezy/netkit-ftp-ssl/breezy

« back to all changes in this revision

Viewing changes to ftp/ftp_var.h

  • Committer: Bazaar Package Importer
  • Author(s): Christoph Martin
  • Date: 2002-03-23 12:10:37 UTC
  • Revision ID: james.westby@ubuntu.com-20020323121037-11rjw8euzjmcgpm4
Tags: upstream-0.17.9+0.2
ImportĀ upstreamĀ versionĀ 0.17.9+0.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright (c) 1985, 1989 Regents of the University of California.
 
3
 * All rights reserved.
 
4
 *
 
5
 * Redistribution and use in source and binary forms, with or without
 
6
 * modification, are permitted provided that the following conditions
 
7
 * are met:
 
8
 * 1. Redistributions of source code must retain the above copyright
 
9
 *    notice, this list of conditions and the following disclaimer.
 
10
 * 2. Redistributions in binary form must reproduce the above copyright
 
11
 *    notice, this list of conditions and the following disclaimer in the
 
12
 *    documentation and/or other materials provided with the distribution.
 
13
 * 3. All advertising materials mentioning features or use of this software
 
14
 *    must display the following acknowledgement:
 
15
 *      This product includes software developed by the University of
 
16
 *      California, Berkeley and its contributors.
 
17
 * 4. Neither the name of the University nor the names of its contributors
 
18
 *    may be used to endorse or promote products derived from this software
 
19
 *    without specific prior written permission.
 
20
 *
 
21
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 
22
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 
23
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 
24
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 
25
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 
26
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 
27
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 
28
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 
29
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 
30
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 
31
 * SUCH DAMAGE.
 
32
 *
 
33
 *      from: @(#)ftp_var.h     5.9 (Berkeley) 6/1/90
 
34
 *      $Id: ftp_var.h,v 1.12 1999/10/02 18:39:17 dholland Exp $
 
35
 */
 
36
 
 
37
/*
 
38
 * FTP global variables.
 
39
 */
 
40
 
 
41
#include <setjmp.h>
 
42
#include <sys/param.h>
 
43
 
 
44
/*
 
45
 * Tick counter step size.
 
46
 */
 
47
#define TICKBYTES     10240
 
48
 
 
49
#ifndef Extern
 
50
#define Extern extern
 
51
#endif
 
52
 
 
53
 
 
54
/*
 
55
 * Options and other state info.
 
56
 */
 
57
Extern int      rl_inhibit;     /* disable readline support */
 
58
Extern int      traceflag;      /* trace packets exchanged */
 
59
Extern int      hash;           /* print # for each buffer transferred */
 
60
Extern int      tick;           /* print byte counter during transfers */
 
61
Extern int      sendport;       /* use PORT cmd for each data connection */
 
62
Extern int      verbose;        /* print messages coming back from server */
 
63
Extern int      connected;      /* connected to server */
 
64
Extern int      fromatty;       /* input is from a terminal */
 
65
Extern int      interactive;    /* interactively prompt on m* cmds */
 
66
Extern int      debug;          /* debugging level */
 
67
Extern int      bell;           /* ring bell on cmd completion */
 
68
Extern int      doglob;         /* glob local file names */
 
69
Extern int      autologin;      /* establish user account on connection */
 
70
Extern int      proxy;          /* proxy server connection active */
 
71
Extern int      proxflag;       /* proxy connection exists */
 
72
Extern int      sunique;        /* store files on server with unique name */
 
73
Extern int      runique;        /* store local files with unique name */
 
74
Extern int      mcase;          /* map upper to lower case for mget names */
 
75
Extern int      ntflag;         /* use ntin ntout tables for name xlation */
 
76
Extern int      mapflag;        /* use mapin mapout templates on file names */
 
77
Extern int      code;           /* return/reply code for ftp command */
 
78
Extern int      crflag;         /* if 1, strip car. rets. on ascii gets */
 
79
Extern int      qcflag;         /* if 1, print ? instead of control chars */
 
80
Extern char     pasv[64];       /* passive port for proxy data connection */
 
81
Extern int      passivemode;    /* passive mode enabled */
 
82
Extern char     *altarg;        /* argv[1] with no shell-like preprocessing  */
 
83
Extern char     ntin[17];       /* input translation table */
 
84
Extern char     ntout[17];      /* output translation table */
 
85
Extern char     mapin[MAXPATHLEN];      /* input map template */
 
86
Extern char     mapout[MAXPATHLEN];     /* output map template */
 
87
Extern char     typename[32];           /* name of file transfer type */
 
88
Extern int      type;                   /* requested file transfer type */
 
89
Extern int      curtype;                /* current file transfer type */
 
90
Extern char     structname[32];         /* name of file transfer structure */
 
91
Extern int      stru;                   /* file transfer structure */
 
92
Extern char     formname[32];           /* name of file transfer format */
 
93
Extern int      form;                   /* file transfer format */
 
94
Extern char     modename[32];           /* name of file transfer mode */
 
95
Extern int      mode;                   /* file transfer mode */
 
96
Extern char     bytename[32];           /* local byte size in ascii */
 
97
Extern int      bytesize;               /* local byte size in binary */
 
98
 
 
99
Extern char     *hostname;      /* name of host connected to */
 
100
Extern int      unix_server;    /* server is unix, can use binary for ascii */
 
101
Extern int      unix_proxy;     /* proxy is unix, can use binary for ascii */
 
102
 
 
103
/*Extern struct servent *sp;*/  /* service spec for tcp/ftp */
 
104
Extern int      ftp_port;       /* htons'd port number for ftp service */
 
105
 
 
106
Extern sigjmp_buf *toplevel;    /* non-local goto stuff for cmd scanner */
 
107
 
 
108
Extern char     *line;          /* input line buffer */
 
109
Extern char     *stringbase;    /* current scan point in line buffer */
 
110
Extern char     *argbuf;        /* argument storage buffer */
 
111
Extern char     *argbase;       /* current storage point in arg buffer */
 
112
Extern int      cpend;          /* flag: if != 0, then pending server reply */
 
113
Extern int      mflag;          /* flag: if != 0, then active multi command */
 
114
 
 
115
Extern int      options;        /* used during socket creation */
 
116
 
 
117
/*
 
118
 * Format of command table.
 
119
 */
 
120
struct cmd {
 
121
        const char *c_name;     /* name of command */
 
122
        const char *c_help;     /* help string */
 
123
        char c_bell;            /* give bell when command completes */
 
124
        char c_conn;            /* must be connected to use command */
 
125
        char c_proxy;           /* proxy server may execute */
 
126
 
 
127
        /* Exactly one of these should be non-NULL. */
 
128
        void (*c_handler_v)(int, char **); /* function to call */
 
129
        void (*c_handler_0)(void);
 
130
        void (*c_handler_1)(const char *);
 
131
};
 
132
 
 
133
struct macel {
 
134
        char mac_name[9];       /* macro name */
 
135
        char *mac_start;        /* start of macro in macbuf */
 
136
        char *mac_end;          /* end of macro in macbuf */
 
137
};
 
138
 
 
139
Extern int macnum;                      /* number of defined macros */
 
140
Extern struct macel macros[16];
 
141
Extern char macbuf[4096];
 
142
#define MACBUF_SIZE 4096
 
143
 
 
144
char *hookup(char *host, int port);
 
145
struct cmd *getcmd(const char *);
 
146
char **makeargv(int *pargc, char **parg);
 
147
int dologin(const char *host);
 
148
int command(const char *fmt, ...);
 
149
void sendrequest(const char *cmd, char *local, char *remote, int printnames);
 
150
void recvrequest(const char *cmd, char *local, char *remote, 
 
151
                 const char *lmode, int printnames);
 
152
int another(int *pargc, char ***pargv, const char *prompt);
 
153
void blkfree(char **av0);
 
154
void fatal(const char *msg);
 
155
int getreply(int expecteof);
 
156
void domacro(int argc, char *argv[]);
 
157
void pswitch(int flag);
 
158
int xruserpass(const char *host, char **aname, char **apass, char **aacct);
 
159
void setpeer(int argc, char *argv[]);
 
160
void quit(void);
 
161
void changetype(int newtype, int show);
 
162
 
 
163
#include "sslapp.h"
 
164
#include "ssl_port.h"