#include <linux/config.h>
#include <starlet.h>
#include <iodef.h>
#include <ssdef.h>
#include <misc.h>
#include <irpdef.h>
#include <ucbdef.h>
#include <ccbdef.h>
#include <ddtdef.h>
#include <system_data_cells.h>
#include <ioc_routines.h>
#include <linux/linkage.h>
#include <sch_routines.h>
#include <descrip.h>
#include <ipl.h>
Go to the source code of this file.
Functions | |
asmlinkage int | exe_assign (void *devnam, unsigned short int *chan, unsigned int acmode, void *mbxnam, int flags) |
assign i/o channel system service - see 5.2 21.5.2 |
Definition in file sysassign.c.
asmlinkage int exe_assign | ( | void * | devnam, | |
unsigned short int * | chan, | |||
unsigned int | acmode, | |||
void * | mbxnam, | |||
int | flags | |||
) |
assign i/o channel system service - see 5.2 21.5.2
devnam | device name | |
chan | return channel value | |
acmode | access mode | |
mbxnam | mailbox name | |
flags | misc flags - TODO not yet used |
21.5.2.1
probe chan writeable - MISSING
probe mbxnam readable - MISSING
probe devnam readable - MISSING
handle acmode - MISSING
lock i/o db
find free channel
if error return
TODO maybe also unlock i/o db
search for an eventual mbxnam
search for devnam
if error unlock i/o db and return
21.5.2.2
if network dev, test for NETMBX priv - MISSING
ucb quota check - MISSING
invoke ucb cloning
store uic in its orb - MISSING
set deleteucb bit - MISSING
if template is a mailbox, set delmbx - MISSING
clear refc - MISSING
invoke ioc_debit_ucb - MISSING
invoke ddt cloneucb routine
handle error return - MISSING
if nonshared device set ucb pid - MISSING
21.5.2.2.3 associated mbx processing - MISSING
21.5.2.2.4 local device final processing
if appropiate, invoke ioc_lock_dev - MISSING
if nonshared and nonowned, set pid - MISSING
set ccb ucb
increase ucb ref count
set ccb amod - MISSING
set ccb sts - MISSING
chan was previously written
unlock i/o db and return normal?
21.5.2.3 assign non-local - MISSING
it might have worked once, but clustering etc is non-working now
Definition at line 40 of file sysassign.c.
References _ccb::ccb_b_amod, _ccb::ccb_l_ucb, ctl_gl_ccbbase, _ddt::ddt_l_cloneducb, ioc_ffchan(), ioc_search(), ioc_searchdev(), ioc_std_clone_ucb(), sch_iolockw(), sch_iounlock(), SS__NORMAL, _ucb::ucb_l_amb, _ucb::ucb_l_ddt, _ucb::ucb_l_sts, and return_values::val1.