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

📄 lm.h

📁 No7信令,我需要交换类似的代码, 请店长审核,谢谢了,急着交换,谢谢
💻 H
字号:
/***************************************************************************** @(#) lm.h,v 0.7.8.1 2001/12/11 13:15:12 brian Exp ----------------------------------------------------------------------------- Copyright (C) 1997-2001  Brian Bidulock <bidulock@dallas.net> All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ----------------------------------------------------------------------------- Last Modified 2001/12/11 13:15:12 by brian *****************************************************************************/#ifndef __LMI_LM_H__#define __LMI_LM_H__struct lmi;typedef struct lmi_devops {    struct lmi *(*attach )(dev_t);    int         (*open   )(struct lmi *);    int         (*close  )(struct lmi *);} lmi_devops_t;typedef struct lmi_lmiops {    int (*info   )(struct lmi *, void **, int *);    int (*attach )(struct lmi *, void *, int);    int (*detach )(struct lmi *);    int (*enable )(struct lmi *);    int (*disable)(struct lmi *);    int (*ioctl  )(struct lmi *, int, void *);} lmi_lmiops_t;typedef struct lmi_ops {    lmi_devops_t   dev;     /*  device management           */    lmi_lmiops_t   lmi;     /*  local management calls      */} lmi_ops_t;typedef struct lmi_driver {    struct lmi_driver   *next;      /* next driver structure        */    int                 cmajor;     /* major device number          */    int                 nminor;     /* number of minor devices      */    struct lmi          *list;      /* list of device structures    */    struct streamtab    *info;      /* streamtab for this driver    */    struct lmi_ops      ops;        /* device operations            */    void                *dcalls;    /* module calling driver        */    void                *ucalls;    /* driver calling module        */} lmi_driver_t;typedef struct lmi {    struct lmi      *next;      /* next device in device list       */    struct lmi      *module;    /* upper for dev/mux, other for mod */    void            *ucalls;    /* upper module calls               */    void            *dcalls;    /* lower device calls               */    struct lmi      *device;    /* driver device (lower for mux)    */    lmi_driver_t    *driver;    /* driver struct for driver         */    dev_t           devnum;     /* driver device (null for module)  */    struct queue    *rq;        /* read queue                       */    struct queue    *wq;        /* write queue                      */    lmi_ulong       state;      /* LM interface state               */    lmi_ulong       flags;      /* LM interface flags               */    lmi_ulong       ids[0];     /* Protocol structure follows       */} lmi_t;extern int lmi_info   (struct lmi *, void **, int *);extern int lmi_attach (struct lmi *, void *, int);extern int lmi_detach (struct lmi *);extern int lmi_enable (struct lmi *);extern int lmi_disable(struct lmi *);extern int (*lmi_lmi_ops[5])(lmi_t *, mblk_t *);extern lmi_t * lmi_drv_attach(dev_t, lmi_driver_t *, size_t);extern int lmi_drv_open(lmi_t *lmi);extern int lmi_drv_close(lmi_t *lmi, lmi_ulong *tids, int ntids,                lmi_ulong *bids, int nbids);extern int lmi_mux_open(queue_t *q, dev_t *devp, int flag, int sflag,                cred_t *crp, lmi_driver_t *list, size_t size);extern int lmi_mux_close(queue_t *q, int flag, cred_t *crp,                lmi_ulong *tids, int ntids, lmi_ulong *bids, int nbids);extern int lmi_open(queue_t *q, dev_t *devp, int flag, int sflag,                cred_t *crp, lmi_driver_t *list, size_t size);extern int lmi_close(queue_t *q, int flag, cred_t *crp,                lmi_ulong *tids, int ntids, lmi_ulong *bids, int nbids);extern int lmi_register_driver(lmi_driver_t **list, major_t cmajor,                struct streamtab *strtab, int nminor, char *name,                lmi_ops_t *ops, void *dcalls, void *ucalls);extern int lmi_unregister_driver(lmi_driver_t **, major_t);#endif  __LMI_LM_H__

⌨️ 快捷键说明

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