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