Annotation of src/usr.bin/ssh/sftp.h, Revision 1.4
1.4 ! djm 1: /* $OpenBSD: sftp.h,v 1.3 2001/03/07 10:11:23 djm 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
1.4 ! djm 41: #define SSH2_FXP_STAT_VERSION_0 7
1.1 markus 42: #define SSH2_FXP_FSTAT 8
43: #define SSH2_FXP_SETSTAT 9
44: #define SSH2_FXP_FSETSTAT 10
45: #define SSH2_FXP_OPENDIR 11
46: #define SSH2_FXP_READDIR 12
47: #define SSH2_FXP_REMOVE 13
48: #define SSH2_FXP_MKDIR 14
49: #define SSH2_FXP_RMDIR 15
50: #define SSH2_FXP_REALPATH 16
51: #define SSH2_FXP_STAT 17
52: #define SSH2_FXP_RENAME 18
1.3 djm 53: #define SSH2_FXP_READLINK 19
54: #define SSH2_FXP_SYMLINK 20
1.1 markus 55:
56: /* server to client */
57: #define SSH2_FXP_VERSION 2
58: #define SSH2_FXP_STATUS 101
59: #define SSH2_FXP_HANDLE 102
60: #define SSH2_FXP_DATA 103
61: #define SSH2_FXP_NAME 104
62: #define SSH2_FXP_ATTRS 105
63:
64: #define SSH2_FXP_EXTENDED 200
65: #define SSH2_FXP_EXTENDED_REPLY 201
66:
67: /* attributes */
68: #define SSH2_FILEXFER_ATTR_SIZE 0x00000001
69: #define SSH2_FILEXFER_ATTR_UIDGID 0x00000002
70: #define SSH2_FILEXFER_ATTR_PERMISSIONS 0x00000004
71: #define SSH2_FILEXFER_ATTR_ACMODTIME 0x00000008
72: #define SSH2_FILEXFER_ATTR_EXTENDED 0x80000000
73:
74: /* portable open modes */
75: #define SSH2_FXF_READ 0x00000001
76: #define SSH2_FXF_WRITE 0x00000002
77: #define SSH2_FXF_APPEND 0x00000004
78: #define SSH2_FXF_CREAT 0x00000008
79: #define SSH2_FXF_TRUNC 0x00000010
80: #define SSH2_FXF_EXCL 0x00000020
81:
82: /* status messages */
83: #define SSH2_FX_OK 0
84: #define SSH2_FX_EOF 1
85: #define SSH2_FX_NO_SUCH_FILE 2
86: #define SSH2_FX_PERMISSION_DENIED 3
87: #define SSH2_FX_FAILURE 4
88: #define SSH2_FX_BAD_MESSAGE 5
89: #define SSH2_FX_NO_CONNECTION 6
90: #define SSH2_FX_CONNECTION_LOST 7
91: #define SSH2_FX_OP_UNSUPPORTED 8
1.3 djm 92: #define SSH2_FX_MAX 8