/
usr
/
include
/
/usr/include
mkdir
upload
Name
Size
Mode
Actions
arpa/
-
0755
rm
asm/
-
0755
rm
asm-generic/
-
0755
rm
bind9/
-
0755
rm
bits/
-
0755
rm
bsock/
-
0755
rm
c++/
-
0755
rm
db4/
-
0755
rm
db4.2.52/
-
0755
rm
db4.3.29/
-
0755
rm
dns/
-
0755
rm
drm/
-
0755
rm
dst/
-
0755
rm
e2p/
-
0755
rm
et/
-
0755
rm
ext2fs/
-
0755
rm
fontconfig/
-
0755
rm
freetype2/
-
0755
rm
gdbm/
-
0755
rm
GL/
-
0755
rm
gnu/
-
0755
rm
gssapi/
-
0755
rm
gssrpc/
-
0755
rm
isc/
-
0755
rm
isccc/
-
0755
rm
isccfg/
-
0755
rm
kadm5/
-
0755
rm
krb5/
-
0755
rm
layout/
-
0755
rm
libexslt/
-
0755
rm
libltdl/
-
0755
rm
libpng12/
-
0755
rm
libxml2/
-
0755
rm
libxslt/
-
0755
rm
linux/
-
0755
rm
lve/
-
0755
rm
lwres/
-
0755
rm
lzma/
-
0755
rm
mtd/
-
0755
rm
mysql/
-
0755
rm
ncurses/
-
0755
rm
ncursesw/
-
0755
rm
net/
-
0755
rm
netash/
-
0755
rm
netatalk/
-
0755
rm
netax25/
-
0755
rm
neteconet/
-
0755
rm
netinet/
-
0755
rm
netipx/
-
0755
rm
netiucv/
-
0755
rm
netpacket/
-
0755
rm
netrom/
-
0755
rm
netrose/
-
0755
rm
nfs/
-
0755
rm
numpy/
-
0755
rm
openssl/
-
0755
rm
PCSC/
-
0755
rm
protocols/
-
0755
rm
python2.6/
-
0755
rm
rdma/
-
0755
rm
readline/
-
0755
rm
rpc/
-
0755
rm
rpcsvc/
-
0755
rm
sasl/
-
0755
rm
scsi/
-
0755
rm
security/
-
0755
rm
selinux/
-
0755
rm
sepol/
-
0755
rm
sound/
-
0755
rm
sys/
-
0755
rm
uapi/
-
0755
rm
unicode/
-
0755
rm
video/
-
0755
rm
X11/
-
0755
rm
xcb/
-
0755
rm
xen/
-
0755
rm
yaz/
-
0755
rm
a.out.h
4351
0644
edit
dl
rm
aio.h
7502
0644
edit
dl
rm
aliases.h
2115
0644
edit
dl
rm
alloca.h
1289
0644
edit
dl
rm
ar.h
1792
0644
edit
dl
rm
argp.h
26521
0644
edit
dl
rm
argz.h
7308
0644
edit
dl
rm
assert.h
3506
0644
edit
dl
rm
autosprintf.h
2284
0644
edit
dl
rm
byteswap.h
1489
0644
edit
dl
rm
complex.h
3557
0644
edit
dl
rm
cpio.h
2335
0644
edit
dl
rm
crypt.h
2341
0644
edit
dl
rm
ctype.h
11287
0644
edit
dl
rm
curses.h
79831
0644
edit
dl
rm
cursesapp.h
6582
0644
edit
dl
rm
cursesf.h
27630
0644
edit
dl
rm
cursesm.h
19486
0644
edit
dl
rm
cursesp.h
8473
0644
edit
dl
rm
cursesw.h
49264
0644
edit
dl
rm
cursslk.h
7304
0644
edit
dl
rm
db.h
99427
0444
edit
dl
rm
db_185.h
6010
0444
edit
dl
rm
db_cxx.h
38638
0444
edit
dl
rm
dirent.h
11318
0644
edit
dl
rm
dlfcn.h
7117
0644
edit
dl
rm
elf.h
117539
0644
edit
dl
rm
endian.h
2991
0644
edit
dl
rm
entities.h
4673
0644
edit
dl
rm
envz.h
2962
0644
edit
dl
rm
err.h
2313
0644
edit
dl
rm
errno.h
2452
0644
edit
dl
rm
error.h
2132
0644
edit
dl
rm
eti.h
2891
0644
edit
dl
rm
etip.h
9207
0644
edit
dl
rm
execinfo.h
1606
0644
edit
dl
rm
expat.h
40849
0644
edit
dl
rm
expat_external.h
3364
0644
edit
dl
rm
fam.h
6875
0644
edit
dl
rm
fcntl.h
9133
0644
edit
dl
rm
features.h
12877
0644
edit
dl
rm
fenv.h
4670
0644
edit
dl
rm
FlexLexer.h
6217
0644
edit
dl
rm
fmtmsg.h
3329
0644
edit
dl
rm
fnmatch.h
2530
0644
edit
dl
rm
form.h
17190
0644
edit
dl
rm
fpu_control.h
3163
0644
edit
dl
rm
fstab.h
3115
0644
edit
dl
rm
ft2build.h
3890
0644
edit
dl
rm
fts.h
5290
0644
edit
dl
rm
ftw.h
5360
0644
edit
dl
rm
gconv.h
5339
0644
edit
dl
rm
gcrypt-module.h
7184
0644
edit
dl
rm
gcrypt.h
70572
0644
edit
dl
rm
gd.h
32790
0644
edit
dl
rm
gdbm.h
4744
0644
edit
dl
rm
gdcache.h
2812
0644
edit
dl
rm
gdfontg.h
623
0644
edit
dl
rm
gdfontl.h
621
0644
edit
dl
rm
gdfontmb.h
590
0644
edit
dl
rm
gdfonts.h
585
0644
edit
dl
rm
gdfontt.h
617
0644
edit
dl
rm
gdfx.h
2396
0644
edit
dl
rm
gd_io.h
1154
0644
edit
dl
rm
getopt.h
6740
0644
edit
dl
rm
gettext-po.h
14835
0644
edit
dl
rm
glob.h
7007
0644
edit
dl
rm
gnu-versions.h
2416
0644
edit
dl
rm
gpg-error.h
22689
0644
edit
dl
rm
grp.h
6991
0644
edit
dl
rm
gshadow.h
4611
0644
edit
dl
rm
gssapi.h
181
0644
edit
dl
rm
iconv.h
1949
0644
edit
dl
rm
idn-free.h
2299
0644
edit
dl
rm
idn-int.h
20
0644
edit
dl
rm
idna.h
3436
0644
edit
dl
rm
ieee754.h
4990
0644
edit
dl
rm
ifaddrs.h
2902
0644
edit
dl
rm
inttypes.h
12202
0644
edit
dl
rm
jconfig.h
1653
0644
edit
dl
rm
jerror.h
14748
0644
edit
dl
rm
jmorecfg.h
13774
0644
edit
dl
rm
jpeglib.h
50207
0644
edit
dl
rm
kdb.h
58384
0644
edit
dl
rm
keyutils.h
6092
0644
edit
dl
rm
krb5.h
402
0644
edit
dl
rm
langinfo.h
16007
0644
edit
dl
rm
lastlog.h
126
0644
edit
dl
rm
lauxlib.h
5777
0644
edit
dl
rm
libaio.h
7252
0644
edit
dl
rm
libgen.h
1465
0644
edit
dl
rm
libintl.h
4702
0644
edit
dl
rm
libio.h
17790
0644
edit
dl
rm
libssh2.h
48356
0644
edit
dl
rm
libssh2_publickey.h
4910
0644
edit
dl
rm
libssh2_sftp.h
15651
0644
edit
dl
rm
limits.h
4596
0644
edit
dl
rm
link.h
7221
0644
edit
dl
rm
locale.h
8032
0644
edit
dl
rm
ltdl.h
5715
0644
edit
dl
rm
lua.h
11688
0644
edit
dl
rm
lua.hpp
191
0644
edit
dl
rm
luaconf.h
22128
0644
edit
dl
rm
lualib.h
1026
0644
edit
dl
rm
lzma.h
9306
0644
edit
dl
rm
malloc.h
6297
0644
edit
dl
rm
math.h
15987
0644
edit
dl
rm
mcheck.h
2521
0644
edit
dl
rm
memory.h
1029
0644
edit
dl
rm
menu.h
11845
0644
edit
dl
rm
mntent.h
3465
0644
edit
dl
rm
monetary.h
1835
0644
edit
dl
rm
mqueue.h
3872
0644
edit
dl
rm
ncurses.h
79831
0644
edit
dl
rm
ncurses_dll.h
3898
0644
edit
dl
rm
nc_tparm.h
3947
0644
edit
dl
rm
netdb.h
28267
0644
edit
dl
rm
nl_types.h
1842
0644
edit
dl
rm
nss.h
1962
0644
edit
dl
rm
obstack.h
19673
0644
edit
dl
rm
panel.h
3770
0644
edit
dl
rm
paths.h
2973
0644
edit
dl
rm
png.h
161982
0644
edit
dl
rm
pngconf.h
50992
0644
edit
dl
rm
poll.h
22
0644
edit
dl
rm
pr29.h
1974
0644
edit
dl
rm
printf.h
6805
0644
edit
dl
rm
profile.h
12154
0644
edit
dl
rm
pthread.h
40491
0644
edit
dl
rm
pty.h
1610
0644
edit
dl
rm
punycode.h
9425
0644
edit
dl
rm
pwd.h
6079
0644
edit
dl
rm
regex.h
21871
0644
edit
dl
rm
regexp.h
7123
0644
edit
dl
rm
resolv.h
14765
0644
edit
dl
rm
re_comp.h
1024
0644
edit
dl
rm
sched.h
4730
0644
edit
dl
rm
search.h
5318
0644
edit
dl
rm
semaphore.h
2472
0644
edit
dl
rm
setjmp.h
4112
0644
edit
dl
rm
sgtty.h
1431
0644
edit
dl
rm
shadow.h
5302
0644
edit
dl
rm
signal.h
13662
0644
edit
dl
rm
spawn.h
6763
0644
edit
dl
rm
stab.h
264
0644
edit
dl
rm
stdint.h
8536
0644
edit
dl
rm
stdio.h
31568
0644
edit
dl
rm
stdio_ext.h
2873
0644
edit
dl
rm
stdlib.h
34254
0644
edit
dl
rm
string.h
22612
0644
edit
dl
rm
stringprep.h
8044
0644
edit
dl
rm
strings.h
4763
0644
edit
dl
rm
syscall.h
25
0644
edit
dl
rm
sysexits.h
5232
0644
edit
dl
rm
syslog.h
24
0644
edit
dl
rm
tar.h
3771
0644
edit
dl
rm
tcpd.h
9546
0644
edit
dl
rm
term.h
38205
0644
edit
dl
rm
termcap.h
3479
0644
edit
dl
rm
termio.h
214
0644
edit
dl
rm
termios.h
3640
0644
edit
dl
rm
term_entry.h
7056
0644
edit
dl
rm
tgmath.h
18610
0644
edit
dl
rm
thread_db.h
16092
0644
edit
dl
rm
tic.h
12181
0644
edit
dl
rm
tiff.h
33813
0644
edit
dl
rm
tiffconf-64.h
2969
0644
edit
dl
rm
tiffconf.h
250
0644
edit
dl
rm
tiffio.h
20514
0644
edit
dl
rm
tiffio.hxx
1706
0644
edit
dl
rm
tiffvers.h
410
0644
edit
dl
rm
time.h
13534
0644
edit
dl
rm
tld.h
4503
0644
edit
dl
rm
ttyent.h
2496
0644
edit
dl
rm
ucontext.h
2015
0644
edit
dl
rm
ulimit.h
1657
0644
edit
dl
rm
unctrl.h
3005
0644
edit
dl
rm
unistd.h
42551
0644
edit
dl
rm
ustat.h
23
0644
edit
dl
rm
utime.h
1603
0644
edit
dl
rm
utmp.h
3334
0644
edit
dl
rm
utmpx.h
4203
0644
edit
dl
rm
values.h
2029
0644
edit
dl
rm
verto-module.h
6019
0644
edit
dl
rm
verto.h
16829
0644
edit
dl
rm
wait.h
22
0644
edit
dl
rm
wchar.h
32383
0644
edit
dl
rm
wctype.h
11227
0644
edit
dl
rm
wordexp.h
2592
0644
edit
dl
rm
xlocale.h
1771
0644
edit
dl
rm
yaml.h
54224
0644
edit
dl
rm
zconf.h
9544
0644
edit
dl
rm
zlib.h
66188
0644
edit
dl
rm
_G_config.h
2526
0644
edit
dl
rm
Edit:
/usr/include/libssh2_sftp.h
(15651B)
/* Copyright (c) 2004-2008, Sara Golemon <sarag@libssh2.org> * All rights reserved. * * Redistribution and use in source and binary forms, * with or without modification, are permitted provided * that the following conditions are met: * * Redistributions of source code must retain the above * copyright notice, this list of conditions and the * following disclaimer. * * Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials * provided with the distribution. * * Neither the name of the copyright holder nor the names * of any other contributors may be used to endorse or * promote products derived from this software without * specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY * OF SUCH DAMAGE. */ #ifndef LIBSSH2_SFTP_H #define LIBSSH2_SFTP_H 1 #include "libssh2.h" #ifndef WIN32 #include <unistd.h> #endif #ifdef __cplusplus extern "C" { #endif /* Note: Version 6 was documented at the time of writing * However it was marked as "DO NOT IMPLEMENT" due to pending changes * * Let's start with Version 3 (The version found in OpenSSH) and go from there */ #define LIBSSH2_SFTP_VERSION 3 typedef struct _LIBSSH2_SFTP LIBSSH2_SFTP; typedef struct _LIBSSH2_SFTP_HANDLE LIBSSH2_SFTP_HANDLE; typedef struct _LIBSSH2_SFTP_ATTRIBUTES LIBSSH2_SFTP_ATTRIBUTES; typedef struct _LIBSSH2_SFTP_STATVFS LIBSSH2_SFTP_STATVFS; /* Flags for open_ex() */ #define LIBSSH2_SFTP_OPENFILE 0 #define LIBSSH2_SFTP_OPENDIR 1 /* Flags for rename_ex() */ #define LIBSSH2_SFTP_RENAME_OVERWRITE 0x00000001 #define LIBSSH2_SFTP_RENAME_ATOMIC 0x00000002 #define LIBSSH2_SFTP_RENAME_NATIVE 0x00000004 /* Flags for stat_ex() */ #define LIBSSH2_SFTP_STAT 0 #define LIBSSH2_SFTP_LSTAT 1 #define LIBSSH2_SFTP_SETSTAT 2 /* Flags for symlink_ex() */ #define LIBSSH2_SFTP_SYMLINK 0 #define LIBSSH2_SFTP_READLINK 1 #define LIBSSH2_SFTP_REALPATH 2 /* SFTP attribute flag bits */ #define LIBSSH2_SFTP_ATTR_SIZE 0x00000001 #define LIBSSH2_SFTP_ATTR_UIDGID 0x00000002 #define LIBSSH2_SFTP_ATTR_PERMISSIONS 0x00000004 #define LIBSSH2_SFTP_ATTR_ACMODTIME 0x00000008 #define LIBSSH2_SFTP_ATTR_EXTENDED 0x80000000 /* SFTP statvfs flag bits */ #define LIBSSH2_SFTP_ST_RDONLY 0x00000001 #define LIBSSH2_SFTP_ST_NOSUID 0x00000002 struct _LIBSSH2_SFTP_ATTRIBUTES { /* If flags & ATTR_* bit is set, then the value in this struct will be * meaningful Otherwise it should be ignored */ unsigned long flags; libssh2_uint64_t filesize; unsigned long uid, gid; unsigned long permissions; unsigned long atime, mtime; }; struct _LIBSSH2_SFTP_STATVFS { libssh2_uint64_t f_bsize; /* file system block size */ libssh2_uint64_t f_frsize; /* fragment size */ libssh2_uint64_t f_blocks; /* size of fs in f_frsize units */ libssh2_uint64_t f_bfree; /* # free blocks */ libssh2_uint64_t f_bavail; /* # free blocks for non-root */ libssh2_uint64_t f_files; /* # inodes */ libssh2_uint64_t f_ffree; /* # free inodes */ libssh2_uint64_t f_favail; /* # free inodes for non-root */ libssh2_uint64_t f_fsid; /* file system ID */ libssh2_uint64_t f_flag; /* mount flags */ libssh2_uint64_t f_namemax; /* maximum filename length */ }; /* SFTP filetypes */ #define LIBSSH2_SFTP_TYPE_REGULAR 1 #define LIBSSH2_SFTP_TYPE_DIRECTORY 2 #define LIBSSH2_SFTP_TYPE_SYMLINK 3 #define LIBSSH2_SFTP_TYPE_SPECIAL 4 #define LIBSSH2_SFTP_TYPE_UNKNOWN 5 #define LIBSSH2_SFTP_TYPE_SOCKET 6 #define LIBSSH2_SFTP_TYPE_CHAR_DEVICE 7 #define LIBSSH2_SFTP_TYPE_BLOCK_DEVICE 8 #define LIBSSH2_SFTP_TYPE_FIFO 9 /* * Reproduce the POSIX file modes here for systems that are not POSIX * compliant. * * These is used in "permissions" of "struct _LIBSSH2_SFTP_ATTRIBUTES" */ /* File type */ #define LIBSSH2_SFTP_S_IFMT 0170000 /* type of file mask */ #define LIBSSH2_SFTP_S_IFIFO 0010000 /* named pipe (fifo) */ #define LIBSSH2_SFTP_S_IFCHR 0020000 /* character special */ #define LIBSSH2_SFTP_S_IFDIR 0040000 /* directory */ #define LIBSSH2_SFTP_S_IFBLK 0060000 /* block special */ #define LIBSSH2_SFTP_S_IFREG 0100000 /* regular */ #define LIBSSH2_SFTP_S_IFLNK 0120000 /* symbolic link */ #define LIBSSH2_SFTP_S_IFSOCK 0140000 /* socket */ /* File mode */ /* Read, write, execute/search by owner */ #define LIBSSH2_SFTP_S_IRWXU 0000700 /* RWX mask for owner */ #define LIBSSH2_SFTP_S_IRUSR 0000400 /* R for owner */ #define LIBSSH2_SFTP_S_IWUSR 0000200 /* W for owner */ #define LIBSSH2_SFTP_S_IXUSR 0000100 /* X for owner */ /* Read, write, execute/search by group */ #define LIBSSH2_SFTP_S_IRWXG 0000070 /* RWX mask for group */ #define LIBSSH2_SFTP_S_IRGRP 0000040 /* R for group */ #define LIBSSH2_SFTP_S_IWGRP 0000020 /* W for group */ #define LIBSSH2_SFTP_S_IXGRP 0000010 /* X for group */ /* Read, write, execute/search by others */ #define LIBSSH2_SFTP_S_IRWXO 0000007 /* RWX mask for other */ #define LIBSSH2_SFTP_S_IROTH 0000004 /* R for other */ #define LIBSSH2_SFTP_S_IWOTH 0000002 /* W for other */ #define LIBSSH2_SFTP_S_IXOTH 0000001 /* X for other */ /* macros to check for specific file types, added in 1.2.5 */ #define LIBSSH2_SFTP_S_ISLNK(m) \ (((m) & LIBSSH2_SFTP_S_IFMT) == LIBSSH2_SFTP_S_IFLNK) #define LIBSSH2_SFTP_S_ISREG(m) \ (((m) & LIBSSH2_SFTP_S_IFMT) == LIBSSH2_SFTP_S_IFREG) #define LIBSSH2_SFTP_S_ISDIR(m) \ (((m) & LIBSSH2_SFTP_S_IFMT) == LIBSSH2_SFTP_S_IFDIR) #define LIBSSH2_SFTP_S_ISCHR(m) \ (((m) & LIBSSH2_SFTP_S_IFMT) == LIBSSH2_SFTP_S_IFCHR) #define LIBSSH2_SFTP_S_ISBLK(m) \ (((m) & LIBSSH2_SFTP_S_IFMT) == LIBSSH2_SFTP_S_IFBLK) #define LIBSSH2_SFTP_S_ISFIFO(m) \ (((m) & LIBSSH2_SFTP_S_IFMT) == LIBSSH2_SFTP_S_IFIFO) #define LIBSSH2_SFTP_S_ISSOCK(m) \ (((m) & LIBSSH2_SFTP_S_IFMT) == LIBSSH2_SFTP_S_IFSOCK) /* SFTP File Transfer Flags -- (e.g. flags parameter to sftp_open()) * Danger will robinson... APPEND doesn't have any effect on OpenSSH servers */ #define LIBSSH2_FXF_READ 0x00000001 #define LIBSSH2_FXF_WRITE 0x00000002 #define LIBSSH2_FXF_APPEND 0x00000004 #define LIBSSH2_FXF_CREAT 0x00000008 #define LIBSSH2_FXF_TRUNC 0x00000010 #define LIBSSH2_FXF_EXCL 0x00000020 /* SFTP Status Codes (returned by libssh2_sftp_last_error() ) */ #define LIBSSH2_FX_OK 0 #define LIBSSH2_FX_EOF 1 #define LIBSSH2_FX_NO_SUCH_FILE 2 #define LIBSSH2_FX_PERMISSION_DENIED 3 #define LIBSSH2_FX_FAILURE 4 #define LIBSSH2_FX_BAD_MESSAGE 5 #define LIBSSH2_FX_NO_CONNECTION 6 #define LIBSSH2_FX_CONNECTION_LOST 7 #define LIBSSH2_FX_OP_UNSUPPORTED 8 #define LIBSSH2_FX_INVALID_HANDLE 9 #define LIBSSH2_FX_NO_SUCH_PATH 10 #define LIBSSH2_FX_FILE_ALREADY_EXISTS 11 #define LIBSSH2_FX_WRITE_PROTECT 12 #define LIBSSH2_FX_NO_MEDIA 13 #define LIBSSH2_FX_NO_SPACE_ON_FILESYSTEM 14 #define LIBSSH2_FX_QUOTA_EXCEEDED 15 #define LIBSSH2_FX_UNKNOWN_PRINCIPLE 16 /* Initial mis-spelling */ #define LIBSSH2_FX_UNKNOWN_PRINCIPAL 16 #define LIBSSH2_FX_LOCK_CONFlICT 17 /* Initial mis-spelling */ #define LIBSSH2_FX_LOCK_CONFLICT 17 #define LIBSSH2_FX_DIR_NOT_EMPTY 18 #define LIBSSH2_FX_NOT_A_DIRECTORY 19 #define LIBSSH2_FX_INVALID_FILENAME 20 #define LIBSSH2_FX_LINK_LOOP 21 /* Returned by any function that would block during a read/write opperation */ #define LIBSSH2SFTP_EAGAIN LIBSSH2_ERROR_EAGAIN /* SFTP API */ LIBSSH2_API LIBSSH2_SFTP *libssh2_sftp_init(LIBSSH2_SESSION *session); LIBSSH2_API int libssh2_sftp_shutdown(LIBSSH2_SFTP *sftp); LIBSSH2_API unsigned long libssh2_sftp_last_error(LIBSSH2_SFTP *sftp); LIBSSH2_API LIBSSH2_CHANNEL *libssh2_sftp_get_channel(LIBSSH2_SFTP *sftp); /* File / Directory Ops */ LIBSSH2_API LIBSSH2_SFTP_HANDLE *libssh2_sftp_open_ex(LIBSSH2_SFTP *sftp, const char *filename, unsigned int filename_len, unsigned long flags, long mode, int open_type); #define libssh2_sftp_open(sftp, filename, flags, mode) \ libssh2_sftp_open_ex((sftp), (filename), strlen(filename), (flags), \ (mode), LIBSSH2_SFTP_OPENFILE) #define libssh2_sftp_opendir(sftp, path) \ libssh2_sftp_open_ex((sftp), (path), strlen(path), 0, 0, \ LIBSSH2_SFTP_OPENDIR) LIBSSH2_API ssize_t libssh2_sftp_read(LIBSSH2_SFTP_HANDLE *handle, char *buffer, size_t buffer_maxlen); LIBSSH2_API int libssh2_sftp_readdir_ex(LIBSSH2_SFTP_HANDLE *handle, \ char *buffer, size_t buffer_maxlen, char *longentry, size_t longentry_maxlen, LIBSSH2_SFTP_ATTRIBUTES *attrs); #define libssh2_sftp_readdir(handle, buffer, buffer_maxlen, attrs) \ libssh2_sftp_readdir_ex((handle), (buffer), (buffer_maxlen), NULL, 0, \ (attrs)) LIBSSH2_API ssize_t libssh2_sftp_write(LIBSSH2_SFTP_HANDLE *handle, const char *buffer, size_t count); LIBSSH2_API int libssh2_sftp_close_handle(LIBSSH2_SFTP_HANDLE *handle); #define libssh2_sftp_close(handle) libssh2_sftp_close_handle(handle) #define libssh2_sftp_closedir(handle) libssh2_sftp_close_handle(handle) LIBSSH2_API void libssh2_sftp_seek(LIBSSH2_SFTP_HANDLE *handle, size_t offset); LIBSSH2_API void libssh2_sftp_seek64(LIBSSH2_SFTP_HANDLE *handle, libssh2_uint64_t offset); #define libssh2_sftp_rewind(handle) libssh2_sftp_seek64((handle), 0) LIBSSH2_API size_t libssh2_sftp_tell(LIBSSH2_SFTP_HANDLE *handle); LIBSSH2_API libssh2_uint64_t libssh2_sftp_tell64(LIBSSH2_SFTP_HANDLE *handle); LIBSSH2_API int libssh2_sftp_fstat_ex(LIBSSH2_SFTP_HANDLE *handle, LIBSSH2_SFTP_ATTRIBUTES *attrs, int setstat); #define libssh2_sftp_fstat(handle, attrs) \ libssh2_sftp_fstat_ex((handle), (attrs), 0) #define libssh2_sftp_fsetstat(handle, attrs) \ libssh2_sftp_fstat_ex((handle), (attrs), 1) /* Miscellaneous Ops */ LIBSSH2_API int libssh2_sftp_rename_ex(LIBSSH2_SFTP *sftp, const char *source_filename, unsigned int srouce_filename_len, const char *dest_filename, unsigned int dest_filename_len, long flags); #define libssh2_sftp_rename(sftp, sourcefile, destfile) \ libssh2_sftp_rename_ex((sftp), (sourcefile), strlen(sourcefile), \ (destfile), strlen(destfile), \ LIBSSH2_SFTP_RENAME_OVERWRITE | \ LIBSSH2_SFTP_RENAME_ATOMIC | \ LIBSSH2_SFTP_RENAME_NATIVE) LIBSSH2_API int libssh2_sftp_unlink_ex(LIBSSH2_SFTP *sftp, const char *filename, unsigned int filename_len); #define libssh2_sftp_unlink(sftp, filename) \ libssh2_sftp_unlink_ex((sftp), (filename), strlen(filename)) LIBSSH2_API int libssh2_sftp_fstatvfs(LIBSSH2_SFTP_HANDLE *handle, LIBSSH2_SFTP_STATVFS *st); LIBSSH2_API int libssh2_sftp_statvfs(LIBSSH2_SFTP *sftp, const char *path, size_t path_len, LIBSSH2_SFTP_STATVFS *st); LIBSSH2_API int libssh2_sftp_mkdir_ex(LIBSSH2_SFTP *sftp, const char *path, unsigned int path_len, long mode); #define libssh2_sftp_mkdir(sftp, path, mode) \ libssh2_sftp_mkdir_ex((sftp), (path), strlen(path), (mode)) LIBSSH2_API int libssh2_sftp_rmdir_ex(LIBSSH2_SFTP *sftp, const char *path, unsigned int path_len); #define libssh2_sftp_rmdir(sftp, path) \ libssh2_sftp_rmdir_ex((sftp), (path), strlen(path)) LIBSSH2_API int libssh2_sftp_stat_ex(LIBSSH2_SFTP *sftp, const char *path, unsigned int path_len, int stat_type, LIBSSH2_SFTP_ATTRIBUTES *attrs); #define libssh2_sftp_stat(sftp, path, attrs) \ libssh2_sftp_stat_ex((sftp), (path), strlen(path), LIBSSH2_SFTP_STAT, \ (attrs)) #define libssh2_sftp_lstat(sftp, path, attrs) \ libssh2_sftp_stat_ex((sftp), (path), strlen(path), LIBSSH2_SFTP_LSTAT, \ (attrs)) #define libssh2_sftp_setstat(sftp, path, attrs) \ libssh2_sftp_stat_ex((sftp), (path), strlen(path), LIBSSH2_SFTP_SETSTAT, \ (attrs)) LIBSSH2_API int libssh2_sftp_symlink_ex(LIBSSH2_SFTP *sftp, const char *path, unsigned int path_len, char *target, unsigned int target_len, int link_type); #define libssh2_sftp_symlink(sftp, orig, linkpath) \ libssh2_sftp_symlink_ex((sftp), (orig), strlen(orig), (linkpath), \ strlen(linkpath), LIBSSH2_SFTP_SYMLINK) #define libssh2_sftp_readlink(sftp, path, target, maxlen) \ libssh2_sftp_symlink_ex((sftp), (path), strlen(path), (target), (maxlen), \ LIBSSH2_SFTP_READLINK) #define libssh2_sftp_realpath(sftp, path, target, maxlen) \ libssh2_sftp_symlink_ex((sftp), (path), strlen(path), (target), (maxlen), \ LIBSSH2_SFTP_REALPATH) #ifdef __cplusplus } /* extern "C" */ #endif #endif /* LIBSSH2_SFTP_H */
Save
cmd:
run