#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.