1ecab39ce5 2019-05-02 1: #include <xvfs-core.h>
303b2de493 2019-05-02 2: #include <unistd.h>
303b2de493 2019-05-02 3: #include <tcl.h>
303b2de493 2019-05-02 4:
303b2de493 2019-05-02 5: typedef enum {
303b2de493 2019-05-02 6: XVFS_FILE_TYPE_REG,
303b2de493 2019-05-02 7: XVFS_FILE_TYPE_DIR
303b2de493 2019-05-02 8: } xvfs_file_type_t;
303b2de493 2019-05-02 9:
303b2de493 2019-05-02 10: typedef Tcl_WideInt xvfs_size_t;
303b2de493 2019-05-02 11:
303b2de493 2019-05-02 12: struct xvfs_file_data {
303b2de493 2019-05-02 13: const char *name;
303b2de493 2019-05-02 14: xvfs_file_type_t type;
303b2de493 2019-05-02 15: xvfs_size_t size;
303b2de493 2019-05-02 16: const unsigned char *data;
303b2de493 2019-05-02 17: };
47dcf5fc27 2019-05-01 18:
47dcf5fc27 2019-05-01 19: <?
47dcf5fc27 2019-05-01 20: package require xvfs
47dcf5fc27 2019-05-01 21: xvfs::main $argv
47dcf5fc27 2019-05-01 22: ?>
303b2de493 2019-05-02 23:
47dcf5fc27 2019-05-01 24: static const char **xvfs_<?= $::xvfs::fsName ?>_getChildren(const char *path, Tcl_WideInt limit) {
f74a2e47ab 2019-05-02 25: return(NULL);
47dcf5fc27 2019-05-01 26: }
47dcf5fc27 2019-05-01 27:
47dcf5fc27 2019-05-01 28: static const unsigned char *xvfs_<?= $::xvfs::fsName ?>_getData(const char *path, Tcl_WideInt start, Tcl_WideInt length) {
f74a2e47ab 2019-05-02 29: return(NULL);
47dcf5fc27 2019-05-01 30: }
47dcf5fc27 2019-05-01 31:
47dcf5fc27 2019-05-01 32: int Xvfs_<?= $::xvfs::fsName ?>_Init() {
f74a2e47ab 2019-05-02 33: int register_ret;
f74a2e47ab 2019-05-02 34:
f74a2e47ab 2019-05-02 35: register_ret = Xvfs_Register("<?= $::xvfs::fsName ?>", XVFS_PROTOCOL_VERSION, xvfs_<?= $::xvfs::fsName ?>_getChildren, xvfs_<?= $::xvfs::fsName ?>_getData);
f74a2e47ab 2019-05-02 36: if (register_ret != TCL_OK) {
f74a2e47ab 2019-05-02 37: return(register_ret);
f74a2e47ab 2019-05-02 38: }
f74a2e47ab 2019-05-02 39:
f74a2e47ab 2019-05-02 40: return(TCL_OK);
47dcf5fc27 2019-05-01 41: }