⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 intermezzo_upcall.h

📁 unxi下共享内存的使用
💻 H
字号:
/* * Based on cfs.h from Coda, but revamped for increased simplicity. * Linux modifications by Peter Braam, Aug 1996 * Rewritten for InterMezzo */#ifndef _PRESTO_HEADER_#define _PRESTO_HEADER_/* upcall.c */#define SYNCHRONOUS 0#define ASYNCHRONOUS 1int lento_permit(int minor, int pathlen, int fsetnamelen, char *path, char *fset);int lento_opendir(int minor, int pathlen, char *path, int async);int lento_kml(int minor, unsigned int offset, unsigned int first_recno,              unsigned int length, unsigned int last_recno, int namelen,              char *fsetname);int lento_open(int minor, int pathlen, char *path);int lento_journal(int minor, char *page, int async);int lento_release_permit(int minor, int cookie);/* * Kernel <--> Lento communications. *//* upcalls */#define LENTO_PERMIT    1#define LENTO_JOURNAL   2#define LENTO_OPENDIR   3#define LENTO_OPEN      4#define LENTO_SIGNAL    5#define LENTO_KML       6#define LENTO_COOKIE    7/*         Lento <-> Presto  RPC arguments       */struct lento_up_hdr {        unsigned int opcode;        unsigned int unique;    /* Keep multiple outstanding msgs distinct */        u_short pid;            /* Common to all */        u_short uid;};/* This structure _must_ sit at the beginning of the buffer */struct lento_down_hdr {        unsigned int opcode;        unsigned int unique;            unsigned int result;};/* lento_permit: */struct lento_permit_in {        struct lento_up_hdr uh;        int pathlen;        int fsetnamelen;        char path[0];};struct lento_permit_out {        struct lento_down_hdr dh;};/* lento_opendir: */struct lento_opendir_in {        struct lento_up_hdr uh;        int async;        int pathlen;        char path[0];};struct lento_opendir_out {        struct lento_down_hdr dh;};/* lento_kml: */struct lento_kml_in {        struct lento_up_hdr uh;        unsigned int offset;        unsigned int first_recno;        unsigned int length;        unsigned int last_recno;        int namelen;        char fsetname[0];};struct lento_kml_out {        struct lento_down_hdr dh;};/* lento_open: */struct lento_open_in {        struct lento_up_hdr uh;        int pathlen;        char path[0];};struct lento_open_out {    struct lento_down_hdr dh;};/* lento_response_cookie */struct lento_response_cookie_in {        struct lento_up_hdr uh;        int cookie;};struct lento_response_cookie_out {    struct lento_down_hdr dh;};struct lento_mknod {  struct lento_down_hdr dh;  int    major;  int    minor;  int    mode;  char   path[0];};/* NB: every struct below begins with an up_hdr */union up_args {    struct lento_up_hdr uh;                 struct lento_permit_in lento_permit;    struct lento_open_in lento_open;    struct lento_opendir_in lento_opendir;    struct lento_kml_in lento_kml;    struct lento_response_cookie_in lento_response_cookie;};union down_args {    struct lento_down_hdr dh;    struct lento_permit_out lento_permit;    struct lento_open_out lento_open;    struct lento_opendir_out lento_opendir;    struct lento_kml_out lento_kml;    struct lento_response_cookie_out lento_response_cookie;};    #include "intermezzo_psdev.h"int lento_upcall(int minor, int read_size, int *rep_size,                  union up_args *buffer, int async,                 struct upc_req *rq );#endif 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -