ELinks 0.18.0
fsplib.h File Reference
#include <time.h>
#include <dirent.h>
#include <sys/stat.h>
#include <stddef.h>
Include dependency graph for fsplib.h:
This graph shows which files directly or indirectly include this file:

Data Structures

struct  FSP_PKT
struct  FSP_SESSION
struct  FSP_DIR
struct  FSP_RDENTRY
struct  FSP_FILE

Macros

#define FSP_CC_VERSION   0x10 /* return server's version string. */
#define FSP_CC_INFO   0x11 /* return server's extended info block */
#define FSP_CC_ERR   0x40 /* error response from server. */
#define FSP_CC_GET_DIR   0x41 /* get a directory listing. */
#define FSP_CC_GET_FILE   0x42 /* get a file. */
#define FSP_CC_UP_LOAD   0x43 /* open a file for writing. */
#define FSP_CC_INSTALL   0x44 /* close a file opened for writing. */
#define FSP_CC_DEL_FILE   0x45 /* delete a file. */
#define FSP_CC_DEL_DIR   0x46 /* delete a directory. */
#define FSP_CC_GET_PRO   0x47 /* get directory protection. */
#define FSP_CC_SET_PRO   0x48 /* set directory protection. */
#define FSP_CC_MAKE_DIR   0x49 /* create a directory. */
#define FSP_CC_BYE   0x4A /* finish a session. */
#define FSP_CC_GRAB_FILE   0x4B /* atomic get+delete a file. */
#define FSP_CC_GRAB_DONE   0x4C /* atomic get+delete a file done. */
#define FSP_CC_STAT   0x4D /* get information about file. */
#define FSP_CC_RENAME   0x4E /* rename file or directory. */
#define FSP_CC_CH_PASSWD   0x4F /* change password */
#define FSP_CC_LIMIT   0x80 /* # > 0x7f for future cntrl blk ext. */
#define FSP_CC_TEST   0x81 /* reserved for testing */
#define FSP_HSIZE   12 /* 12 bytes for v2 header */
#define FSP_SPACE   1024 /* maximum payload. */
#define FSP_MAXPACKET   FSP_HSIZE+FSP_SPACE /* maximum packet size. */
#define FSP_OFFSET_CMD   0
#define FSP_OFFSET_SUM   1
#define FSP_OFFSET_KEY   2
#define FSP_OFFSET_SEQ   4
#define FSP_OFFSET_LEN   6
#define FSP_OFFSET_POS   8
#define FSP_RDTYPE_END   0x00
#define FSP_RDTYPE_FILE   0x01
#define FSP_RDTYPE_DIR   0x02
#define FSP_RDTYPE_LINK   0x03
#define FSP_RDTYPE_SKIP   0x2A
#define FSP_PRO_BYTES   1 /* currently only 8 bits or less of info */
#define FSP_DIR_OWNER   0x01 /* does caller own directory */
#define FSP_DIR_DEL   0x02 /* can files be deleted from this dir */
#define FSP_DIR_ADD   0x04 /* can files be added to this dir */
#define FSP_DIR_MKDIR   0x08 /* can new subdirectories be created */
#define FSP_DIR_GET   0x10 /* are files readable by non-owners? */
#define FSP_DIR_README   0x20 /* does this dir contain an readme file? */
#define FSP_DIR_LIST   0x40 /* public can list directory */
#define FSP_DIR_RENAME   0x80 /* can files be renamed in this dir */

Typedefs

typedef struct FSP_PKT FSP_PKT
typedef struct FSP_SESSION FSP_SESSION
typedef struct FSP_DIR FSP_DIR
typedef struct FSP_RDENTRY FSP_RDENTRY
typedef struct FSP_FILE FSP_FILE

Macro Definition Documentation

◆ FSP_CC_BYE

#define FSP_CC_BYE   0x4A /* finish a session. */

◆ FSP_CC_CH_PASSWD

#define FSP_CC_CH_PASSWD   0x4F /* change password */

◆ FSP_CC_DEL_DIR

#define FSP_CC_DEL_DIR   0x46 /* delete a directory. */

◆ FSP_CC_DEL_FILE

#define FSP_CC_DEL_FILE   0x45 /* delete a file. */

◆ FSP_CC_ERR

#define FSP_CC_ERR   0x40 /* error response from server. */

◆ FSP_CC_GET_DIR

#define FSP_CC_GET_DIR   0x41 /* get a directory listing. */

◆ FSP_CC_GET_FILE

#define FSP_CC_GET_FILE   0x42 /* get a file. */

◆ FSP_CC_GET_PRO

#define FSP_CC_GET_PRO   0x47 /* get directory protection. */

◆ FSP_CC_GRAB_DONE

#define FSP_CC_GRAB_DONE   0x4C /* atomic get+delete a file done. */

◆ FSP_CC_GRAB_FILE

#define FSP_CC_GRAB_FILE   0x4B /* atomic get+delete a file. */

◆ FSP_CC_INFO

#define FSP_CC_INFO   0x11 /* return server's extended info block */

◆ FSP_CC_INSTALL

#define FSP_CC_INSTALL   0x44 /* close a file opened for writing. */

◆ FSP_CC_LIMIT

#define FSP_CC_LIMIT   0x80 /* # > 0x7f for future cntrl blk ext. */

◆ FSP_CC_MAKE_DIR

#define FSP_CC_MAKE_DIR   0x49 /* create a directory. */

◆ FSP_CC_RENAME

#define FSP_CC_RENAME   0x4E /* rename file or directory. */

◆ FSP_CC_SET_PRO

#define FSP_CC_SET_PRO   0x48 /* set directory protection. */

◆ FSP_CC_STAT

#define FSP_CC_STAT   0x4D /* get information about file. */

◆ FSP_CC_TEST

#define FSP_CC_TEST   0x81 /* reserved for testing */

◆ FSP_CC_UP_LOAD

#define FSP_CC_UP_LOAD   0x43 /* open a file for writing. */

◆ FSP_CC_VERSION

#define FSP_CC_VERSION   0x10 /* return server's version string. */

◆ FSP_DIR_ADD

#define FSP_DIR_ADD   0x04 /* can files be added to this dir */

◆ FSP_DIR_DEL

#define FSP_DIR_DEL   0x02 /* can files be deleted from this dir */

◆ FSP_DIR_GET

#define FSP_DIR_GET   0x10 /* are files readable by non-owners? */

◆ FSP_DIR_LIST

#define FSP_DIR_LIST   0x40 /* public can list directory */

◆ FSP_DIR_MKDIR

#define FSP_DIR_MKDIR   0x08 /* can new subdirectories be created */

◆ FSP_DIR_OWNER

#define FSP_DIR_OWNER   0x01 /* does caller own directory */

◆ FSP_DIR_README

#define FSP_DIR_README   0x20 /* does this dir contain an readme file? */

◆ FSP_DIR_RENAME

#define FSP_DIR_RENAME   0x80 /* can files be renamed in this dir */

◆ FSP_HSIZE

#define FSP_HSIZE   12 /* 12 bytes for v2 header */

◆ FSP_MAXPACKET

#define FSP_MAXPACKET   FSP_HSIZE+FSP_SPACE /* maximum packet size. */

◆ FSP_OFFSET_CMD

#define FSP_OFFSET_CMD   0

◆ FSP_OFFSET_KEY

#define FSP_OFFSET_KEY   2

◆ FSP_OFFSET_LEN

#define FSP_OFFSET_LEN   6

◆ FSP_OFFSET_POS

#define FSP_OFFSET_POS   8

◆ FSP_OFFSET_SEQ

#define FSP_OFFSET_SEQ   4

◆ FSP_OFFSET_SUM

#define FSP_OFFSET_SUM   1

◆ FSP_PRO_BYTES

#define FSP_PRO_BYTES   1 /* currently only 8 bits or less of info */

◆ FSP_RDTYPE_DIR

#define FSP_RDTYPE_DIR   0x02

◆ FSP_RDTYPE_END

#define FSP_RDTYPE_END   0x00

◆ FSP_RDTYPE_FILE

#define FSP_RDTYPE_FILE   0x01

◆ FSP_RDTYPE_LINK

#define FSP_RDTYPE_LINK   0x03

◆ FSP_RDTYPE_SKIP

#define FSP_RDTYPE_SKIP   0x2A

◆ FSP_SPACE

#define FSP_SPACE   1024 /* maximum payload. */

Typedef Documentation

◆ FSP_DIR

typedef struct FSP_DIR FSP_DIR

◆ FSP_FILE

typedef struct FSP_FILE FSP_FILE

◆ FSP_PKT

typedef struct FSP_PKT FSP_PKT

◆ FSP_RDENTRY

typedef struct FSP_RDENTRY FSP_RDENTRY

◆ FSP_SESSION

typedef struct FSP_SESSION FSP_SESSION