sftp-common.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /* $OpenBSD: sftp-common.h,v 1.12 2015/01/14 13:54:13 djm Exp $ */
  2. /*
  3. * Copyright (c) 2001 Markus Friedl. All rights reserved.
  4. * Copyright (c) 2001 Damien Miller. 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. /* Maximum packet that we are willing to send/accept */
  27. #define SFTP_MAX_MSG_LENGTH (256 * 1024)
  28. struct sshbuf;
  29. typedef struct Attrib Attrib;
  30. /* File attributes */
  31. struct Attrib {
  32. u_int32_t flags;
  33. u_int64_t size;
  34. u_int32_t uid;
  35. u_int32_t gid;
  36. u_int32_t perm;
  37. u_int32_t atime;
  38. u_int32_t mtime;
  39. };
  40. void attrib_clear(Attrib *);
  41. void stat_to_attrib(const struct stat *, Attrib *);
  42. void attrib_to_stat(const Attrib *, struct stat *);
  43. int decode_attrib(struct sshbuf *, Attrib *);
  44. int encode_attrib(struct sshbuf *, const Attrib *);
  45. char *ls_file(const char *, const struct stat *, int, int);
  46. const char *fx2txt(int);