#include <linux/init.h>#include <linux/sched.h>#include <linux/vmalloc.h>#include <ccbdef.h>#include <crbdef.h>#include <dcdef.h>#include <ddbdef.h>#include <ddtdef.h>#include <devdef.h>#include <dptdef.h>#include <dyndef.h>#include <fdtdef.h>#include <internals.h>#include <iodef.h>#include <ipldef.h>#include <irpdef.h>#include <rsndef.h>#include <ssdef.h>#include <system_data_cells.h>#include <ucbdef.h>#include <descrip.h>#include <vms_drivers.h>#include <iosbdef.h>#include <com_routines.h>#include <queue.h>#include <exe_routines.h>#include <ioc_routines.h>#include <misc_routines.h>#include <sch_routines.h>#include <linux/slab.h>Go to the source code of this file.
Classes | |
| struct | __mmb |
| struct | __srb |
Defines | |
| #define | irp_l_nopartnerqfl irp$l_fqfl |
| #define | irp_l_nopartnerqbl irp$l_fqbl |
Enumerations | |
| enum | { read_equal, read_less, read_more } |
Functions | |
| void | mb_finishread (struct _ucb *u) |
| int | mb_fdt_setmode (struct _irp *i, struct _pcb *p, struct _ucb *u, struct _ccb *c) |
| int | mb_fdt_sensemode (struct _irp *i, struct _pcb *p, struct _ucb *u, struct _ccb *c) |
| int | mb_fdt_write (struct _irp *i, struct _pcb *p, struct _ucb *u, struct _ccb *c) |
| int | mb_fdt_read (struct _irp *i, struct _pcb *p, struct _ucb *u, struct _ccb *c) |
| create_fork_thread () | |
| void | mb_cancel (struct _irp *i, struct _pcb *p, struct _ucb *u, struct _ccb *c) |
| void | mb_aux_routine (struct _irp *i, struct _pcb *p, struct _ucb *u, struct _ccb *c) |
| void | ini_fdt_act (struct _fdt *f, unsigned long long mask, void *fn, unsigned long type) |
| void | mb_struc_init (struct _crb *crb, struct _ddb *ddb, struct _idb *idb, struct _orb *orb, struct _ucb *ucb) |
| void | mb_struc_reinit (struct _crb *crb, struct _ddb *ddb, struct _idb *idb, struct _orb *orb, struct _ucb *ucb) |
| int | mb_unit_init (struct _idb *idb, struct _ucb *ucb) |
| int | mb_init_tables () |
| long | mb_iodb_vmsinit (void) |
| int | mb_vmsinit (void) |
| int | exe_std_wrtmailbox (struct _mb_ucb *mb_ucb, int msgsiz, void *msg,...) |
| int | exe_std_sndevmsg (struct _mb_ucb *mb_ucb, int msgtyp, struct _ucb *ucb) |
| int | mb_chanunwait (struct _ucb *u, struct _ccb *c) |
Variables | |
| struct _dpt | mb_dpt = { } |
| struct _ucb * | mbucb0 |
| struct _ddb | mb_ddb |
| struct _mb_ucb | mb_ucb |
| struct _crb | mb_crb |
| #define irp_l_nopartnerqbl irp$l_fqbl |
Definition at line 39 of file mbdriver.c.
| #define irp_l_nopartnerqfl irp$l_fqfl |
Definition at line 38 of file mbdriver.c.
| anonymous enum |
| create_fork_thread | ( | ) |
Definition at line 325 of file mbdriver.c.
References sch_std_ravail().
Referenced by mb_finishread().
Definition at line 812 of file mbdriver.c.
References exe_std_wrtmailbox(), SS__DEVNOTMBX, _ucb::ucb_b_devclass, _ucb::ucb_l_ddb, and _ucb::ucb_w_unit.
| int exe_std_wrtmailbox | ( | struct _mb_ucb * | mb_ucb, | |
| int | msgsiz, | |||
| void * | msg, | |||
| ... | ||||
| ) |
Definition at line 761 of file mbdriver.c.
References com_std_delattnast(), kmalloc(), mb_finishread(), __mmb::mmb_b_func, __mmb::mmb_b_type, __mmb::mmb_l_datastart, __mmb::mmb_l_irp, __mmb::mmb_l_noreaderwaitqfl, __mmb::mmb_l_pid, __mmb::mmb_t_data, __mmb::mmb_w_bufquochrg, __mmb::mmb_w_datasize, __mmb::mmb_w_size, qhead_init(), SS__MBFULL, SS__MBTOOSML, SS__NORMAL, _ucb::ucb_l_devdepend, _ucb::ucb_l_mb_msgqbl, _mb_ucb::ucb_l_mb_readqfl, _ucb::ucb_w_bufquo, _ucb::ucb_w_devbufsiz, and _ucb::ucb_w_msgcnt.
Referenced by exe_std_sndevmsg().
| void ini_fdt_act | ( | struct _fdt * | f, | |
| unsigned long long | mask, | |||
| void * | fn, | |||
| unsigned long | type | |||
| ) |
Referenced by mb_init_tables().
Definition at line 827 of file mbdriver.c.
References _ccb::ccb_l_sts, com_post(), _irp::irp_l_iost1, _irp::irp_l_iost2, SS__NORMAL, _mb_ucb::ucb_l_mb_readerrefc, _mb_ucb::ucb_l_mb_readerwaitqfl, _mb_ucb::ucb_l_mb_writerrefc, and _mb_ucb::ucb_l_mb_writerwaitqfl.
Referenced by exe_crembx().
Definition at line 224 of file mbdriver.c.
References _ccb::ccb_l_sts, com_std_delattnast(), exe_finishioc(), exe_std_abortio(), exe_std_iorsnwait(), exe_std_readchk(), IO_M_NOW, IO_M_STREAM, IO_M_WRITERCHECK, IPL__MAILBOX, _irp::irp_l_bcnt, _irp::irp_l_func, _irp::irp_l_media, _irp::irp_l_qio_p2, _irp::irp_l_sts, _irp::irp_l_svapte, kfree(), kmalloc(), mb_finishread(), __mmb::mmb_w_datasize, SPIN_MAILBOX, __srb::srb_b_func, __srb::srb_b_type, __srb::srb_l_addr, __srb::srb_l_datastart, __srb::srb_l_virtaddr, __srb::srb_w_bufquochrg, __srb::srb_w_datasize, __srb::srb_w_reqsiz, __srb::srb_w_size, SS__NORMAL, _ucb::ucb_l_mb_msgqfl, _mb_ucb::ucb_l_mb_readqbl, _ucb::ucb_w_bufquo, and _ucb::ucb_w_iniquo.
Definition at line 106 of file mbdriver.c.
References exe_finishio(), _irp::irp_l_func, __mmb::mmb_l_msgqfl, __mmb::mmb_w_datasize, SS__NOREADER, SS__NORMAL, SS__NOWRITER, _ucb::ucb_l_mb_msgqfl, and _ucb::ucb_w_msgcnt.
Definition at line 74 of file mbdriver.c.
References com_std_delattnast(), com_std_setattnast(), exe_finishioc(), _irp::irp_l_func, SS__NORMAL, _mb_ucb::ucb_l_mb_readerrefc, _mb_ucb::ucb_l_mb_readerwaitqfl, _mb_ucb::ucb_l_mb_readqfl, _mb_ucb::ucb_l_mb_writerrefc, _mb_ucb::ucb_l_mb_writerwaitqfl, and _ucb::ucb_w_msgcnt.
Definition at line 125 of file mbdriver.c.
References _ccb::ccb_l_sts, CCB_V_WRTCHKDON, com_std_delattnast(), exe_finishioc(), exe_std_abortio(), exe_std_chkwrtacces(), exe_std_iorsnwait(), exe_std_writechk(), IO_M_FCODE, IO_M_NOW, IO_M_READERCHECK, IPL__MAILBOX, _irp::irp_l_bcnt, _irp::irp_l_boff, _irp::irp_l_func, _irp::irp_l_media, _irp::irp_l_qio_p2, kfree(), kmalloc(), mb_finishread(), __mmb::mmb_b_func, __mmb::mmb_b_type, __mmb::mmb_l_datastart, __mmb::mmb_l_noreaderwaitqfl, __mmb::mmb_l_pid, __mmb::mmb_t_data, __mmb::mmb_w_datasize, __mmb::mmb_w_size, qhead_init(), SPIN_MAILBOX, SS__NORMAL, _ucb::ucb_l_devdepend, _ucb::ucb_l_mb_msgqbl, _mb_ucb::ucb_l_mb_readqfl, _ucb::ucb_w_bufquo, and _ucb::ucb_w_msgcnt.
| void mb_finishread | ( | struct _ucb * | u | ) |
Definition at line 331 of file mbdriver.c.
References com_post(), com_std_delattnast(), com_std_drvdealmem(), create_fork_thread(), fork, IO_M_FCODE, IO_M_STREAM, _irp::irp_l_bcnt, _irp::irp_l_func, _irp::irp_l_iost1, _irp::irp_l_iost2, _irp::irp_l_svapte, __mmb::mmb_l_datastart, __mmb::mmb_l_irp, __mmb::mmb_l_msgqbl, __mmb::mmb_l_msgqfl, __mmb::mmb_l_noreaderwaitqfl, __mmb::mmb_w_bufquochrg, __mmb::mmb_w_datasize, read_equal, read_less, read_more, sch_gl_resmask, __srb::srb_l_datastart, __srb::srb_w_bufquochrg, __srb::srb_w_datasize, SS__BUFFEROVF, SS__ENDOFFILE, SS__NORMAL, _ucb::ucb_l_devdepend, _ucb::ucb_l_mb_msgqfl, _mb_ucb::ucb_l_mb_readqfl, _ucb::ucb_w_bufquo, and _ucb::ucb_w_msgcnt.
Referenced by exe_std_wrtmailbox(), mb_fdt_read(), and mb_fdt_write().
| int mb_init_tables | ( | ) |
Definition at line 651 of file mbdriver.c.
References ini_ddt_cancel(), ini_ddt_end(), ini_ddt_start(), ini_ddt_unitinit(), ini_dpt_adapt(), ini_dpt_defunits(), ini_dpt_end(), ini_dpt_name(), ini_dpt_struc_init(), ini_dpt_struc_reinit(), ini_dpt_ucb_crams(), ini_dpt_ucbsize(), ini_fdt_act(), ini_fdt_end(), and SS__NORMAL.
Referenced by mb_iodb_vmsinit().
| long mb_iodb_vmsinit | ( | void | ) |
Definition at line 682 of file mbdriver.c.
References init_crb(), init_ddb(), init_ucb(), insertdevlist(), kmalloc(), mb_crb, mb_ddb, mb_init_tables(), mb_struc_init(), mb_struc_reinit(), mb_ucb, and mb_unit_init().
Referenced by mb_vmsinit().
| void mb_struc_init | ( | struct _crb * | crb, | |
| struct _ddb * | ddb, | |||
| struct _idb * | idb, | |||
| struct _orb * | orb, | |||
| struct _ucb * | ucb | |||
| ) |
Definition at line 598 of file mbdriver.c.
References _ucb::ucb_b_devclass, _ucb::ucb_b_devtype, _ucb::ucb_b_dipl, _ucb::ucb_b_flck, _ucb::ucb_l_devchar, _ucb::ucb_l_devchar2, _ucb::ucb_l_devdepend, and _ucb::ucb_w_devbufsiz.
Referenced by mb_iodb_vmsinit().
| void mb_struc_reinit | ( | struct _crb * | crb, | |
| struct _ddb * | ddb, | |||
| struct _idb * | idb, | |||
| struct _orb * | orb, | |||
| struct _ucb * | ucb | |||
| ) |
Definition at line 618 of file mbdriver.c.
References _ddb::ddb_ps_ddt.
Referenced by mb_iodb_vmsinit().
Definition at line 626 of file mbdriver.c.
References SS__NORMAL, _ucb::ucb_v_online, and _ucb::ucb_w_size.
Referenced by mb_iodb_vmsinit().
| int mb_vmsinit | ( | void | ) |
Definition at line 43 of file mbdriver.c.
1.5.5