lib/src/exe_routines.h File Reference

#include <adpdef.h>
#include <arbdef.h>
#include <cbbdef.h>
#include <ccbdef.h>
#include <cebdef.h>
#include <chpctldef.h>
#include <chpretdef.h>
#include <cpudef.h>
#include <far_pointers.h>
#include <fkbdef.h>
#include <irpdef.h>
#include <jibdef.h>
#include <kpbdef.h>
#include <mmgdef.h>
#include <orbdef.h>
#include <pcbdef.h>
#include <tqedef.h>
#include <ucbdef.h>
#include <linux/linkage.h>

Go to the source code of this file.

Functions

int exe_std_abortio (struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, int qio_sts)
 abort i/o operation - see 5.2 21.6.3.2
int exe_std_alloc_bufio_32 (struct _irp *irp, struct _pcb *pcb, void *uva32, int pktdatsiz)
int exe_std_alloc_bufio_64 (struct _irp *irp, struct _pcb *pcb, VOID_PQ uva64, int pktdatsiz)
int exe_std_alloc_diagbuf (struct _irp *irp, VOID_PQ uva64, int pktdatsiz)
int exe_std_allocbuf (int reqsize, int32 *alosize_p, void **bufptr_p)
int exe_std_allocceb (int *alosize_p, struct _ceb **ceb_p)
int exe_std_allocirp (struct _irp **irp_p)
int exe_std_allocjib (int32 *alosize_p, struct _jib **jib_p)
int exe_std_allocpcb (int32 *alosize_p, struct _pcb **pcb_p)
int exe_std_alloctqe (int32 *alosize_p, struct _tqe **tqe_p)
int exe_std_alononpaged (int reqsize, int32 *alosize_p, void **pool_p)
int exe_std_alopaged (int reqsize, int32 *alosize_p, void **pool_p)
int exe_std_alop1imag (int reqsize, int32 *alosize_p, void **pool_p)
int exe_std_alop1proc (int reqsize, int32 *alosize_p, void **pool_p)
int exe_std_alophycntg (int npages, void **sva_p)
int exe_std_alophycntg_s2 (int npages, VOID_PPQ sva_p)
int exe_std_alophycntg_color (int npages, int rad, int byte_align, void **sva_p)
int exe_std_alophycntg_color_s2 (int npages, int rad, int byte_align, VOID_PPQ sva_p)
void exe_std_altquepkt (struct _irp *irp, struct _ucb *ucb)
int exe_bugchk_cancel_remove_va (VOID_PQ start_va, unsigned long long size_in_bytes)
int exe_bugchk_remove_va (VOID_PQ start_va, unsigned long long size_in_bytes)
int exe_bus_delay (struct _adp *adp)
int exe_delay (long long *delay_nanos)
void exe_std_carriage (struct _irp *irp)
int exe_cbb_allocate (CBB_PPQ cbb, int unitsize, int bits, int ipl, unsigned long long flags, int timeout_value)
int exe_cbb_clear_bit (int flags, int bitpos, CBB_PQ src, CBB_PQ dst, INT_PQ ccode)
int exe_cbb_empty (CBB_PQ cbb, int flags, INT_PQ state)
int exe_cbb_find_first_clear (CBB_PQ cbb, int start, int flags, INT_PQ bitpos, INT_PQ ccode)
int exe_cbb_find_first_set (CBB_PQ cbb, int start, int flags, INT_PQ bitpos, INT_PQ ccode)
int exe_cbb_get_size (int unitsize, int bits, INT_PQ resultsize)
int exe_cbb_initialize (CBB_PQ cbb, int blksiz, int unitsize, int bits, int ipl, unsigned long long flags, int timeout_value)
int exe_cbb_lock (CBB_PQ cbb)
int exe_cbb_rebuild (CBB_PQ cbb, int flags)
int exe_cbb_set_bit (int flags, int bitpos, CBB_PQ src, CBB_PQ dst)
int exe_cbb_test_bit (CBB_PQ cbb, int bitpos, int flags)
int exe_cbb_unlock (CBB_PQ cbb)
int exe_cbb_copy (CBB_PQ src, CBB_PQ dst, int length, int flags)
int exe_cbb_extract_bitmask (CBB_PQ src, int start, int length, int flags, VOID_PQ bitmask_addr)
int exe_cbb_insert_bitmask (int start, int length, int flags, VOID_PQ bitmask_addr, CBB_PQ cbb)
int exe_cbb_validate (CBB_PQ cbb, int unitsize, int bits, int ipl, unsigned long long flags, int timeout_value, UINT64_PQ ret_flags)
int exe_cbb_zero (CBB_PQ cbb, int flags)
int exe_cbb_boolean_oper (int flags, int function, CBB_PQ cbb1, CBB_PQ cbb2, CBB_PQ dst, INT_PQ ccode)
int exe_std_check_device_access (int, int, struct _pcb *pcb, struct _ucb *ucb)
int exe_std_chkflupages (void)
int exe_std_chkpro_int (struct _arb *arb, struct _orb *orb, struct _chpctl *chpctl, struct _chpret *chpret)
int exe_std_chkcreacces (struct _arb *arb, struct _orb *orb, struct _pcb *pcb, struct _ucb *ucb)
int exe_std_chkdelacces (struct _arb *arb, struct _orb *orb, struct _pcb *pcb, struct _ucb *ucb)
int exe_std_chkexeacces (struct _arb *arb, struct _orb *orb, struct _pcb *pcb, struct _ucb *ucb)
int exe_std_chklogacces (struct _arb *arb, struct _orb *orb, struct _pcb *pcb, struct _ucb *ucb)
int exe_std_chkphyacces (struct _arb *arb, struct _orb *orb, struct _pcb *pcb, struct _ucb *ucb)
int exe_std_chkrdacces (struct _arb *arb, struct _orb *orb, struct _pcb *pcb, struct _ucb *ucb)
int exe_std_chkwrtacces (struct _arb *arb, struct _orb *orb, struct _pcb *pcb, struct _ucb *ucb)
void exe_std_credit_bytcnt (int credit, struct _pcb *pcb)
void exe_std_credit_bytcnt_bytlm (int credit, struct _pcb *pcb)
int exe_std_cvt_ipid_to_epid (int ipid)
struct _pcb * exe_std_cvt_ipid_to_pcb (int ipid)
void exe_std_deapaged (void *pool)
int exe_std_deanonpaged (void *pool)
int exe_std_deanonpgdsiz (void *pool, int size)
int exe_std_deap1 (void *pool, int size)
int exe_std_deap1block (void *pool)
int exe_std_debit_bytcnt (int debit, struct _pcb *pcb)
int exe_std_debit_bytcnt_alo (int debit, struct _pcb *pcb, int32 *alosize_p, void **pool_p)
int exe_std_debit_bytcnt_bytlm_alo (int debit, struct _pcb *pcb, int32 *alosize_p, void **pool_p)
int exe_std_debit_bytcnt_bytlm_nw (int debit, struct _pcb *pcb)
int exe_std_finishio (struct _irp *irp, struct _ucb *ucb)
int exe_illiofunc (struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, struct _ccb *ccb)
int exe_std_insert_irp (struct _irp **irp_lh, struct _irp *irp)
void exe_std_insioq (struct _irp *irp, struct _ucb *ucb)
void exe_std_insioqc (struct _irp *irp, struct _ucb *ucb)
void exe_std_insioq_simple (struct _irp *irp, struct _ucb *ucb)
void exe_std_instimq (int duetim_lo, int duetim_hi, struct _tqe *tqe)
void exe_std_iofork_cpu (struct _fkb *fkb, struct _cpu *destcpudb)
int exe_std_iorsnwait (struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, struct _ccb *ccb, int qio_sts, int rsn)
int exe_kp_allocate_kpb (struct _kpb **kpb_p, int stksiz, int flags, int paramsiz)
int exe_kp_deallocate_kpb (struct _kpb *kpb)
int exe_kp_end (struct _kpb *kpb)
struct _kpbexe_kp_find_kpb (void)
int exe_kp_fork (struct _kpb *kpb, struct _fkb *fkb)
int exe_kp_fork_wait (struct _kpb *kpb, struct _fkb *fkb)
int exe_kp_restart (struct _kpb *kpb, int thread_sts)
int exe_kp_stall_general (struct _kpb *kpb)
int exe_kp_start (struct _kpb *kpb, void(*rout)(struct _kpb *kpb), long long regmask)
void exe_std_kp_startio (struct _irp *irp, struct _ucb *ucb)
int exe_kp_tqe_wait (struct _kpb *kpb, long long *ticks, int spnlidx)
int exe_std_lcldskvalid (struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, struct _ccb *ccb)
void exe_std_lock_err_cleanup (struct _irp *irp)
int exe_std_maxacmode (int acmode)
void exe_lal_insert_first (void *packet, void *listhead)
void * exe_lal_remove_first (void *listhead)
void exe_std_mntversio (void(*rout)(), struct _irp *irp, struct _ucb *ucb)
int exe_std_modify (struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, struct _ccb *ccb)
int exe_std_modifylock (struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, struct _ccb *ccb, void *buf, int bufsiz, void(*err_rout)(struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, struct _ccb *ccb, int errsts))
int exe_std_mount_ver (int iost1, int iost2, struct _irp *irp, struct _ucb *ucb)
int exe_std_nam_to_pcb (int *pid_p, void *prcnam_p, int nsa_id, struct _pcb *pcb, int *rpid_p, struct _ktb **rktb_p, struct _pcb **rpcb_p)
int exe_std_oneparm (struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, struct _ccb *ccb)
void exe_std_outzstring (char *string)
void exe_std_primitive_fork_wait (long long fr3, long long fr4, struct _fkb *fkb)
int exe_std_prober (VOID_PQ buf, int bufsiz, int acmode)
int exe_std_prober_dsc (void *dsc_p)
int exe_std_probew (VOID_PQ buf, int bufsiz, int acmode)
int exe_std_probew_dsc (void *dsc_p)
int exe_std_prober_dsc64 (VOID_PQ dsc_p, UINT64_PQ ret_length, CHAR_PPQ ret_bufadr)
int exe_std_probew_dsc64 (VOID_PQ dsc_p, UINT64_PQ ret_length, CHAR_PPQ ret_bufadr)
int exe_std_qioacppkt (struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb)
int exe_std_qiodrvpkt (struct _irp *irp, struct _ucb *ucb)
int exe_std_qioserver_new_unit (struct _ucb *ucb)
void exe_std_queue_fork (struct _fkb *fkb)
int exe_psx_resume_and_wait (struct _pcb *child_pcb)
void exe_psx_set_fork_status (struct _pcb *child_pcb, int status)
int exe_std_read (struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, struct _ccb *ccb)
int exe_std_readchk (struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, void *buf, int bufsiz)
int exe_std_readlock (struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, struct _ccb *ccb, void *buf, int bufsiz, void(*err_rout)(struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, struct _ccb *ccb, int errsts))
int exe_std_rmvtimq (int acmode, int reqid, int remval, int ipid)
 remove request id from timer queue - see 5.2 11.6.2
int exe_std_sensemode (struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, struct _ccb *ccb)
int exe_std_setchar (struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, struct _ccb *ccb)
int exe_std_setmode (struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, struct _ccb *ccb)
int exe_std_sndevmsg (struct _mb_ucb *mb_ucb, int msgtyp, struct _ucb *ucb)
int exe_std_snglequota_long (int32 *quota_p, struct _pcb *pcb)
int exe_std_synch_loop (int efn, VOID_PQ iosb)
int exe_timedwait_complete (long long *end_value_p)
int exe_timedwait_setup (long long *delay_nanos, long long *end_value_p)
int exe_timedwait_setup_10us (long long *delay_10us, long long *end_value_p)
int exe_std_write (struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, struct _ccb *ccb)
int exe_std_writechk (struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, void *buf, int bufsiz)
int exe_std_writelock (struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, struct _ccb *ccb, void *buf, int bufsiz, void(*err_rout)(struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, struct _ccb *ccb, int errsts))
int exe_std_wrtmailbox (struct _mb_ucb *mb_ucb, int msgsiz, void *msg,...)
int exe_std_zeroparm (struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, struct _ccb *ccb)
void ini_brk (void)
int exe_lock_pkta (void)
int exe_unlock_pkta (void)
void exe_check_for_mem_error (struct _cpu *cpudb)
int exe_primitive_mcheck (int vec)
int exe_setup_memtest_env (void)
int exe_clear_memtest_env (void)
void exe_event_notify (unsigned long long event_mask)
void * exe_ipid_to_pcb (unsigned long pid)
void * exe_epid_to_pcb (unsigned long pid)
int exe_epid_to_ipid (unsigned long pid)
int exe_ipid_to_epid (unsigned long pid)
int exe_a_pid_to_ipid (unsigned long pid)
void exe_iofork (struct _irp *i, struct _ucb *u)
 servicing the device interrupt - see 5.2 22.3.3
unsigned name_delim (char *str, int len, int size[5])
unsigned dircache (struct _vcb *vcb, char *dirnam, int dirlen, struct _fiddef *dirid)
unsigned do_search (struct _fabdef *fab, struct WCCFILE *wccfile)
unsigned exe_search (struct _fabdef *fab)
unsigned do_parse (struct _fabdef *fab, struct WCCFILE **wccret)
unsigned exe_parse (struct _fabdef *fab)
unsigned exe_setddir (struct dsc $descriptor *newdir, unsigned short *oldlen, struct dsc $descriptor *olddir)
unsigned exe_connect (struct _rabdef *rab)
unsigned exe_disconnect (struct _rabdef *rab)
unsigned exe_get (struct _rabdef *rab)
unsigned exe_read (struct _rabdef *rab)
unsigned exe_put (struct _rabdef *rab)
unsigned exe_display (struct _fabdef *fab)
unsigned exe_close (struct _fabdef *fab)
unsigned exe_open (struct _fabdef *fab)
unsigned exe_erase (struct _fabdef *fab)
unsigned exe_create (struct _fabdef *fab)
unsigned exe_extend (struct _fabdef *fab)
int exe_nampid (struct _pcb *p, unsigned long *pidadr, void *prcnam, struct _pcb **retpcb, unsigned long *retipid, unsigned long *retepid)
 locating the process and checking privileges - see 5.2 13.1.2
void exe_instimq (struct _tqe *t)
 insert tqe in timer queue
int exe_synch (unsigned int efn, struct _iosb *iosb)
 wait until event flag set and eventual iosb flag too - see 5.2 6.3.6.3
int exe_qioacppkt (struct _irp *i, struct _pcb *p, struct _ucb *u)
 initiating file system i/o - see 5.2 22.2.3
int exe_qiodrvpkt (struct _irp *i, struct _pcb *p, struct _ucb *u)
 entering the driver's start i/o routine - see 5.2 22.2.1
int exe_finishio (long status1, long status2, struct _irp *i, struct _pcb *p, struct _ucb *u)
 completing the i/o request in the fdt routine - see 5.2 21.6.3.3
int exe_finishioc (long status, struct _irp *i, struct _pcb *p, struct _ucb *u)
 completing the i/o request in the fdt routine - see 5.2 21.6.3.3
void com_post (struct _irp *i, struct _ucb *u)
int exe_asctim (unsigned short *timlen, struct dsc $descriptor *timbuf, const void *timadra, unsigned long cvtflg)
int exe_imgact_elf (void *name, void *hdrbuf)
int exe_pscan_next_id (struct _pcb **p)
 get next pcb
int exe_alophycntg (unsigned long *va, unsigned long num)
int exe_alononpaged ()
int exe_deanonpaged ()
int exe_allocate (int requestsize, void **poolhead, int alignment, unsigned int *allocatedsize, void **returnblock)
int exe_deallocate (void *returnblock, void **poolhead, int size)
int exe_std_allocxyz (int *alosize_p, struct _tqe **tqe_p, int type, int size)
int exe_alononpagvar (int reqsize, int *alosize_p, void **pool_p)
int exe_flushlists (void *pool, int size)
int exe_allocate_pool (int requestsize, int pooltype, int alignment, unsigned int *allocatedsize, void **returnblock)
 exe_extendpool (void *pool)
void exe_reclaim_pool_aggressive (void *pool)
void exe_reclaim_pool_gentle (void *pool)
void exe_insertirp (struct _ucb *u, struct _irp *i)
 insert irp in units queue - see 5.2 22.2.1
int exe_prober_simple (void *addr)
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
asmlinkage int exe_exit (unsigned int code)
asmlinkage int exe_setpri (unsigned int *pidadr, void *prcnam, unsigned int pri, unsigned int *prvpri, unsigned int *pol, unsigned int *prvpol)
 set priority - see 5.2 13.4.1
asmlinkage int exe_setimr (unsigned int efn, signed long long *daytim, void(*astadr)(long), unsigned long reqidt, unsigned int flags)
 set timer - see 5.2 11.6.1
asmlinkage int exe_clref (unsigned int efn)
 clear event flag - see 5.2 9.8
asmlinkage int exe_gettim (unsigned long long *timadr)
int exe_numtim (unsigned short timbuf[7], struct TIME *timadra)
int exe_bintim (struct dsc $descriptor *timbuf, struct TIME *timadra)
asmlinkage int exe_cancel (unsigned short int chan)
 cancel i/o on channel
asmlinkage exe_crelnm (unsigned int *attr, void *tabnam, void *lognam, unsigned char *acmode, void *itmlst)
asmlinkage int exe_crelnt (unsigned int *attr, void *resnam, unsigned int *reslen, unsigned int *quota, unsigned short *promsk, void *tabnam, void *partab, unsigned char *acmode)
asmlinkage exe_dellnm (void *tabnam, void *lognam, unsigned char *acmode)
asmlinkage exe_trnlnm (unsigned int *attr, void *tabnam, void *lognam, unsigned char *acmode, void *itmlst)
asmlinkage int exe_create_region_32 (unsigned long length, unsigned int region_prot, unsigned int flags, unsigned long long *return_region_id, void **return_va, unsigned long *return_length, unsigned long start_va)
asmlinkage int exe_deltva (struct _va_range *inadr, struct _va_range *retadr, unsigned int acmode)
asmlinkage int exe_imgsta (void *transfer, void *parseinfo, void *header, void *file, unsigned long linkstatus, unsigned long clistatus)
asmlinkage int exe_imgact (void *name, void *dflnam, void *hdrbuf, unsigned long imgctl, unsigned long long *inadr, unsigned long long *retadr, unsigned long long *ident, unsigned long acmode)
asmlinkage int exe_crmpsc (struct _va_range *inadr, struct _va_range *retadr, unsigned int acmode, unsigned int flags, void *gsdnam, unsigned long long *ident, unsigned int relpag, unsignedlong chan, unsigned int pagcnt, unsigned int vbn, unsigned int prot, unsigned int pfc)
 system service for process-private section creation - see 5.2 15.4.1
asmlinkage int exe_schdwk (unsigned int *pidadr, void *prcnam, signed long long *daytim, signed long long *reptim)
 schedule wakeup - see 5.2 11.6.3
asmlinkage int exe_cretva (struct _va_range *inadr, struct _va_range *retadr, unsigned int acmode)
 system service for virtual address space creation - see 5.2 15.2 15.3.1
void exe_std_primitive_fork (long fr3, long fr4, struct _fkb *fkb)
asmlinkage int exe_dassgn (unsigned short int chan)
 deassign channel
int exe_insioq (struct _irp *i, struct _ucb *u)
 insert irp in units queue - see 5.2 22.2.1
asmlinkage int exe_forcex (unsigned int *pidadr, void *prcnam, unsigned int code)
 system service force exit - see 5.2 13.3.3
asmlinkage int exe_mount (void *itmlst)
asmlinkage int exe_creprc (unsigned int *pidadr, void *image, void *input, void *output, void *error, struct _generic_64 *prvadr, unsigned int *quota, void *prcnam, unsigned int baspri, unsigned int uic, unsigned short int mbxunt, unsigned int stsflg,...)
asmlinkage int exe_crembx (char prmflg, unsigned short int *chan, unsigned int maxmsg, unsigned int bufquo, unsigned int promsk, unsigned int acmode, void *lognam, long flags,...)
asmlinkage int exe_setprn (struct dsc $descriptor *s)
 set process name - see 5.2 13.4.3


Function Documentation

void com_post ( struct _irp i,
struct _ucb u 
)

unsigned dircache ( struct _vcb vcb,
char *  dirnam,
int  dirlen,
struct _fiddef dirid 
)

unsigned do_parse ( struct _fabdef fab,
struct WCCFILE **  wccret 
)

unsigned do_search ( struct _fabdef fab,
struct WCCFILE *  wccfile 
)

int exe_a_pid_to_ipid ( unsigned long  pid  ) 

Definition at line 131 of file syspcntrl.c.

References csid, process_bit_shift(), process_index_mask(), sch_gl_pcbvec, and sch_gl_seqvec.

int exe_allocate ( int  requestsize,
void **  poolhead,
int  alignment,
unsigned int *  allocatedsize,
void **  returnblock 
)

int exe_allocate_pool ( int  requestsize,
int  pooltype,
int  alignment,
unsigned int *  allocatedsize,
void **  returnblock 
)

int exe_alononpaged (  ) 

Definition at line 517 of file memoryalc.c.

int exe_alononpagvar ( int  reqsize,
int *  alosize_p,
void **  pool_p 
)

int exe_alophycntg ( unsigned long *  va,
unsigned long  num 
)

int exe_asctim ( unsigned short *  timlen,
struct dsc $descriptor *  timbuf,
const void *  timadra,
unsigned long  cvtflg 
)

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

Parameters:
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.

int exe_bintim ( struct dsc $descriptor *  timbuf,
struct TIME timadra 
)

Definition at line 408 of file syscvrtim.c.

References exe_numtim(), lib_cvt_vectim, month_names, and SS__IVTIME.

int exe_bugchk_cancel_remove_va ( VOID_PQ  start_va,
unsigned long long  size_in_bytes 
)

int exe_bugchk_remove_va ( VOID_PQ  start_va,
unsigned long long  size_in_bytes 
)

int exe_bus_delay ( struct _adp adp  ) 

asmlinkage int exe_cancel ( unsigned short int  chan  ) 

cancel i/o on channel

Parameters:
chan i/o channel

verifies channel legality - MISSING

handle affinity - MISSING

set ipl

pagefault ccb into memory

higher set ipl - MISSING

forklock - MISSING

scan irps

if pids and channels match

and if virtual clear - MISSING

remove irp from queue

clear buffer read bit - MISSING

SS__CANCEL status

check. beware movbuf

insert at postprocessing queue

iopost softint - MISSING

invoke driver cancel routine

unlock forklock - MISSING

relinquish affinity - MISSING

set ipl 0

no oustanding i/o ccb ioc 0, wind 0, return - MISSING

device mounted or foreign mount, return - MISSING

has process section, return - MISSING

NOTFCP set, return - MISSING

if no resources etc to allocate irp, return or sch_rwait - MISSING

irp with acpcontrol etc - MISSING

charge buffer quota - MISSING

release forklock and affinity - MISSING

invoke qioacppkt - MISSING

Definition at line 34 of file syscancel.c.

References _pcb, _ccb::ccb_l_ucb, com_post(), ctl_ga_ccb_table, ctl_gl_pcb, _ddt::ddt_l_cancel, IPL__ASTDEL, _irp::irp_l_ioqfl, _irp::irp_l_iost1, _irp::irp_l_pid, SS__NORMAL, _ucb::ucb_l_ddt, _ucb::ucb_l_ioqfl, and _ucb::ucb_l_irp.

Referenced by exe_dassgn().

int exe_cbb_allocate ( CBB_PPQ  cbb,
int  unitsize,
int  bits,
int  ipl,
unsigned long long  flags,
int  timeout_value 
)

int exe_cbb_boolean_oper ( int  flags,
int  function,
CBB_PQ  cbb1,
CBB_PQ  cbb2,
CBB_PQ  dst,
INT_PQ  ccode 
)

int exe_cbb_clear_bit ( int  flags,
int  bitpos,
CBB_PQ  src,
CBB_PQ  dst,
INT_PQ  ccode 
)

int exe_cbb_copy ( CBB_PQ  src,
CBB_PQ  dst,
int  length,
int  flags 
)

int exe_cbb_empty ( CBB_PQ  cbb,
int  flags,
INT_PQ  state 
)

int exe_cbb_extract_bitmask ( CBB_PQ  src,
int  start,
int  length,
int  flags,
VOID_PQ  bitmask_addr 
)

int exe_cbb_find_first_clear ( CBB_PQ  cbb,
int  start,
int  flags,
INT_PQ  bitpos,
INT_PQ  ccode 
)

int exe_cbb_find_first_set ( CBB_PQ  cbb,
int  start,
int  flags,
INT_PQ  bitpos,
INT_PQ  ccode 
)

int exe_cbb_get_size ( int  unitsize,
int  bits,
INT_PQ  resultsize 
)

int exe_cbb_initialize ( CBB_PQ  cbb,
int  blksiz,
int  unitsize,
int  bits,
int  ipl,
unsigned long long  flags,
int  timeout_value 
)

int exe_cbb_insert_bitmask ( int  start,
int  length,
int  flags,
VOID_PQ  bitmask_addr,
CBB_PQ  cbb 
)

int exe_cbb_lock ( CBB_PQ  cbb  ) 

int exe_cbb_rebuild ( CBB_PQ  cbb,
int  flags 
)

int exe_cbb_set_bit ( int  flags,
int  bitpos,
CBB_PQ  src,
CBB_PQ  dst 
)

int exe_cbb_test_bit ( CBB_PQ  cbb,
int  bitpos,
int  flags 
)

int exe_cbb_unlock ( CBB_PQ  cbb  ) 

int exe_cbb_validate ( CBB_PQ  cbb,
int  unitsize,
int  bits,
int  ipl,
unsigned long long  flags,
int  timeout_value,
UINT64_PQ  ret_flags 
)

int exe_cbb_zero ( CBB_PQ  cbb,
int  flags 
)

void exe_check_for_mem_error ( struct _cpu cpudb  ) 

int exe_clear_memtest_env ( void   ) 

unsigned exe_close ( struct _fabdef fab  ) 

asmlinkage int exe_clref ( unsigned int  efn  ) 

clear event flag - see 5.2 9.8

Parameters:
efn event flag number

Definition at line 57 of file sysevtsrv.c.

References _pcb, ctl_gl_pcb, efc, efcc, getefc(), SS__WASCLR, and SS__WASSET.

Referenced by exe_enq(), exe_getdvi(), exe_getjpi(), exe_getsyi(), exe_qio(), exe_setimr(), and exe_synch().

unsigned exe_connect ( struct _rabdef rab  ) 

unsigned exe_create ( struct _fabdef fab  ) 

asmlinkage int exe_create_region_32 ( unsigned long  length,
unsigned int  region_prot,
unsigned int  flags,
unsigned long long *  return_region_id,
void **  return_va,
unsigned long *  return_length,
unsigned long  start_va 
)

asmlinkage exe_crelnm ( unsigned int *  attr,
void *  tabnam,
void *  lognam,
unsigned char *  acmode,
void *  itmlst 
)

asmlinkage int exe_crelnt ( unsigned int *  attr,
void *  resnam,
unsigned int *  reslen,
unsigned int *  quota,
unsigned short *  promsk,
void *  tabnam,
void *  partab,
unsigned char *  acmode 
)

asmlinkage int exe_crembx ( char  prmflg,
unsigned short int *  chan,
unsigned int  maxmsg,
unsigned int  bufquo,
unsigned int  promsk,
unsigned int  acmode,
void *  lognam,
long  flags,
  ... 
)

asmlinkage int exe_creprc ( unsigned int *  pidadr,
void *  image,
void *  input,
void *  output,
void *  error,
struct _generic_64 prvadr,
unsigned int *  quota,
void *  prcnam,
unsigned int  baspri,
unsigned int  uic,
unsigned short int  mbxunt,
unsigned int  stsflg,
  ... 
)

asmlinkage int exe_cretva ( struct _va_range inadr,
struct _va_range retadr,
unsigned int  acmode 
)

system service for virtual address space creation - see 5.2 15.2 15.3.1

Parameters:
inadr address range
retadr returned address range
acmode access mode

create stack scratch space - MISSING

template pte - (seems to be in credel)

set ipl 2 - MISSING

test page ownership and access mode - MISSING

call credel

test address range in system space, and return NOPRIV - (seems to be in credel)

test overlapping addresses - MISSING

does only credel, no fast_create

return pagefile quota, peak pagefile usage - MISSING

set ipl 0 - MISSING

Definition at line 309 of file syscredel.c.

References _pcb, mmg_credel(), mmg_lookup_rde_va(), _va_range::va_range_ps_end_va, and _va_range::va_range_ps_start_va.

Referenced by do_mmap_pgoff().

asmlinkage int exe_crmpsc ( struct _va_range inadr,
struct _va_range retadr,
unsigned int  acmode,
unsigned int  flags,
void *  gsdnam,
unsigned long long *  ident,
unsigned int  relpag,
unsignedlong  chan,
unsigned int  pagcnt,
unsigned int  vbn,
unsigned int  prot,
unsigned int  pfc 
)

system service for process-private section creation - see 5.2 15.4.1

Parameters:
inadr suggested address range
retadr returned address range
acmode access mode
gsd global section no short int yet

initialize scratch space - MISSING ?

call mmg vfysecflg to test flag args - MISSING - empty routine

confirm that the channel has been assigned etc - MISSING

check wheter the wcb maps the entire file - MISSING

if to be a copy-on-reference - MISSING

set ipl 2 to prevent asts

call mmg dalcstxscn to check process section table for deallocatable sections - MISSING

check for copy-on-reference - MISSING

check demand zero - MISSING

form a template pte

calculate protection and some more - MISSING

set sec flags from param

set sec vbn from param

vbn 0 check - MISSING

copy to sec unit_cnt (pagcnt) from pagcnt param

set in sec window the ccb window

check whether file has been open consistently with the flags - MISSING

if this is the first section mapped - MISSING

set sec refcnt to 1 - MISSING

set sec pfc - MISSING

form a template pte

calculate protection and some more - MISSING

set sec flags from param

set sec vbn from param

vbn 0 check - MISSING

copy to sec unit_cnt (pagcnt) from pagcnt param

set in sec window the ccb window

check whether file has been open consistently with the flags - MISSING

if this is the first section mapped - MISSING

set sec refcnt to 1 - MISSING

set sec pfc - MISSING

Definition at line 90 of file syscrmpsc.c.

References _pcb, ctl_ga_ccb_table, ctl_gl_pcb, exe_gl_gsdgrpfl, exe_gl_gsdsysfl, exe_mgblsc(), _gsd::gsd_l_basepfn, _gsd::gsd_l_flags, _gsd::gsd_l_gstx, _gsd::gsd_l_ident, _gsd::gsd_l_pcbuic, IPL__ASTDEL, kmalloc(), mmg_dalcstxscn(), mmg_fast_create(), mmg_gl_sysphd, mmg_gq_free_gpt, mmg_gq_gpt_base, mmg_gsdscn(), mmg_vfysecflg(), _mypte::pte_l_all, _mypte::pte_v_gblwrt, _mypte::pte_v_global, _mypte::pte_v_pfn, _mypte::pte_v_stx, _mypte::pte_v_typ0, _mypte::pte_v_typ1, _secdef::sec_l_ccb, _secdef::sec_l_flags, _secdef::sec_l_gsd, _secdef::sec_l_unit_cnt, _secdef::sec_l_vbn, _secdef::sec_l_vpx, _secdef::sec_l_window, SEC_M_GBL, SEC_M_SYSGBL, _va_range::va_range_ps_end_va, and _va_range::va_range_ps_start_va.

Referenced by do_mmap_pgoff(), exe_crmpsc_wrap(), and exe_imgact().

asmlinkage int exe_dassgn ( unsigned short int  chan  ) 

deassign channel

Parameters:
chan i/o channel

verify i/o channel

call exe_canceln, but not implemented, do $cancel instead

call verify_chan again, in case of asts - MISSING

check ccb_l_wind and close the file - MISSING

check ccb_w_ioc to see if outstanding i/o - MISSING

lock i/o db

clear ccb amod

disassociate eventual mailbox - MISSING

dec ucb ref count

checks and stuff to do if refc == 0 - MISSING

eventually do ioc_last_chan - MISSING

i/o db unlock

Definition at line 29 of file sysdassgn.c.

References _ccb::ccb_b_amod, _ccb::ccb_l_ucb, exe_cancel(), ioc_verify_chan(), sch_iolockw(), sch_iounlock(), and SS__NORMAL.

int exe_deallocate ( void *  returnblock,
void **  poolhead,
int  size 
)

int exe_deanonpaged (  ) 

Definition at line 521 of file memoryalc.c.

int exe_delay ( long long *  delay_nanos  ) 

asmlinkage exe_dellnm ( void *  tabnam,
void *  lognam,
unsigned char *  acmode 
)

Definition at line 338 of file syslnm.c.

References IPL__ASTDEL, and lnm_lockw().

asmlinkage int exe_deltva ( struct _va_range inadr,
struct _va_range retadr,
unsigned int  acmode 
)

unsigned exe_disconnect ( struct _rabdef rab  ) 

unsigned exe_display ( struct _fabdef fab  ) 

int exe_epid_to_ipid ( unsigned long  pid  ) 

void* exe_epid_to_pcb ( unsigned long  pid  ) 

Definition at line 91 of file syspcntrl.c.

References exe_epid_to_ipid(), and exe_ipid_to_pcb().

unsigned exe_erase ( struct _fabdef fab  ) 

void exe_event_notify ( unsigned long long  event_mask  ) 

asmlinkage int exe_exit ( unsigned int  code  ) 

Definition at line 13 of file sysexit.c.

References ctl_gl_thexec, _exh::exh_l_first_arg, _exh::exh_l_handler, SS__NORMAL, and sys_exit().

unsigned exe_extend ( struct _fabdef fab  ) 

exe_extendpool ( void *  pool  ) 

Definition at line 132 of file memoryalc_pool.c.

References exe_extend_npp().

Referenced by exe_allocate_pool(), and exe_alononpagvar().

int exe_finishio ( long  status1,
long  status2,
struct _irp i,
struct _pcb *  p,
struct _ucb u 
)

completing the i/o request in the fdt routine - see 5.2 21.6.3.3

Parameters:
status1 
status2 
i irp
p pcb
u ucb

incr ucb operation count - MISSING

store statuses in irp iost/media

do forklock

insert irp in cpu's postprocessing queue. TODO check if only for the primary cpu

unlock forklock

set ipl 0

SS__NORMAL for QIO return value

Definition at line 138 of file sysqioreq.c.

References forklock(), forkunlock(), _irp::irp_l_iost1, _irp::irp_l_iost2, smp_gl_cpu_data, SS__NORMAL, and _ucb::ucb_b_flck.

Referenced by exe_finishioc(), and mb_fdt_sensemode().

int exe_finishioc ( long  status,
struct _irp i,
struct _pcb *  p,
struct _ucb u 
)

completing the i/o request in the fdt routine - see 5.2 21.6.3.3

Parameters:
status 
i irp
p pcb
u ucb

just go to finish io

Definition at line 164 of file sysqioreq.c.

References exe_finishio().

Referenced by mb_fdt_read(), mb_fdt_setmode(), and mb_fdt_write().

int exe_flushlists ( void *  pool,
int  size 
)

asmlinkage int exe_forcex ( unsigned int *  pidadr,
void *  prcnam,
unsigned int  code 
)

system service force exit - see 5.2 13.3.3

invoke nampid translation

if remote invoke cwps force - NOTE cluster out of order

unlock spin

if not found return

set forcepen flag in pcb

queue a user mode (TODO check mode) to process, running exe_exit

Definition at line 36 of file sysforcex.c.

References _pcb, _acb::acb_l_ast, _acb::acb_l_astprm, _acb::acb_l_pid, cwps_forcex(), exe_nampid(), kmalloc(), sch_qast(), SPIN_SCHED, and SS__REMOTE_PROC.

unsigned exe_get ( struct _rabdef rab  ) 

asmlinkage int exe_gettim ( unsigned long long *  timadr  ) 

Definition at line 76 of file sysgettim.c.

References exe_gq_systime, SS__ACCVIO, and SS__NORMAL.

Referenced by lib_day().

int exe_illiofunc ( struct _irp irp,
struct _pcb *  pcb,
struct _ucb ucb,
struct _ccb ccb 
)

asmlinkage int exe_imgact ( void *  name,
void *  dflnam,
void *  hdrbuf,
unsigned long  imgctl,
unsigned long long *  inadr,
unsigned long long *  retadr,
unsigned long long *  ident,
unsigned long  acmode 
)

int exe_imgact_elf ( void *  name,
void *  hdrbuf 
)

Referenced by exe_imgact().

asmlinkage int exe_imgsta ( void *  transfer,
void *  parseinfo,
void *  header,
void *  file,
unsigned long  linkstatus,
unsigned long  clistatus 
)

Definition at line 15 of file sysimgsta.c.

Referenced by exe_imgsta_wrap().

void exe_insertirp ( struct _ucb u,
struct _irp i 
)

insert irp in units queue - see 5.2 22.2.1

Parameters:
u unit cb
i irp

find right pri

insert at that pri

Definition at line 60 of file sysqioreq.c.

References _irp::irp_b_pri, _irp::irp_l_ioqfl, and _ucb::ucb_l_ioqfl.

Referenced by exe_insioq().

int exe_insioq ( struct _irp i,
struct _ucb u 
)

insert irp in units queue - see 5.2 22.2.1

Parameters:
i irp
u ucb unit

forklock and raise ipl

if unit busy, just insert

else mark busy and initiate i/o

restore ipl

release fork lock

Definition at line 175 of file sysqioreq.c.

References exe_insertirp(), forklock(), forkunlock(), ioc_initiate(), SS__NORMAL, _ucb::ucb_b_flck, and _ucb::ucb_l_sts.

Referenced by exe_qiodrvpkt().

void exe_instimq ( struct _tqe t  ) 

insert tqe in timer queue

sorted according to time

Parameters:
t tqe

Definition at line 27 of file exsubrout.c.

References exe_gl_tqfl, IPL__TIMER, SPIN_TIMER, _tqe::tqe_l_tqbl, _tqe::tqe_l_tqfl, and _tqe::tqe_q_delta.

Referenced by exe_schdwk(), exe_setimr(), and exe_swtimint().

void exe_iofork ( struct _irp i,
struct _ucb u 
)

servicing the device interrupt - see 5.2 22.3.3

Parameters:
i irp
u ucb

clear tim bit

call exe_fork

Definition at line 149 of file forkcntrl.c.

References exe_fork(), and _ucb::ucb_l_sts.

int exe_ipid_to_epid ( unsigned long  pid  ) 

Definition at line 121 of file syspcntrl.c.

References csid, process_bit_shift(), process_index_mask(), sch_gl_pcbvec, and sch_gl_seqvec.

void* exe_ipid_to_pcb ( unsigned long  pid  ) 

int exe_kp_allocate_kpb ( struct _kpb **  kpb_p,
int  stksiz,
int  flags,
int  paramsiz 
)

int exe_kp_deallocate_kpb ( struct _kpb kpb  ) 

int exe_kp_end ( struct _kpb kpb  ) 

struct _kpb* exe_kp_find_kpb ( void   )  [read]

int exe_kp_fork ( struct _kpb kpb,
struct _fkb fkb 
)

int exe_kp_fork_wait ( struct _kpb kpb,
struct _fkb fkb 
)

int exe_kp_restart ( struct _kpb kpb,
int  thread_sts 
)

int exe_kp_stall_general ( struct _kpb kpb  ) 

int exe_kp_start ( struct _kpb kpb,
void(*)(struct _kpb *kpb)  rout,
long long  regmask 
)

int exe_kp_tqe_wait ( struct _kpb kpb,
long long *  ticks,
int  spnlidx 
)

void exe_lal_insert_first ( void *  packet,
void *  listhead 
)

Definition at line 28 of file look_aside_list.c.

References _myhead::hd_l_flink, and _myhead::hd_l_seq.

Referenced by exe_deallocate_pool(), and exe_std_deanonpgdsiz().

void* exe_lal_remove_first ( void *  listhead  ) 

int exe_lock_pkta ( void   ) 

asmlinkage int exe_mount ( void *  itmlst  ) 

int exe_nampid ( struct _pcb *  p,
unsigned long *  pidadr,
void *  prcnam,
struct _pcb **  retpcb,
unsigned long *  retipid,
unsigned long *  retepid 
)

locating the process and checking privileges - see 5.2 13.1.2

Parameters:
p pcb
pidadr epid
prcnam process name
retipid return val ipid
retepid return val epid with no cwps return params not as specified

determine if requesting process is target process - MISSING

if so do priv checks - MISSING partially

sched spinlock, and on success do not unlock

try to locate using the epid

indications about remote pcb, give REMOTE_PROC, TODO reimplement

if unknown node, return NONEXPR - MISSING

check privs for examining or modifying process

try to locate using the process name

indications about remote process, give REMOTE_PROC, TODO reimplement

if process name indicates unknown node, return NOSUCHNODE - MISSING

if process name uses incorrectly formated nodename, return IVLOGNAM - MISSING

check privs for examining or modifying process

return NOPRIV - MISSING mostly

Definition at line 217 of file syspcntrl.c.

References _pcb, exe_epid_to_ipid(), exe_process_check_priv(), IPL__ASTDEL, IPL__SCHED, is_cluster_on(), MAXPROCESSCNT, sch_gl_pcbvec, SPIN_SCHED, SS__NORMAL, and SS__REMOTE_PROC.

Referenced by exe_forcex(), exe_process_affinity(), exe_process_capabilities(), exe_resume(), exe_schdwk(), exe_set_implicit_affinity(), exe_setpri(), and exe_wake().

int exe_numtim ( unsigned short  timbuf[7],
struct TIME timadra 
)

unsigned exe_open ( struct _fabdef fab  ) 

unsigned exe_parse ( struct _fabdef fab  ) 

int exe_primitive_mcheck ( int  vec  ) 

int exe_prober_simple ( void *  addr  ) 

Definition at line 95 of file exsubrout.c.

Referenced by exe_crelnm(), exe_crelnt(), and exe_trnlnm().

int exe_pscan_next_id ( struct _pcb **  p  ) 

get next pcb

fix implementation. make multiuser version

Definition at line 25 of file process_scan.c.

References _pcb, init_tasks, MAXPROCESSCNT, pscan_id, and sch_gl_pcbvec.

Referenced by exe_getjpi().

int exe_psx_resume_and_wait ( struct _pcb *  child_pcb  ) 

void exe_psx_set_fork_status ( struct _pcb *  child_pcb,
int  status 
)

unsigned exe_put ( struct _rabdef rab  ) 

int exe_qioacppkt ( struct _irp i,
struct _pcb *  p,
struct _ucb u 
)

initiating file system i/o - see 5.2 22.2.3

Parameters:
i irp
p pcb
u ucb unit

locate vcb

locate aqb

if pid zero use XQP

one temporary FreeVMS hacks in the if for ext2

insert irp into aqbs i/o queue

return if it was not empty before insert

spinlock and unlock TODO specified where?

invoke wakeup

TODO check ipl 0

TODO return val from sch_wake

Definition at line 365 of file sysqioreq.c.

References _aqb::aqb_l_acppid, _aqb::aqb_l_acpqfl, exe_qioqe2ppkt(), exe_qioqxqppkt(), IPL__SCHED, sch_wake(), SPIN_SCHED, SS__NORMAL, _ucb::ucb_l_vcb, and _vcb::vcb_l_aqb.

Referenced by acp_std_access(), acp_std_deaccess(), acp_std_modify(), acp_std_mount(), acp_std_readblk(), and acp_std_writeblk().

int exe_qiodrvpkt ( struct _irp i,
struct _pcb *  p,
struct _ucb u 
)

entering the driver's start i/o routine - see 5.2 22.2.1

Parameters:
i irp
p pcb
u ucb

insert irp in ucb

setipl 0

Definition at line 406 of file sysqioreq.c.

References exe_insioq(), and SS__NORMAL.

Referenced by acp_std_readblk(), acp_std_writeblk(), and exe_std_qiodrvpkt().

unsigned exe_read ( struct _rabdef rab  ) 

void exe_reclaim_pool_aggressive ( void *  pool  ) 

void exe_reclaim_pool_gentle ( void *  pool  ) 

asmlinkage int exe_schdwk ( unsigned int *  pidadr,
void *  prcnam,
signed long long *  daytim,
signed long long *  reptim 
)

schedule wakeup - see 5.2 11.6.3

Parameters:
pidadr address of pid
prcnam process name
daytim time of day
reptim time to repeat

invoke exe_nampid to find pcb

TODO better handling of sts and vmsunlock

maybe cwps - MISSING

allocate and init tqe

test if one-time or repeating

convert repeat to system time format

if relative clear tqe absolute bit - MISSING

decrement astcnt - MISSING

insert with instimq

return value - MISSING

Definition at line 83 of file sysschevt.c.

References _pcb, exe_gq_systime, exe_instimq(), exe_nampid(), kmalloc(), smp_gl_cpu_data, SPIN_SCHED, _tqe::tqe_b_rqtype, _tqe::tqe_b_type, _tqe::tqe_l_pid, _tqe::tqe_q_delta, and _tqe::tqe_q_time.

unsigned exe_search ( struct _fabdef fab  ) 

unsigned exe_setddir ( struct dsc $descriptor *  newdir,
unsigned short *  oldlen,
struct dsc $descriptor *  olddir 
)

asmlinkage int exe_setimr ( unsigned int  efn,
signed long long *  daytim,
void(*)(long)  astadr,
unsigned long  reqidt,
unsigned int  flags 
)

set timer - see 5.2 11.6.1

Parameters:
efn event flag
daytim time
astadr ast routine
reqidt param for it
flags 

test time location - MISSING

test astcnt - MISSING

decrement jib tqcnt, test and maybe MWAIT - MISSING

allocate tqe

clear event flag

fifth nonzero argument test

wrong use TODO use chk_cputim field

if negative, then relative time

set absolute bit - MISSING

store access mode in tqe - MISSING

if no astadr, decrease astcnt and set quota bit - MISSING

insert in timer queue

Definition at line 35 of file sysschevt.c.

References exe_clref(), exe_gq_systime, exe_instimq(), kmalloc(), smp_gl_cpu_data, SS__ACCVIO, _tqe::tqe_b_efn, _tqe::tqe_b_rqtype, _tqe::tqe_b_type, _tqe::tqe_l_ast, _tqe::tqe_l_astprm, _tqe::tqe_l_pid, and _tqe::tqe_q_time.

Referenced by exe_reclaim_pool_gentle(), init_nonpaged(), and vms_init4().

asmlinkage int exe_setpri ( unsigned int *  pidadr,
void *  prcnam,
unsigned int  pri,
unsigned int *  prvpri,
unsigned int *  pol,
unsigned int *  prvpol 
)

set priority - see 5.2 13.4.1

locate process by nampid

cwps - MISSING

set prisav, pribsav - MISSING

set prib

if current process, call change cur priority

call rse

Definition at line 31 of file syssetpri.c.

References _pcb, exe_nampid(), sch_change_cur_priority(), sch_rse(), and SS__NORMAL.

Referenced by exe_setpri_wrap().

asmlinkage int exe_setprn ( struct dsc $descriptor *  s  ) 

set process name - see 5.2 13.4.3

put name into lname field

Definition at line 371 of file syspcntrl.c.

References _pcb, and SS__NORMAL.

int exe_setup_memtest_env ( void   ) 

int exe_std_abortio ( struct _irp i,
struct _pcb *  p,
struct _ucb u,
int  qio_sts 
)

abort i/o operation - see 5.2 21.6.3.2

Parameters:
i irp
p pcb
u ucb
qio_sts 

acquire forklock etc

clear iosb

inc process ast quota if v_quota was set - MISSING

insert irp in cpu's postprocessing queue

request iopost softint

release forklock

set ipl 0 - MISSING

Definition at line 79 of file sysqioreq.c.

References forklock(), forkunlock(), _irp::irp_b_rmod, _irp::irp_l_iosb, smp_gl_cpu_data, and _ucb::ucb_b_flck.

Referenced by mb_fdt_read(), and mb_fdt_write().

int exe_std_alloc_bufio_32 ( struct _irp irp,
struct _pcb *  pcb,
void *  uva32,
int  pktdatsiz 
)

int exe_std_alloc_bufio_64 ( struct _irp irp,
struct _pcb *  pcb,
VOID_PQ  uva64,
int  pktdatsiz 
)

int exe_std_alloc_diagbuf ( struct _irp irp,
VOID_PQ  uva64,
int  pktdatsiz 
)

int exe_std_allocbuf ( int  reqsize,
int32 alosize_p,
void **  bufptr_p 
)

Definition at line 632 of file memoryalc.c.

References exe_std_allocxyz().

int exe_std_allocceb ( int *  alosize_p,
struct _ceb **  ceb_p 
)

Definition at line 636 of file memoryalc.c.

References exe_std_allocxyz().

Referenced by exe_ascefc().

int exe_std_allocirp ( struct _irp **  irp_p  ) 

Definition at line 641 of file memoryalc.c.

References exe_std_allocxyz().

int exe_std_allocjib ( int32 alosize_p,
struct _jib **  jib_p 
)

int exe_std_allocpcb ( int32 alosize_p,
struct _pcb **  pcb_p 
)

int exe_std_alloctqe ( int32 alosize_p,
struct _tqe **  tqe_p 
)

Definition at line 647 of file memoryalc.c.

References exe_std_allocxyz().

int exe_std_allocxyz ( int *  alosize_p,
struct _tqe **  tqe_p,
int  type,
int  size 
)

int exe_std_alononpaged ( int  reqsize,
int32 alosize_p,
void **  pool_p 
)

int exe_std_alop1imag ( int  reqsize,
int32 alosize_p,
void **  pool_p 
)

int exe_std_alop1proc ( int  reqsize,
int32 alosize_p,
void **  pool_p 
)

int exe_std_alopaged ( int  reqsize,
int32 alosize_p,
void **  pool_p 
)

int exe_std_alophycntg ( int  npages,
void **  sva_p 
)

int exe_std_alophycntg_color ( int  npages,
int  rad,
int  byte_align,
void **  sva_p 
)

int exe_std_alophycntg_color_s2 ( int  npages,
int  rad,
int  byte_align,
VOID_PPQ  sva_p 
)

int exe_std_alophycntg_s2 ( int  npages,
VOID_PPQ  sva_p 
)

void exe_std_altquepkt ( struct _irp irp,
struct _ucb ucb 
)

void exe_std_carriage ( struct _irp irp  ) 

int exe_std_check_device_access ( int  ,
int  ,
struct _pcb *  pcb,
struct _ucb ucb 
)

int exe_std_chkcreacces ( struct _arb arb,
struct _orb orb,
struct _pcb *  pcb,
struct _ucb ucb 
)

int exe_std_chkdelacces ( struct _arb arb,
struct _orb orb,
struct _pcb *  pcb,
struct _ucb ucb 
)

int exe_std_chkexeacces ( struct _arb arb,
struct _orb orb,
struct _pcb *  pcb,
struct _ucb ucb 
)

int exe_std_chkflupages ( void   ) 

int exe_std_chklogacces ( struct _arb arb,
struct _orb orb,
struct _pcb *  pcb,
struct _ucb ucb 
)

int exe_std_chkphyacces ( struct _arb arb,
struct _orb orb,
struct _pcb *  pcb,
struct _ucb ucb 
)

int exe_std_chkpro_int ( struct _arb arb,
struct _orb orb,
struct _chpctl chpctl,
struct _chpret chpret 
)

int exe_std_chkrdacces ( struct _arb arb,
struct _orb orb,
struct _pcb *  pcb,
struct _ucb ucb 
)

Definition at line 79 of file exsubrout.c.

References SS__NORMAL.

int exe_std_chkwrtacces ( struct _arb arb,
struct _orb orb,
struct _pcb *  pcb,
struct _ucb ucb 
)

Definition at line 84 of file exsubrout.c.

References SS__NORMAL.

Referenced by mb_fdt_write().

void exe_std_credit_bytcnt ( int  credit,
struct _pcb *  pcb 
)

void exe_std_credit_bytcnt_bytlm ( int  credit,
struct _pcb *  pcb 
)

int exe_std_cvt_ipid_to_epid ( int  ipid  ) 

struct _pcb* exe_std_cvt_ipid_to_pcb ( int  ipid  )  [read]

int exe_std_deanonpaged ( void *  pool  ) 

Definition at line 235 of file memoryalc_dyn.c.

References exe_std_deanonpgdsiz().

int exe_std_deanonpgdsiz ( void *  pool,
int  size 
)

int exe_std_deap1 ( void *  pool,
int  size 
)

int exe_std_deap1block ( void *  pool  ) 

void exe_std_deapaged ( void *  pool  ) 

int exe_std_debit_bytcnt ( int  debit,
struct _pcb *  pcb 
)

int exe_std_debit_bytcnt_alo ( int  debit,
struct _pcb *  pcb,
int32 alosize_p,
void **  pool_p 
)

Definition at line 89 of file exsubrout.c.

References kmalloc(), and SS__NORMAL.

int exe_std_debit_bytcnt_bytlm_alo ( int  debit,
struct _pcb *  pcb,
int32 alosize_p,
void **  pool_p 
)

int exe_std_debit_bytcnt_bytlm_nw ( int  debit,
struct _pcb *  pcb 
)

int exe_std_finishio ( struct _irp irp,
struct _ucb ucb 
)

int exe_std_insert_irp ( struct _irp **  irp_lh,
struct _irp irp 
)

void exe_std_insioq ( struct _irp irp,
struct _ucb ucb 
)

void exe_std_insioq_simple ( struct _irp irp,
struct _ucb ucb 
)

void exe_std_insioqc ( struct _irp irp,
struct _ucb ucb 
)

void exe_std_instimq ( int  duetim_lo,
int  duetim_hi,
struct _tqe tqe 
)

void exe_std_iofork_cpu ( struct _fkb fkb,
struct _cpu destcpudb 
)

int exe_std_iorsnwait ( struct _irp irp,
struct _pcb *  pcb,
struct _ucb ucb,
struct _ccb ccb,
int  qio_sts,
int  rsn 
)

Definition at line 27 of file sysqiofdt.c.

References kfree(), sch_gl_resmask, and sch_wait().

Referenced by mb_fdt_read(), and mb_fdt_write().

void exe_std_kp_startio ( struct _irp irp,
struct _ucb ucb 
)

int exe_std_lcldskvalid ( struct _irp irp,
struct _pcb *  pcb,
struct _ucb ucb,
struct _ccb ccb 
)

void exe_std_lock_err_cleanup ( struct _irp irp  ) 

int exe_std_maxacmode ( int  acmode  ) 

void exe_std_mntversio ( void(*)()  rout,
struct _irp irp,
struct _ucb ucb 
)

int exe_std_modify ( struct _irp irp,
struct _pcb *  pcb,
struct _ucb ucb,
struct _ccb ccb 
)

int exe_std_modifylock ( struct _irp irp,
struct _pcb *  pcb,
struct _ucb ucb,
struct _ccb ccb,
void *  buf,
int  bufsiz,
void(*)(struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, struct _ccb *ccb, int errsts)  err_rout 
)

int exe_std_mount_ver ( int  iost1,
int  iost2,
struct _irp irp,
struct _ucb ucb 
)

int exe_std_nam_to_pcb ( int *  pid_p,
void *  prcnam_p,
int  nsa_id,
struct _pcb *  pcb,
int *  rpid_p,
struct _ktb **  rktb_p,
struct _pcb **  rpcb_p 
)

int exe_std_oneparm ( struct _irp irp,
struct _pcb *  pcb,
struct _ucb ucb,
struct _ccb ccb 
)

void exe_std_outzstring ( char *  string  ) 

void exe_std_primitive_fork ( long  fr3,
long  fr4,
struct _fkb fkb 
)

Definition at line 219 of file forkcntrl.c.

References exe_std_queue_fork(), _fkb::fkb_l_fr3, and _fkb::fkb_l_fr4.

void exe_std_primitive_fork_wait ( long long  fr3,
long long  fr4,
struct _fkb fkb 
)

int exe_std_prober ( VOID_PQ  buf,
int  bufsiz,
int  acmode 
)

int exe_std_prober_dsc ( void *  dsc_p  ) 

int exe_std_prober_dsc64 ( VOID_PQ  dsc_p,
UINT64_PQ  ret_length,
CHAR_PPQ  ret_bufadr 
)

int exe_std_probew ( VOID_PQ  buf,
int  bufsiz,
int  acmode 
)

int exe_std_probew_dsc ( void *  dsc_p  ) 

int exe_std_probew_dsc64 ( VOID_PQ  dsc_p,
UINT64_PQ  ret_length,
CHAR_PPQ  ret_bufadr 
)

int exe_std_qioacppkt ( struct _irp irp,
struct _pcb *  pcb,
struct _ucb ucb 
)

int exe_std_qiodrvpkt ( struct _irp irp,
struct _ucb ucb 
)

Definition at line 414 of file sysqioreq.c.

References exe_qiodrvpkt().

int exe_std_qioserver_new_unit ( struct _ucb ucb  ) 

void exe_std_queue_fork ( struct _fkb fkb  ) 

Definition at line 214 of file forkcntrl.c.

References exe_queue_fork().

Referenced by exe_std_primitive_fork().

int exe_std_read ( struct _irp irp,
struct _pcb *  pcb,
struct _ucb ucb,
struct _ccb ccb 
)

int exe_std_readchk ( struct _irp irp,
struct _pcb *  pcb,
struct _ucb ucb,
void *  buf,
int  bufsiz 
)

Definition at line 20 of file sysqiofdt.c.

References _irp::irp_l_bcnt, SS__BADPARAM, and SS__NORMAL.

Referenced by mb_fdt_read().

int exe_std_readlock ( struct _irp irp,
struct _pcb *  pcb,
struct _ucb ucb,
struct _ccb ccb,
void *  buf,
int  bufsiz,
void(*)(struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, struct _ccb *ccb, int errsts)  err_rout 
)

int exe_std_rmvtimq ( int  acmode,
int  reqid,
int  remval,
int  ipid 
)

remove request id from timer queue - see 5.2 11.6.2

Parameters:
acmode access mode
reqid request id
remval 
ipid internal pid

handle acmode - MISSING

Definition at line 56 of file exsubrout.c.

References exe_gl_tqfl, kfree(), _tqe::tqe_b_rqtype, _tqe::tqe_l_astprm, _tqe::tqe_l_pid, and _tqe::tqe_l_tqfl.

Referenced by exe_cantim(), and exe_canwak().

int exe_std_sensemode ( struct _irp irp,
struct _pcb *  pcb,
struct _ucb ucb,
struct _ccb ccb 
)

int exe_std_setchar ( struct _irp irp,
struct _pcb *  pcb,
struct _ucb ucb,
struct _ccb ccb 
)

int exe_std_setmode ( struct _irp irp,
struct _pcb *  pcb,
struct _ucb ucb,
struct _ccb ccb 
)

int exe_std_sndevmsg ( struct _mb_ucb mb_ucb,
int  msgtyp,
struct _ucb ucb 
)

int exe_std_snglequota_long ( int32 quota_p,
struct _pcb *  pcb 
)

int exe_std_synch_loop ( int  efn,
VOID_PQ  iosb 
)

int exe_std_write ( struct _irp irp,
struct _pcb *  pcb,
struct _ucb ucb,
struct _ccb ccb 
)

int exe_std_writechk ( struct _irp irp,
struct _pcb *  pcb,
struct _ucb ucb,
void *  buf,
int  bufsiz 
)

Definition at line 13 of file sysqiofdt.c.

References _irp::irp_l_bcnt, SS__BADPARAM, and SS__NORMAL.

Referenced by mb_fdt_write().

int exe_std_writelock ( struct _irp irp,
struct _pcb *  pcb,
struct _ucb ucb,
struct _ccb ccb,
void *  buf,
int  bufsiz,
void(*)(struct _irp *irp, struct _pcb *pcb, struct _ucb *ucb, struct _ccb *ccb, int errsts)  err_rout 
)

int exe_std_wrtmailbox ( struct _mb_ucb mb_ucb,
int  msgsiz,
void *  msg,
  ... 
)

int exe_std_zeroparm ( struct _irp irp,
struct _pcb *  pcb,
struct _ucb ucb,
struct _ccb ccb 
)

int exe_synch ( unsigned int  efn,
struct _iosb iosb 
)

wait until event flag set and eventual iosb flag too - see 5.2 6.3.6.3

Parameters:
efn event flag number
iosb io status block

Definition at line 27 of file exception_init.c.

References exe_clref(), _iosb::iosb_w_status, SS__NORMAL, and sys_waitfr().

Referenced by exe_enqw(), exe_getdviw(), exe_getjpiw(), exe_getlkiw(), exe_getsyiw(), exe_qiow(), and sys_qiow().

int exe_timedwait_complete ( long long *  end_value_p  ) 

int exe_timedwait_setup ( long long *  delay_nanos,
long long *  end_value_p 
)

int exe_timedwait_setup_10us ( long long *  delay_10us,
long long *  end_value_p 
)

asmlinkage exe_trnlnm ( unsigned int *  attr,
void *  tabnam,
void *  lognam,
unsigned char *  acmode,
void *  itmlst 
)

int exe_unlock_pkta ( void   ) 

void ini_brk ( void   ) 

unsigned name_delim ( char *  str,
int  len,
int  size[5] 
)


Generated on Fri Oct 9 10:25:50 2009 for FreeVMS by  doxygen 1.5.5