geom_gate userland utility improvements
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

622 lines
33 KiB

  1. * Copyright (c) 2015, Patrick Monnerat, D+H <patrick.monnerat@dh.com>
  2. * All rights reserved.
  3. *
  4. * Redistribution and use in source and binary forms,
  5. * with or without modification, are permitted provided
  6. * that the following conditions are met:
  7. *
  8. * Redistributions of source code must retain the above
  9. * copyright notice, this list of conditions and the
  10. * following disclaimer.
  11. *
  12. * Redistributions in binary form must reproduce the above
  13. * copyright notice, this list of conditions and the following
  14. * disclaimer in the documentation and/or other materials
  15. * provided with the distribution.
  16. *
  17. * Neither the name of the copyright holder nor the names
  18. * of any other contributors may be used to endorse or
  19. * promote products derived from this software without
  20. * specific prior written permission.
  21. *
  22. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
  23. * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
  24. * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  25. * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  26. * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
  27. * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  28. * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
  29. * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  30. * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  31. * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  32. * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  33. * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
  34. * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
  35. * OF SUCH DAMAGE.
  36. /if not defined(LIBSSH2_SFTP_H_)
  37. /define LIBSSH2_SFTP_H_
  38. /include "libssh2rpg/libssh2"
  39. * Note: Version 6 was documented at the time of writing
  40. * However it was marked as "DO NOT IMPLEMENT" due to pending changes
  41. *
  42. * Let's start with Version 3 (The version found in OpenSSH) and go from
  43. * there.
  44. d LIBSSH2_SFTP_VERSION...
  45. d c 3
  46. * Flags for open_ex().
  47. d LIBSSH2_SFTP_OPENFILE...
  48. d c 0
  49. d LIBSSH2_SFTP_OPENDIR...
  50. d c 1
  51. * Flags for rename_ex().
  52. d LIBSSH2_SFTP_RENAME_OVERWRITE...
  53. d c X'00000001'
  54. d LIBSSH2_SFTP_RENAME_ATOMIC...
  55. d c X'00000002'
  56. d LIBSSH2_SFTP_RENAME_NATIVE...
  57. d c X'00000004'
  58. * Flags for stat_ex().
  59. d LIBSSH2_SFTP_STAT...
  60. d c 0
  61. d LIBSSH2_SFTP_LSTAT...
  62. d c 1
  63. d LIBSSH2_SFTP_SETSTAT...
  64. d c 2
  65. * Flags for symlink_ex().
  66. d LIBSSH2_SFTP_SYMLINK...
  67. d c 0
  68. d LIBSSH2_SFTP_READLINK...
  69. d c 1
  70. d LIBSSH2_SFTP_REALPATH...
  71. d c 2
  72. * SFTP attribute flag bits.
  73. d LIBSSH2_SFTP_ATTR_SIZE...
  74. d c X'00000001'
  75. d LIBSSH2_SFTP_ATTR_UIDGID...
  76. d c X'00000002'
  77. d LIBSSH2_SFTP_ATTR_PERMISSIONS...
  78. d c X'00000004'
  79. d LIBSSH2_SFTP_ATTR_ACMODTIME...
  80. d c X'00000008'
  81. d LIBSSH2_SFTP_ATTR_EXTENDED...
  82. d c X'80000000'
  83. * SFTP statvfs flag bits.
  84. d LIBSSH2_SFTP_ST_RDONLY...
  85. d c X'00000001'
  86. d LIBSSH2_SFTP_ST_NOSUID...
  87. d c X'00000002'
  88. d #LIBSSH2_SFTP_ATTRIBUTES...
  89. d ds based(######typedef######)
  90. d align qualified
  91. * If flags & ATTR_* bit is set, then the value in this struct will be
  92. * meaningful Otherwise it should be ignored.
  93. d flags like(libssh2_Culong)
  94. d filesize like(libssh2_uint64_t)
  95. d uid like(libssh2_Culong)
  96. d gid like(libssh2_Culong)
  97. d permissions like(libssh2_Culong)
  98. d atime like(libssh2_Culong)
  99. d mtime like(libssh2_Culong)
  100. d #LIBSSH2_SFTP_STATVFS...
  101. d ds based(######typedef######)
  102. d align qualified
  103. d f_bsize like(libssh2_uint64_t) Filesys block size
  104. d f_frsize like(libssh2_uint64_t) Fragment size
  105. d f_blocks like(libssh2_uint64_t) FS size in f_frsize
  106. d f_bfree like(libssh2_uint64_t) Free blocks
  107. d f_bavail like(libssh2_uint64_t) Free blks f. nonroot
  108. d f_files like(libssh2_uint64_t) Inodes
  109. d f_ffree like(libssh2_uint64_t) Free inodes
  110. d f_favail like(libssh2_uint64_t) Free inds f. nonroot
  111. d f_fsid like(libssh2_uint64_t) File system ID
  112. d f_flag like(libssh2_uint64_t) Mount flags
  113. d f_namemax like(libssh2_uint64_t) Max filename length
  114. * SFTP filetypes.
  115. d LIBSSH2_SFTP_TYPE_REGULAR...
  116. d c 1
  117. d LIBSSH2_SFTP_TYPE_DIRECTORY...
  118. d c 2
  119. d LIBSSH2_SFTP_TYPE_SYMLINK...
  120. d c 3
  121. d LIBSSH2_SFTP_TYPE_SPECIAL...
  122. d c 4
  123. d LIBSSH2_SFTP_TYPE_UNKNOWN...
  124. d c 5
  125. d LIBSSH2_SFTP_TYPE_SOCKET...
  126. d c 6
  127. d LIBSSH2_SFTP_TYPE_CHAR_DEVICE...
  128. d c 7
  129. d LIBSSH2_SFTP_TYPE_BLOCK_DEVICE...
  130. d c 8
  131. d LIBSSH2_SFTP_TYPE_FIFO...
  132. d c 9
  133. * Reproduce the POSIX file modes here for systems that are not POSIX
  134. * compliant.
  135. *
  136. * These is used in "permissions" of "struct _LIBSSH2_SFTP_ATTRIBUTES"
  137. * File type.
  138. d LIBSSH2_SFTP_S_IFMT... type of file mask
  139. d c X'F000'
  140. d LIBSSH2_SFTP_S_IFIFO... named pipe (fifo)
  141. d c X'1000'
  142. d LIBSSH2_SFTP_S_IFCHR... character special
  143. d c X'2000'
  144. d LIBSSH2_SFTP_S_IFDIR... directory
  145. d c X'4000'
  146. d LIBSSH2_SFTP_S_IFBLK... block special
  147. d c X'6000'
  148. d LIBSSH2_SFTP_S_IFREG... regular
  149. d c X'8000'
  150. d LIBSSH2_SFTP_S_IFLNK... symbolic link
  151. d c X'A000'
  152. d LIBSSH2_SFTP_S_IFSOCK... socket
  153. d c X'C000'
  154. * File mode.
  155. * Read, write, execute/search by owner.
  156. d LIBSSH2_SFTP_S_IRWXU... RWX mask for owner
  157. d c X'01C0'
  158. d LIBSSH2_SFTP_S_IRUSR... R for owner
  159. d c X'0100'
  160. d LIBSSH2_SFTP_S_IWUSR... W for owner
  161. d c X'0080'
  162. d LIBSSH2_SFTP_S_IXUSR... X for owner
  163. d c X'0040'
  164. * Read, write, execute/search by group.
  165. d LIBSSH2_SFTP_S_IRWXG... RWX mask for group
  166. d c X'0038'
  167. d LIBSSH2_SFTP_S_IRGRP... R for group
  168. d c X'0020'
  169. d LIBSSH2_SFTP_S_IWGRP... W for group
  170. d c X'0010'
  171. d LIBSSH2_SFTP_S_IXGRP... X for group
  172. d c X'0008'
  173. * Read, write, execute/search by others.
  174. d LIBSSH2_SFTP_S_IRWXO... RWX mask for other
  175. d c X'0007'
  176. d LIBSSH2_SFTP_S_IROTH... R for other
  177. d c X'0004'
  178. d LIBSSH2_SFTP_S_IWOTH... W for other
  179. d c X'0002'
  180. d LIBSSH2_SFTP_S_IXOTH... X for other
  181. d c X'0001'
  182. * C macro implementation.
  183. d LIBSSH2_SFTP_S_ISLNK...
  184. d pr extproc('LIBSSH2_SFTP_S_ISLNK')
  185. d like(libssh2_Cint)
  186. d permissions value like(libssh2_Culong)
  187. * C macro implementation.
  188. d LIBSSH2_SFTP_S_ISREG...
  189. d pr extproc('LIBSSH2_SFTP_S_ISREG')
  190. d like(libssh2_Cint)
  191. d permissions value like(libssh2_Culong)
  192. * C macro implementation.
  193. d LIBSSH2_SFTP_S_ISDIR...
  194. d pr extproc('LIBSSH2_SFTP_S_ISDIR')
  195. d like(libssh2_Cint)
  196. d permissions value like(libssh2_Culong)
  197. * C macro implementation.
  198. d LIBSSH2_SFTP_S_ISCHR...
  199. d pr extproc('LIBSSH2_SFTP_S_ISCHR')
  200. d like(libssh2_Cint)
  201. d permissions value like(libssh2_Culong)
  202. * C macro implementation.
  203. d LIBSSH2_SFTP_S_ISBLK...
  204. d pr extproc('LIBSSH2_SFTP_S_ISBLK')
  205. d like(libssh2_Cint)
  206. d permissions value like(libssh2_Culong)
  207. * C macro implementation.
  208. d LIBSSH2_SFTP_S_ISFIFO...
  209. d pr extproc('LIBSSH2_SFTP_S_ISFIFO')
  210. d like(libssh2_Cint)
  211. d permissions value like(libssh2_Culong)
  212. * C macro implementation.
  213. d LIBSSH2_SFTP_S_ISSOCK...
  214. d pr extproc('LIBSSH2_SFTP_S_ISSOCK')
  215. d like(libssh2_Cint)
  216. d permissions value like(libssh2_Culong)
  217. * SFTP File Transfer Flags -- (e.g. flags parameter to sftp_open())
  218. * Danger will robinson... APPEND doesn't have any effect on OpenSSH
  219. * servers.
  220. d LIBSSH2_FXF_READ...
  221. d c X'00000001'
  222. d LIBSSH2_FXF_WRITE...
  223. d c X'00000002'
  224. d LIBSSH2_FXF_APPEND...
  225. d c X'00000004'
  226. d LIBSSH2_FXF_CREAT...
  227. d c X'00000008'
  228. d LIBSSH2_FXF_TRUNC...
  229. d c X'00000010'
  230. d LIBSSH2_FXF_EXCL...
  231. d c X'00000020'
  232. * SFTP Status Codes (returned by libssh2_sftp_last_error()).
  233. d LIBSSH2_FX_OK...
  234. d c 0
  235. d LIBSSH2_FX_EOF...
  236. d c 1
  237. d LIBSSH2_FX_NO_SUCH_FILE...
  238. d c 2
  239. d LIBSSH2_FX_PERMISSION_DENIED...
  240. d c 3
  241. d LIBSSH2_FX_FAILURE...
  242. d c 4
  243. d LIBSSH2_FX_BAD_MESSAGE...
  244. d c 5
  245. d LIBSSH2_FX_NO_CONNECTION...
  246. d c 6
  247. d LIBSSH2_FX_CONNECTION_LOST...
  248. d c 7
  249. d LIBSSH2_FX_OP_UNSUPPORTED...
  250. d c 8
  251. d LIBSSH2_FX_INVALID_HANDLE...
  252. d c 9
  253. d LIBSSH2_FX_NO_SUCH_PATH...
  254. d c 10
  255. d LIBSSH2_FX_FILE_ALREADY_EXISTS...
  256. d c 11
  257. d LIBSSH2_FX_WRITE_PROTECT...
  258. d c 12
  259. d LIBSSH2_FX_NO_MEDIA...
  260. d c 13
  261. d LIBSSH2_FX_NO_SPACE_ON_FILESYSTEM...
  262. d c 14
  263. d LIBSSH2_FX_QUOTA_EXCEEDED...
  264. d c 15
  265. d LIBSSH2_FX_UNKNOWN_PRINCIPAL...
  266. d c 16
  267. d LIBSSH2_FX_LOCK_CONFLICT...
  268. d c 17
  269. d LIBSSH2_FX_DIR_NOT_EMPTY...
  270. d c 18
  271. d LIBSSH2_FX_NOT_A_DIRECTORY...
  272. d c 19
  273. d LIBSSH2_FX_INVALID_FILENAME...
  274. d c 20
  275. d LIBSSH2_FX_LINK_LOOP...
  276. d c 21
  277. * Returned by any function that would block during a read/write operation.
  278. d LIBSSH2SFTP_EAGAIN...
  279. d c -37
  280. * SFTP API.
  281. d libssh2_sftp_init...
  282. d pr * extproc('libssh2_sftp_init') LIBSSH2_SFTP *
  283. d session * value LIBSSH2_SESSION *
  284. d libssh2_sftp_shutdown...
  285. d pr extproc('libssh2_sftp_shutdown')
  286. d like(libssh2_Cint)
  287. d sftp * value LIBSSH2_SFTP *
  288. d libssh2_sftp_last_error...
  289. d pr extproc('libssh2_sftp_last_error')
  290. d like(libssh2_Culong)
  291. d sftp * value LIBSSH2_SFTP *
  292. d libssh2_sftp_get_channel...
  293. d pr * extproc('libssh2_sftp_get_channel') LIBSSH2_CHANNEL *
  294. d sftp * value LIBSSH2_SFTP *
  295. * File / Directory Ops.
  296. d libssh2_sftp_open_ex...
  297. d pr * extproc('libssh2_sftp_open_ex') LIBSSH2_SFTP_HANDLE*
  298. d sftp * value LIBSSH2_SFTP *
  299. d filename * value options(*string) const char *
  300. d filename_len value like(libssh2_Cuint)
  301. d flags value like(libssh2_Culong)
  302. d mode value like(libssh2_Clong)
  303. d open_type value like(libssh2_Cint)
  304. * C macro implementation.
  305. d libssh2_sftp_open...
  306. d pr * extproc('libssh2_sftp_open') LIBSSH2_SFTP_HANDLE
  307. d *
  308. d sftp * value LIBSSH2_SFTP *
  309. d filename * value options(*string) const char *
  310. d flags value like(libssh2_Culong)
  311. d mode value like(libssh2_Clong)
  312. * C macro libssh2_sftp_opendir implementation.
  313. * Renamed to avoid upper/lower case name clash.
  314. d libssh2_sftp_open_dir...
  315. d pr * extproc('libssh2_sftp_opendir') LIBSSH2_SFTP_HANDLE
  316. d *
  317. d sftp * value LIBSSH2_SFTP *
  318. d path * value options(*string) const char *
  319. d libssh2_sftp_read...
  320. d pr extproc('libssh2_sftp_read')
  321. d like(libssh2_Cssize_t)
  322. d handle * value LIBSSH2_SFTP_HANDLE*
  323. d buffer * value options(*string) char *
  324. d buffer_maxlen value like(libssh2_Csize_t)
  325. d libssh2_sftp_readdir_ex...
  326. d pr extproc('libssh2_sftp_readdir_ex')
  327. d like(libssh2_Cint)
  328. d handle * value LIBSSH2_SFTP_HANDLE*
  329. d buffer * value char *
  330. d buffer_maxlen value like(libssh2_Csize_t)
  331. d longentry * value char *
  332. d longentry_maxlen...
  333. d value like(libssh2_Csize_t)
  334. d attrs * value LIBSSH2_SFTP_...
  335. d ATTRIBUTES *
  336. * C macro implementation.
  337. d libssh2_sftp_readdir...
  338. d pr extproc('libssh2_sftp_readdir')
  339. d like(libssh2_Cint)
  340. d handle * value LIBSSH2_SFTP_HANDLE*
  341. d buffer * value char *
  342. d buffer_maxlen value like(libssh2_Csize_t)
  343. d attrs * value LIBSSH2_SFTP_...
  344. d ATTRIBUTES *
  345. d libssh2_sftp_write...
  346. d pr extproc('libssh2_sftp_write')
  347. d like(libssh2_Cssize_t)
  348. d handle * value LIBSSH2_SFTP_HANDLE*
  349. d buffer * value options(*string) const char *
  350. d count value like(libssh2_Csize_t)
  351. d libssh2_sftp_fsync...
  352. d pr extproc('libssh2_sftp_fsync')
  353. d like(libssh2_Cint)
  354. d handle * value LIBSSH2_SFTP_HANDLE*
  355. d libssh2_sftp_close_handle...
  356. d pr extproc('libssh2_sftp_close_handle')
  357. d like(libssh2_Cint)
  358. d handle * value LIBSSH2_SFTP_HANDLE*
  359. * C macro implementation.
  360. d libssh2_sftp_close...
  361. d pr extproc('libssh2_sftp_close_handle')
  362. d like(libssh2_Cint)
  363. d handle * value LIBSSH2_SFTP_HANDLE*
  364. * C macro implementation.
  365. d libssh2_sftp_closedir...
  366. d pr extproc('libssh2_sftp_close_handle')
  367. d like(libssh2_Cint)
  368. d handle * value LIBSSH2_SFTP_HANDLE*
  369. d libssh2_sftp_seek...
  370. d pr extproc('libssh2_sftp_seek')
  371. d handle * value LIBSSH2_SFTP_HANDLE*
  372. d offset value like(libssh2_Csize_t)
  373. d libssh2_sftp_seek64...
  374. d pr extproc('libssh2_sftp_seek64')
  375. d handle * value LIBSSH2_SFTP_HANDLE*
  376. d offset value like(libssh2_uint64_t)
  377. * C macro implementation.
  378. d libssh2_sftp_rewind...
  379. d pr extproc('libssh2_sftp_rewind')
  380. d handle * value LIBSSH2_SFTP_HANDLE*
  381. d libssh2_sftp_tell...
  382. d pr extproc('libssh2_sftp_tell')
  383. d like(libssh2_Csize_t)
  384. d handle * value LIBSSH2_SFTP_HANDLE*
  385. d libssh2_sftp_tell64...
  386. d pr extproc('libssh2_sftp_tell64')
  387. d like(libssh2_uint64_t)
  388. d handle * value LIBSSH2_SFTP_HANDLE*
  389. d libssh2_sftp_fstat_ex...
  390. d pr extproc('libssh2_sftp_fstat_ex')
  391. d like(libssh2_Cint)
  392. d handle * value LIBSSH2_SFTP_HANDLE*
  393. d attrs * value LIBSSH2_SFTP_...
  394. d ATTRIBUTES *
  395. d setstat value like(libssh2_Cint)
  396. * C macro implementation.
  397. d libssh2_sftp_fstat...
  398. d pr extproc('libssh2_sftp_fstat')
  399. d like(libssh2_Cint)
  400. d handle * value LIBSSH2_SFTP_HANDLE*
  401. d attrs * value LIBSSH2_SFTP_...
  402. d ATTRIBUTES *
  403. * C macro implementation.
  404. d libssh2_sftp_fsetstat...
  405. d pr extproc('libssh2_sftp_fsetstat')
  406. d like(libssh2_Cint)
  407. d handle * value LIBSSH2_SFTP_HANDLE*
  408. d attrs * value LIBSSH2_SFTP_...
  409. d ATTRIBUTES *
  410. * Miscellaneous Ops.
  411. d libssh2_sftp_rename_ex...
  412. d pr extproc('libssh2_sftp_rename_ex')
  413. d like(libssh2_Cint)
  414. d sftp * value LIBSSH2_SFTP *
  415. d source_filename...
  416. d * value options(*string) const char *
  417. d source_filename_len...
  418. d value like(libssh2_Cuint)
  419. d dest_filename * value options(*string) const char *
  420. d dest_filename_len...
  421. d value like(libssh2_Cuint)
  422. d flags value like(libssh2_Clong)
  423. * C macro implementation.
  424. d libssh2_sftp_rename...
  425. d pr extproc('libssh2_sftp_rename')
  426. d like(libssh2_Cint)
  427. d sftp * value LIBSSH2_SFTP *
  428. d source_filename...
  429. d * value options(*string) const char *
  430. d dest_filename * value options(*string) const char *
  431. d libssh2_sftp_unlink_ex...
  432. d pr extproc('libssh2_sftp_unlink_ex')
  433. d like(libssh2_Cint)
  434. d sftp * value LIBSSH2_SFTP *
  435. d filename * value options(*string) const char *
  436. d filename_len value like(libssh2_Cuint)
  437. * C macro implementation.
  438. d libssh2_sftp_unlink...
  439. d pr extproc('libssh2_sftp_unlink')
  440. d like(libssh2_Cint)
  441. d sftp * value LIBSSH2_SFTP *
  442. d filename * value options(*string) const char *
  443. d libssh2_sftp_fstatvfs...
  444. d pr extproc('libssh2_sftp_fstatvfs')
  445. d like(libssh2_Cint)
  446. d handle * value LIBSSH2_SFTP_HANDLE*
  447. d st * value LIBSSH2_SFTP_STATVFS
  448. d *
  449. d libssh2_sftp_statvfs...
  450. d pr extproc('libssh2_sftp_statvfs')
  451. d like(libssh2_Cint)
  452. d sftp * value LIBSSH2_SFTP *
  453. d path * value options(*string) const char *
  454. d path_len value like(libssh2_Csize_t)
  455. d st * value LIBSSH2_SFTP_STATVFS
  456. d *
  457. d libssh2_sftp_mkdir_ex...
  458. d pr extproc('libssh2_sftp_mkdir_ex')
  459. d like(libssh2_Cint)
  460. d sftp * value LIBSSH2_SFTP *
  461. d path * value options(*string) const char *
  462. d path_len value like(libssh2_Cuint)
  463. d mode value like(libssh2_Clong)
  464. * C macro implementation.
  465. d libssh2_sftp_mkdir...
  466. d pr extproc('libssh2_sftp_mkdir')
  467. d like(libssh2_Cint)
  468. d sftp * value LIBSSH2_SFTP *
  469. d path * value options(*string) const char *
  470. d mode value like(libssh2_Clong)
  471. d libssh2_sftp_rmdir_ex...
  472. d pr extproc('libssh2_sftp_rmdir_ex')
  473. d like(libssh2_Cint)
  474. d sftp * value LIBSSH2_SFTP *
  475. d path * value options(*string) const char *
  476. d path_len value like(libssh2_Cuint)
  477. * C macro implementation.
  478. d libssh2_sftp_rmdir...
  479. d pr extproc('libssh2_sftp_rmdir')
  480. d like(libssh2_Cint)
  481. d sftp * value LIBSSH2_SFTP *
  482. d path * value options(*string) const char *
  483. d libssh2_sftp_stat_ex...
  484. d pr extproc('libssh2_sftp_stat_ex')
  485. d like(libssh2_Cint)
  486. d sftp * value LIBSSH2_SFTP *
  487. d path * value options(*string) const char *
  488. d path_len value like(libssh2_Cuint)
  489. d stat_type value like(libssh2_Cint)
  490. d attrs * value LIBSSH2_SFTP_...
  491. d ATTRIBUTES *
  492. * C macro libssh2_sftp_stat implementation.
  493. * Renamed to avoid upper/lower case name clash.
  494. d libssh2_sftp_get_stat...
  495. d pr extproc('libssh2_sftp_stat')
  496. d like(libssh2_Cint)
  497. d sftp * value LIBSSH2_SFTP *
  498. d path * value options(*string) const char *
  499. d attrs * value LIBSSH2_SFTP_...
  500. d ATTRIBUTES *
  501. * C macro libssh2_sftp_lstat implementation.
  502. * Renamed to avoid upper/lower case name clash.
  503. d libssh2_sftp_get_lstat...
  504. d pr extproc('libssh2_sftp_lstat')
  505. d like(libssh2_Cint)
  506. d sftp * value LIBSSH2_SFTP *
  507. d path * value options(*string) const char *
  508. d attrs * value LIBSSH2_SFTP_...
  509. d ATTRIBUTES *
  510. * C macro libssh2_sftp_setstat implementation.
  511. * Renamed to avoid upper/lower case name clash.
  512. d libssh2_sftp_set_stat...
  513. d pr extproc('libssh2_sftp_setstat')
  514. d like(libssh2_Cint)
  515. d sftp * value LIBSSH2_SFTP *
  516. d path * value options(*string) const char *
  517. d attrs * value LIBSSH2_SFTP_...
  518. d ATTRIBUTES *
  519. d libssh2_sftp_symlink_ex...
  520. d pr extproc('libssh2_sftp_symlink_ex')
  521. d like(libssh2_Cint)
  522. d sftp * value LIBSSH2_SFTP *
  523. d path * value options(*string) const char *
  524. d path_len value like(libssh2_Cuint)
  525. d target * value options(*string) char *
  526. d target_len value like(libssh2_Cuint)
  527. d link_type value like(libssh2_Cint)
  528. * C macro libssh2_sftp_symlink implementation.
  529. * Renamed to avoid upper/lower case name clash.
  530. d libssh2_sftp_sym_link...
  531. d pr extproc('libssh2_sftp_symlink')
  532. d like(libssh2_Cint)
  533. d sftp * value LIBSSH2_SFTP *
  534. d orig * value options(*string) const char *
  535. d linkpath * value options(*string) char *
  536. * C macro libssh2_sftp_readlink implementation.
  537. * Renamed to avoid upper/lower case name clash.
  538. d libssh2_sftp_read_link...
  539. d pr extproc('libssh2_sftp_readlink')
  540. d like(libssh2_Cint)
  541. d sftp * value LIBSSH2_SFTP *
  542. d path * value options(*string) const char *
  543. d target * value char *
  544. d maxlen value like(libssh2_Cuint)
  545. * C macro libssh2_sftp_realpath implementation.
  546. * Renamed to avoid upper/lower case name clash.
  547. d libssh2_sftp_real_path...
  548. d pr extproc('libssh2_sftp_realpath')
  549. d like(libssh2_Cint)
  550. d sftp * value LIBSSH2_SFTP *
  551. d path * value options(*string) const char *
  552. d target * value char *
  553. d maxlen value like(libssh2_Cuint)
  554. /endif LIBSSH2_SFTP_H_