File: methods.h

package info (click to toggle)
cftp 0.12-4
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, sarge
  • size: 968 kB
  • ctags: 853
  • sloc: ansic: 9,541; sh: 327; makefile: 92
file content (125 lines) | stat: -rw-r--r-- 4,132 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#ifndef _HAD_METHODS_H
#define _HAD_METHODS_H

/*
  This file is automatically created from ``methods.mt''; don't make
  changes to this file, change ``methods.mt'' instead.

  Created from:
    $NiH: mkmethods-h.m4,v 1.3 2002/09/16 12:42:39 dillo Exp $
    $NiH: methods.mt,v 1.4 2002/09/16 12:42:37 dillo Exp $
*/

#include <stddef.h>

#include "config.h"
#include "directory.h"

int rftp_close(void);
int rftp_cwd(char *path);
int rftp_deidle(void);
int rftp_fclose(void *f);
directory * rftp_list(char *dir);
int rftp_open(char *host, char *port, char *user, char *pass);
int rftp_mkdir(char *dir);
int rftp_login(char *user, char *pass);
char * rftp_pwd(void);
void * rftp_retr(char *file, int mode, long *startp, long *sizep);
int rftp_rmdir(char *dir);
int rftp_site(char *cmd);
void * rftp_stor(char *file, int mode);
int rftp_xfer_eof(void *file);
int rftp_xfer_read(void *buf, size_t n, void *file);
int rftp_xfer_start(void *file);
int rftp_xfer_stop(void *file, int aborting);
int rftp_xfer_write(void *buf, size_t n, void *file);

#ifdef USE_SFTP

struct ftp_methods {
   int (*fn_close)(void);
   int (*fn_cwd)(char *path);
   int (*fn_deidle)(void);
   int (*fn_fclose)(void *f);
   directory * (*fn_list)(char *dir);
   int (*fn_open)(char *host, char *port, char *user, char *pass);
   int (*fn_mkdir)(char *dir);
   int (*fn_login)(char *user, char *pass);
   char * (*fn_pwd)(void);
   void * (*fn_retr)(char *file, int mode, long *startp, long *sizep);
   int (*fn_rmdir)(char *dir);
   int (*fn_site)(char *cmd);
   void * (*fn_stor)(char *file, int mode);
   int (*fn_xfer_eof)(void *file);
   int (*fn_xfer_read)(void *buf, size_t n, void *file);
   int (*fn_xfer_start)(void *file);
   int (*fn_xfer_stop)(void *file, int aborting);
   int (*fn_xfer_write)(void *buf, size_t n, void *file);
};

extern struct ftp_methods ftp_methods[];

int sftp_close(void);
int sftp_cwd(char *path);
int sftp_deidle(void);
int sftp_fclose(void *f);
directory * sftp_list(char *dir);
int sftp_open(char *host, char *port, char *user, char *pass);
int sftp_mkdir(char *dir);
int sftp_login(char *user, char *pass);
char * sftp_pwd(void);
void * sftp_retr(char *file, int mode, long *startp, long *sizep);
int sftp_rmdir(char *dir);
int sftp_site(char *cmd);
void * sftp_stor(char *file, int mode);
int sftp_xfer_eof(void *file);
int sftp_xfer_read(void *buf, size_t n, void *file);
int sftp_xfer_start(void *file);
int sftp_xfer_stop(void *file, int aborting);
int sftp_xfer_write(void *buf, size_t n, void *file);

#define ftp_close (ftp_methods[ftp_proto].fn_close)
#define ftp_cwd (ftp_methods[ftp_proto].fn_cwd)
#define ftp_deidle (ftp_methods[ftp_proto].fn_deidle)
#define ftp_fclose (ftp_methods[ftp_proto].fn_fclose)
#define ftp_list (ftp_methods[ftp_proto].fn_list)
#define ftp_open (ftp_methods[ftp_proto].fn_open)
#define ftp_mkdir (ftp_methods[ftp_proto].fn_mkdir)
#define ftp_login (ftp_methods[ftp_proto].fn_login)
#define ftp_pwd (ftp_methods[ftp_proto].fn_pwd)
#define ftp_retr (ftp_methods[ftp_proto].fn_retr)
#define ftp_rmdir (ftp_methods[ftp_proto].fn_rmdir)
#define ftp_site (ftp_methods[ftp_proto].fn_site)
#define ftp_stor (ftp_methods[ftp_proto].fn_stor)
#define ftp_xfer_eof (ftp_methods[ftp_proto].fn_xfer_eof)
#define ftp_xfer_read (ftp_methods[ftp_proto].fn_xfer_read)
#define ftp_xfer_start (ftp_methods[ftp_proto].fn_xfer_start)
#define ftp_xfer_stop (ftp_methods[ftp_proto].fn_xfer_stop)
#define ftp_xfer_write (ftp_methods[ftp_proto].fn_xfer_write)

#else /* !USE_SFTP */

#define ftp_close rftp_close
#define ftp_cwd rftp_cwd
#define ftp_deidle rftp_deidle
#define ftp_fclose rftp_fclose
#define ftp_list rftp_list
#define ftp_open rftp_open
#define ftp_mkdir rftp_mkdir
#define ftp_login rftp_login
#define ftp_pwd rftp_pwd
#define ftp_retr rftp_retr
#define ftp_rmdir rftp_rmdir
#define ftp_site rftp_site
#define ftp_stor rftp_stor
#define ftp_xfer_eof rftp_xfer_eof
#define ftp_xfer_read rftp_xfer_read
#define ftp_xfer_start rftp_xfer_start
#define ftp_xfer_stop rftp_xfer_stop
#define ftp_xfer_write rftp_xfer_write

#endif /* !USE_SFTP */

extern int ftp_proto;

#endif /* methods.h */