1 User_Services
  Several user-written system services are supported on the ACNET
  VAXen via the FERMIUSS.EXE (a protected shareable image).  To use
  these routines, the FERMIUSS image must be linked into your program
  as a shareable image.  Examples of linking FERMIUSS are given in
  the "LINK_Examples" subtopic.

  The other subtopics provide information on the individual services.

2 LINK_Examples
  To link FERMIUSS, you must include a statement of the form:

	...,SYS$SHARE:FERMIUSS/SHARE...

  in your LINK options file.  A more complete example is:

	$ LINK...  ...,SYS$INPUT:/OPTIONS
	...
	SYS$SHARE:FERMIUSS/SHARE...

  The linker can handle multiple options files, thus to link to the
  VAX Applications Library, the ACNET services and the FERMIUSS
  system services, one could do something like:

	$ LINK...  ...,SYS$INPUT:/OPTIONS,VAX$AP_LIB:VAXAPLIB/OPTIONS
	SYS$SHARE:FERMIUSS/SHARE

2 _GETICR
 Reads the contents of the processor's interval timer count register.

  status.wlc.v = USER_GETICR( icrret.wl.r )

 status   completion status code, returned by value.
            SS$_NORMAL   success
            SS$_ACCVIO   argument list or return location inaccessible

 icrret   longword in which the interval count value is returned.
          Passed by reference.

2 _GETODR
 Reads the contents of the processor's time of day register.

  status.wlc.v = USER_GETODR( todrret.wl.r )

 status   completion status code, returned by value.
            SS$_NORMAL   success
            SS$_ACCVIO   argument list or return location inaccessible

 todrret  longword in which the time of day value is returned.
          Passed by reference.

2 _SETMSG
 Set the process's message flag bits.

  status.wlc.v = USER_SETMSG( newflags.rbu.v, [oldflags.wbu.r] )

 status   completion status code, returned by value.
            SS$_NORMAL   success
            SS$_ACCVIO   argument list or return location inaccessible

 newflags new process message flags, defined the same as the flags
          argument of the $GETMSG system service (see below).
          Passed by value.

 oldflags optionally returns the old process message flags.
          Passed by reference.

 The definitions of the message flag bits are:
       0    text
       1    identification
       2    severity
       3    facility
 where each bit controls the output of a particular portion of the
 message.  A 1 causes that portion to be displayed, a 0 disables the
 display.

2 _SETUIC
 Set the User Identification Code (UIC).

  status.wlc.v = USER_SETUIC( newuic.rlu.v )

 status   completion status code, returned by value.
            SS$_NORMAL   success
            SS$_NOPRIV   no privilege for requested operation.

 newuic   new User Identification Code.  Passed by value.
          Low-order word is the member number, High-order word is
          the group number.  If the group number is 0, then the
          current UIC group number is unchanged (just the member
          number is modified).

 If the process has SYSPRV privilege, any UIC can be specified.
 If the process has GROUP privilege, then the group number of the
 new UIC must match that of the current UIC.

