亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fuse_lowlevel.h

?? UNIX/LINUX下面的用戶文件系統
?? H
?? 第 1 頁 / 共 3 頁
字號:
int fuse_reply_buf(fuse_req_t req, const char *buf, size_t size);/** * Reply with filesystem statistics * * Possible requests: *   statfs * * @param req request handle * @param stbuf filesystem statistics * @return zero for success, -errno for failure to send reply */int fuse_reply_statfs(fuse_req_t req, const struct statvfs *stbuf);/** * Reply with needed buffer size * * Possible requests: *   getxattr, listxattr * * @param req request handle * @param count the buffer size needed in bytes * @return zero for success, -errno for failure to send reply */int fuse_reply_xattr(fuse_req_t req, size_t count);/* ----------------------------------------------------------- * * Filling a buffer in readdir                                 * * ----------------------------------------------------------- *//** * Calculate the number of bytes a directory entry takes up * * @param namelen the length of the entry name * @return the number of bytes needed */size_t fuse_dirent_size(size_t namelen);/** * Add a directory entry to the buffer * * Buffer needs to be large enough to hold the entry * * From the 'stbuf' argument the st_ino field and bits 12-15 of the * st_mode field are used.  The other fields are ignored. * * Note: offsets do not necessarily represent physical offsets, and * could be any marker, that enables the implementation to find a * specific point in the directory stream. * * @param buf the point where the new entry will be added to the buffer * @param the name of the entry * @param stbuf the file attributes * @param off the offset of the next entry * @return a pointer to the start of the next entry in the buffer */char *fuse_add_dirent(char *buf, const char *name, const struct stat *stbuf,                      off_t off);/* ----------------------------------------------------------- * * Utility functions                                           * * ----------------------------------------------------------- *//** * Get the userdata from the request * * @param req request handle * @return the user data passed to fuse_lowlevel_new() */void *fuse_req_userdata(fuse_req_t req);/** * Get the context from the request * * The pointer returned by this function will only be valid for the * request's lifetime * * @param req request handle * @return the context structure */const struct fuse_ctx *fuse_req_ctx(fuse_req_t req);/* ----------------------------------------------------------- * * Filesystem setup                                            * * ----------------------------------------------------------- *//* Deprecated, don't use */int fuse_lowlevel_is_lib_option(const char *opt);/** * Create a low level session * * @param args argument vector * @param op the low level filesystem operations * @param op_size sizeof(struct fuse_lowlevel_ops) * @param userdata user data * @return the created session object, or NULL on failure */struct fuse_session *fuse_lowlevel_new(struct fuse_args *args,                                       const struct fuse_lowlevel_ops *op,                                       size_t op_size, void *userdata);/** * Create a kernel channel * * @param fd the file descriptor obtained from fuse_mount() * @return the created channel object, or NULL on failure */struct fuse_chan *fuse_kern_chan_new(int fd);/* ----------------------------------------------------------- * * Session interface                                           * * ----------------------------------------------------------- *//** * Session operations * * This is used in session creation */struct fuse_session_ops {    /**     * Hook to process a request (mandatory)     *     * @param data user data passed to fuse_session_new()     * @param buf buffer containing the raw request     * @param len request length     * @param ch channel on which the request was received     */    void (*process) (void *data, const char *buf, size_t len,                     struct fuse_chan *ch);    /**     * Hook for session exit and reset (optional)     *     * @param data user data passed to fuse_session_new()     * @param val exited status (1 - exited, 0 - not exited)     */    void (*exit) (void *data, int val);    /**     * Hook for querying the current exited status (optional)     *     * @param data user data passed to fuse_session_new()     * @return 1 if exited, 0 if not exited     */    int (*exited) (void *data);    /**     * Hook for cleaning up the channel on destroy (optional)     *     * @param data user data passed to fuse_session_new()     */    void (*destroy) (void *data);};/** * Create a new session * * @param op session operations * @param data user data * @return new session object, or NULL on failure */struct fuse_session *fuse_session_new(struct fuse_session_ops *op, void *data);/** * Assign a channel to a session * * Note: currently only a single channel may be assigned.  This may * change in the future * * If a session is destroyed, the assigned channel is also destroyed * * @param se the session * @param ch the channel */void fuse_session_add_chan(struct fuse_session *se, struct fuse_chan *ch);/** * Iterate over the channels assigned to a session * * The iterating function needs to start with a NULL channel, and * after that needs to pass the previously returned channel to the * function. * * @param se the session * @param ch the previous channel, or NULL * @return the next channel, or NULL if no more channels exist */struct fuse_chan *fuse_session_next_chan(struct fuse_session *se,                                         struct fuse_chan *ch);/** * Process a raw request * * @param se the session * @param buf buffer containing the raw request * @param len request length * @param ch channel on which the request was received */void fuse_session_process(struct fuse_session *se, const char *buf, size_t len,                          struct fuse_chan *ch);/** * Destroy a session * * @param se the session */void fuse_session_destroy(struct fuse_session *se);/** * Exit a session * * @param se the session */void fuse_session_exit(struct fuse_session *se);/** * Reset the exited status of a session * * @param se the session */void fuse_session_reset(struct fuse_session *se);/** * Query the exited status of a session * * @param se the session * @return 1 if exited, 0 if not exited */int fuse_session_exited(struct fuse_session *se);/** * Enter a single threaded event loop * * @param se the session * @return 0 on success, -1 on error */int fuse_session_loop(struct fuse_session *se);/** * Enter a multi-threaded event loop * * @param se the session * @return 0 on success, -1 on error */int fuse_session_loop_mt(struct fuse_session *se);/* ----------------------------------------------------------- * * Channel interface                                           * * ----------------------------------------------------------- *//** * Channel operations * * This is used in channel creation */struct fuse_chan_ops {    /**     * Hook for receiving a raw request     *     * @param ch the channel     * @param buf the buffer to store the request in     * @param size the size of the buffer     * @return the actual size of the raw request, or -1 on error     */    int (*receive)(struct fuse_chan *ch, char *buf, size_t size);    /**     * Hook for sending a raw reply     *     * A return value of -ENOENT means, that the request was     * interrupted, and the reply was discarded     *     * @param ch the channel     * @param iov vector of blocks     * @param count the number of blocks in vector     * @return zero on success, -errno on failure     */    int (*send)(struct fuse_chan *ch, const struct iovec iov[],                size_t count);    /**     * Destroy the channel     *     * @param ch the channel     */    void (*destroy)(struct fuse_chan *ch);};/** * Create a new channel * * @param op channel operations * @param fd file descriptor of the channel * @param bufsize the minimal receive buffer size * @param data user data * @return the new channel object, or NULL on failure */struct fuse_chan *fuse_chan_new(struct fuse_chan_ops *op, int fd,                                size_t bufsize, void *data);/** * Query the file descriptor of the channel * * @param ch the channel * @return the file descriptor passed to fuse_chan_new() */int fuse_chan_fd(struct fuse_chan *ch);/** * Query the minimal receive buffer size * * @param ch the channel * @return the buffer size passed to fuse_chan_new() */size_t fuse_chan_bufsize(struct fuse_chan *ch);/** * Query the user data * * @param ch the channel * @return the user data passed to fuse_chan_new() */void *fuse_chan_data(struct fuse_chan *ch);/** * Query the session to which this channel is assigned * * @param ch the channel * @return the session, or NULL if the channel is not assigned */struct fuse_session *fuse_chan_session(struct fuse_chan *ch);/** * Receive a raw request * * @param ch the channel * @param buf the buffer to store the request in * @param size the size of the buffer * @return the actual size of the raw request, or -1 on error */int fuse_chan_receive(struct fuse_chan *ch, char *buf, size_t size);/** * Send a raw reply * * A return value of -ENOENT means, that the request was * interrupted, and the reply was discarded * * @param ch the channel * @param iov vector of blocks * @param count the number of blocks in vector * @return zero on success, -errno on failure */int fuse_chan_send(struct fuse_chan *ch, const struct iovec iov[],                   size_t count);/** * Destroy a channel * * @param ch the channel */void fuse_chan_destroy(struct fuse_chan *ch);/* ----------------------------------------------------------- * * Signal handling                                             * * ----------------------------------------------------------- *//** * Exit session on HUP, TERM and INT signals and ignore PIPE signal * * Stores session in a global variable.  May only be called once per * process until fuse_remove_signal_handlers() is called. * * @param se the session to exit * @return 0 on success, -1 on failure */int fuse_set_signal_handlers(struct fuse_session *se);/** * Restore default signal handlers * * Resets global session.  After this fuse_set_signal_handlers() may * be called again. * * @param se the same session as given in fuse_set_signal_handlers() */void fuse_remove_signal_handlers(struct fuse_session *se);/* ----------------------------------------------------------- * * Compatibility stuff                                         * * ----------------------------------------------------------- */#ifndef __FreeBSD__#if FUSE_USE_VERSION == 24#  include "fuse_lowlevel_compat.h"#  undef FUSE_MINOR_VERSION#  define FUSE_MINOR_VERSION 4#  define fuse_file_info fuse_file_info_compat#  define fuse_reply_statfs fuse_reply_statfs_compat#  define fuse_reply_open fuse_reply_open_compat#elif FUSE_USE_VERSION < 25#  error Compatibility with low level API version other than 24 not supported#endif#else /* __FreeBSD__ */#if FUSE_USE_VERSION < 25#  error On FreeBSD API version 25 or greater must be used#endif#endif /* __FreeBSD__ */#ifdef __cplusplus}#endif#endif /* _FUSE_LOWLEVEL_H_ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费观看高清完整版在线观看熊| 26uuu国产日韩综合| 成人免费不卡视频| 日本不卡一区二区三区高清视频| 日韩美一区二区三区| 欧美成人女星排名| 久久色.com| 中文字幕一区二区三区蜜月 | 日本高清无吗v一区| 日本乱码高清不卡字幕| 欧美三级电影网| 久久久久久久一区| 亚洲三级免费电影| 美女视频网站久久| 99亚偷拍自图区亚洲| 777亚洲妇女| 中文字幕久久午夜不卡| 亚洲国产wwwccc36天堂| 国产资源在线一区| 欧美三级电影网站| 国产欧美一区二区三区在线看蜜臀 | 亚洲男同1069视频| 天天影视涩香欲综合网| 高清久久久久久| 欧美一区二区三区白人| 精品国产91洋老外米糕| 亚洲午夜影视影院在线观看| 国产一区二区三区在线观看免费 | 91.xcao| 国产午夜精品一区二区三区视频 | 亚洲高清免费在线| 久久99精品久久久久久动态图| 色婷婷国产精品| 中文字幕乱码亚洲精品一区| 久久国产人妖系列| 欧美久久久久久久久| 亚洲欧美日韩在线| a亚洲天堂av| 久久久精品黄色| 蜜桃视频一区二区三区| 欧美日韩情趣电影| 日韩成人免费电影| 91免费视频观看| 国产欧美日韩综合精品一区二区| 喷水一区二区三区| 91麻豆精品91久久久久同性| 亚洲第一福利视频在线| 在线精品视频免费播放| 成人午夜视频在线| 国产精品萝li| 在线免费观看视频一区| 亚洲成人免费观看| 欧美无人高清视频在线观看| 亚洲电影第三页| 69堂国产成人免费视频| 蜜桃91丨九色丨蝌蚪91桃色| 精品国产91久久久久久久妲己| 国产精品一区在线| 国产精品国产a| 97se狠狠狠综合亚洲狠狠| 亚洲黄一区二区三区| 在线视频国内自拍亚洲视频| 亚洲欧美激情在线| 欧美性猛片xxxx免费看久爱| 久久精品国产77777蜜臀| 久久综合国产精品| 91捆绑美女网站| 日韩中文字幕麻豆| 欧美激情一区二区三区不卡 | 亚洲成av人在线观看| 久久久一区二区三区捆绑**| 欧美一级夜夜爽| 国产一区二区在线影院| 亚洲三级在线免费观看| 日韩视频123| 日本电影亚洲天堂一区| 久久99热狠狠色一区二区| 自拍偷拍欧美精品| 国产午夜亚洲精品午夜鲁丝片| 欧美日韩中文字幕一区| 成人va在线观看| 激情综合色综合久久| 一区2区3区在线看| 亚洲国产成人午夜在线一区| 欧美一级爆毛片| 欧美午夜精品一区| 99久久99久久综合| 粉嫩av一区二区三区| 日韩成人dvd| 亚洲成人免费视| 夜色激情一区二区| 久久噜噜亚洲综合| 久久午夜免费电影| 精品区一区二区| 欧美久久久久久久久中文字幕| 91美女视频网站| 91久久精品日日躁夜夜躁欧美| 成人精品在线视频观看| 懂色av一区二区三区蜜臀| 国产麻豆精品在线| 老色鬼精品视频在线观看播放| 蜜桃av一区二区三区电影| 日韩高清国产一区在线| 午夜精品一区在线观看| 免费观看久久久4p| 视频一区二区国产| 精品一区二区三区在线播放| 久久精品国产亚洲5555| 高清国产一区二区| 欧美在线视频日韩| 亚洲精品视频在线观看免费| 偷窥国产亚洲免费视频| 国产成人在线色| 欧美吻胸吃奶大尺度电影| 欧美成人精品高清在线播放 | 99在线视频精品| 在线播放中文字幕一区| 欧美电视剧免费观看| 亚洲精品你懂的| 韩国女主播一区| 欧美高清性hdvideosex| 国产精品每日更新| 青青草一区二区三区| 538prom精品视频线放| 2020国产精品| 免费一区二区视频| 91九色02白丝porn| 国产清纯在线一区二区www| 亚洲国产精品精华液网站| 国产91丝袜在线观看| 日韩欧美视频在线| 一区二区免费看| 91农村精品一区二区在线| 日韩西西人体444www| 亚洲图片有声小说| 色系网站成人免费| √…a在线天堂一区| 高清不卡在线观看| 久久婷婷久久一区二区三区| 图片区日韩欧美亚洲| 欧美日韩国产综合久久 | 亚洲靠逼com| www.激情成人| 国产精品国产三级国产三级人妇 | 欧美亚洲综合另类| 亚洲激情在线播放| 欧美午夜理伦三级在线观看| 亚洲免费观看在线观看| 99re免费视频精品全部| 亚洲美女屁股眼交3| 日本精品一级二级| 亚洲综合一区在线| 欧美日韩一区二区三区高清| 亚洲成av人片在线观看无码| 欧美日韩不卡一区二区| 日本视频一区二区| www欧美成人18+| 99在线精品观看| 一区二区在线免费观看| 欧美日韩情趣电影| 精品一区二区在线观看| 九九热在线视频观看这里只有精品| 精品国产乱码久久久久久图片| 欧美bbbbb| 国产精品久久久久久久浪潮网站| www.性欧美| 免费在线观看精品| 国产精品午夜在线| 91精品国产综合久久久久久久 | 久久久久久亚洲综合| 91网站在线播放| 日韩电影在线观看电影| 国产欧美日韩亚州综合| 91高清视频在线| 精品亚洲国产成人av制服丝袜| 中文字幕一区二区三区色视频| 91精品久久久久久久91蜜桃| 成人美女视频在线看| 精品一区二区三区在线视频| 日韩理论电影院| 欧美刺激午夜性久久久久久久| 91丨九色丨尤物| 国产一本一道久久香蕉| 有坂深雪av一区二区精品| 国产亚洲自拍一区| 日韩精品自拍偷拍| 91成人免费电影| 成人综合婷婷国产精品久久蜜臀| 亚洲精品精品亚洲| 中文字幕一区二区视频| 欧美成人vr18sexvr| 欧美久久久一区| 欧美精品第一页| 精品视频在线看| 欧美日韩在线三级| 欧美性猛交xxxx黑人交 | 欧美va在线播放| 日韩一区二区三区三四区视频在线观看| 91国内精品野花午夜精品 | 亚洲一区av在线|