1ecab39ce5 2019-05-02 rkeene: #ifndef XVFS_COMMON_H_1B4B28D60EBAA11D5FF85642FA7CA22C29E8E817
1ecab39ce5 2019-05-02 rkeene: #define XVFS_COMMON_H_1B4B28D60EBAA11D5FF85642FA7CA22C29E8E817 1
1ecab39ce5 2019-05-02 rkeene:
f74a2e47ab 2019-05-02 rkeene: #include <tcl.h>
f74a2e47ab 2019-05-02 rkeene:
1ecab39ce5 2019-05-02 rkeene: #define XVFS_PROTOCOL_VERSION 1
f74a2e47ab 2019-05-02 rkeene:
32b55a907b 2019-05-02 rkeene: typedef const char **(*xvfs_proc_getChildren_t)(const char *path, Tcl_WideInt *count);
32b55a907b 2019-05-02 rkeene: typedef const unsigned char *(*xvfs_proc_getData_t)(const char *path, Tcl_WideInt start, Tcl_WideInt *length);
d121970301 2019-05-02 rkeene: typedef int (*xvfs_proc_getInfo_t)(const char *path, Tcl_StatBuf *statBuf);
e5b6962adf 2019-05-02 rkeene:
e5b6962adf 2019-05-02 rkeene: struct Xvfs_FSInfo {
e5b6962adf 2019-05-02 rkeene: int protocolVersion;
d121970301 2019-05-02 rkeene: const char *name;
e5b6962adf 2019-05-02 rkeene: xvfs_proc_getChildren_t getChildrenProc;
e5b6962adf 2019-05-02 rkeene: xvfs_proc_getData_t getDataProc;
d121970301 2019-05-02 rkeene: xvfs_proc_getInfo_t getInfoProc;
e5b6962adf 2019-05-02 rkeene: };
acfc5037c6 2019-05-02 rkeene:
acfc5037c6 2019-05-02 rkeene: #if XVFS_MODE == standalone
acfc5037c6 2019-05-02 rkeene: #define Xvfs_Register(interp, fsInfo) xvfs_standalone_register(interp, fsInfo)
acfc5037c6 2019-05-02 rkeene: #endif
f74a2e47ab 2019-05-02 rkeene:
e5b6962adf 2019-05-02 rkeene: int Xvfs_Register(Tcl_Interp *interp, struct Xvfs_FSInfo *fsInfo);
1ecab39ce5 2019-05-02 rkeene:
1ecab39ce5 2019-05-02 rkeene: #endif