Annotation of src/usr.bin/ssh/sftp.h, Revision 1.3
1.3 ! djm 1: /* $OpenBSD: sftp.h,v 1.2 2001/01/29 01:58:18 niklas Exp $ */
1.2 niklas 2:
1.1 markus 3: /*
4: * Copyright (c) 2001 Markus Friedl. All rights reserved.
5: *
6: * Redistribution and use in source and binary forms, with or without
7: * modification, are permitted provided that the following conditions
8: * are met:
9: * 1. Redistributions of source code must retain the above copyright
10: * notice, this list of conditions and the following disclaimer.
11: * 2. Redistributions in binary form must reproduce the above copyright
12: * notice, this list of conditions and the following disclaimer in the
13: * documentation and/or other materials provided with the distribution.
14: *
15: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16: * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18: * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19: * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20: * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24: * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25: */
26:
27: /*
1.3 ! djm 28: * draft-ietf-secsh-filexfer-01.txt
1.1 markus 29: */
30:
31: /* version */
1.3 ! djm 32: #define SSH2_FILEXFER_VERSION 3
1.1 markus 33:
34: /* client to server */
35: #define SSH2_FXP_INIT 1
36: #define SSH2_FXP_OPEN 3
37: #define SSH2_FXP_CLOSE 4
38: #define SSH2_FXP_READ 5
39: #define SSH2_FXP_WRITE 6
40: #define SSH2_FXP_LSTAT 7
41: #define SSH2_FXP_FSTAT 8
42: #define SSH2_FXP_SETSTAT 9
43: #define SSH2_FXP_FSETSTAT 10
44: #define SSH2_FXP_OPENDIR 11
45: #define SSH2_FXP_READDIR 12
46: #define SSH2_FXP_REMOVE 13
47: #define SSH2_FXP_MKDIR 14
48: #define SSH2_FXP_RMDIR 15
49: #define SSH2_FXP_REALPATH 16
50: #define SSH2_FXP_STAT 17
51: #define SSH2_FXP_RENAME 18
1.3 ! djm 52: #define SSH2_FXP_READLINK 19
! 53: #define SSH2_FXP_SYMLINK 20
1.1 markus 54:
55: /* server to client */
56: #define SSH2_FXP_VERSION 2
57: #define SSH2_FXP_STATUS 101
58: #define SSH2_FXP_HANDLE 102
59: #define SSH2_FXP_DATA 103
60: #define SSH2_FXP_NAME 104
61: #define SSH2_FXP_ATTRS 105
62:
63: #define SSH2_FXP_EXTENDED 200
64: #define SSH2_FXP_EXTENDED_REPLY 201
65:
66: /* attributes */
67: #define SSH2_FILEXFER_ATTR_SIZE 0x00000001
68: #define SSH2_FILEXFER_ATTR_UIDGID 0x00000002
69: #define SSH2_FILEXFER_ATTR_PERMISSIONS 0x00000004
70: #define SSH2_FILEXFER_ATTR_ACMODTIME 0x00000008
71: #define SSH2_FILEXFER_ATTR_EXTENDED 0x80000000
72:
73: /* portable open modes */
74: #define SSH2_FXF_READ 0x00000001
75: #define SSH2_FXF_WRITE 0x00000002
76: #define SSH2_FXF_APPEND 0x00000004
77: #define SSH2_FXF_CREAT 0x00000008
78: #define SSH2_FXF_TRUNC 0x00000010
79: #define SSH2_FXF_EXCL 0x00000020
80:
81: /* status messages */
82: #define SSH2_FX_OK 0
83: #define SSH2_FX_EOF 1
84: #define SSH2_FX_NO_SUCH_FILE 2
85: #define SSH2_FX_PERMISSION_DENIED 3
86: #define SSH2_FX_FAILURE 4
87: #define SSH2_FX_BAD_MESSAGE 5
88: #define SSH2_FX_NO_CONNECTION 6
89: #define SSH2_FX_CONNECTION_LOST 7
90: #define SSH2_FX_OP_UNSUPPORTED 8
1.3 ! djm 91: #define SSH2_FX_MAX 8