# bootstrapLib: init()

Load and enable veeos.

### Syntax

init()
  no inputs
  return: none

### Usage

This function is designed to be invisible to the end user and to not be explicitly called. Instead it is run in the background by veeosInit.

### Location

library: bootstrapLib

### Notes

Since init() is called by veeosInit which in turn is to be included in all VEE programs that use the veeos library, it is designed to be as small as possible and to have the absolute minimum hard-coded functionality. In essence it does nothing other than to find an RC file and then executes the directives included in that RC file.

In searching for an RC file, init() searches the below locations in series and concatenates all the directives found. This order is chosen for standard precedence: the most specific directive takes precedence if there is more than one conflicting definition.

1. Worldwide global - RC file is downloaded from veeos.org
2. VEE Install directory- searched for veeos.rc
3. Home directory - searched for veeos.rc
4. Directory from which VEE is launched - searched for veeos.rc
5. Directory where the VEE program is located - searched for veeos.rc

Note that since the RC files are concatenated and then the directives in them are executed in order, the last RC file takes precedence. This conforms with standard precedence that says most-specific should win.
Note also that these above RC files can be totally bypassed by setting an environment variable MY_VEEOSRC specifying the RC file(s) to be loaded. As with the default precedence, last files loaded take precedence.
NOTE that due to this behavior, init() can run any RC file directives that the user desires. The end result is that although init() is part of veeos it can alternately be used for initiating the end user's customizations instead (or in addition). This enable the end user program to change functionality (i.e. overriding) depending upon the environment in which it is run.

### Reference

The default veeos RC file is self documenting but the documentation is also included here for reference. Note that the RC file directives include loading libraries and setting variables. The also can be used to automatically execute functions.

    ### User Function Libraries to load. Space delimited. Field order dependent
    # ulib <name> <file> [<function to execute>]

    # examples
    # ulib dt VEEROOT/veeos/lib/dtLib.vxe
    # ulib dt "C:\program files\Agilent\Vee Pro 7.0\veeos\lib\dtLib.vxe" init()

    ### Compiled Function Libraries to load. Space delimited. Field order dependent.
    # clib <name> <file> <definition file> [<function to execute>]

    # example
    # clib io  VEEROOT/veeos/lib/ioLib.dll  VEEROOT/veeos/lib/ioLib.h

    ### set up variables
    # gvar <name> <type> <value>

    # example
    # gvar eps0 Real64 8.854187817e-12

### Dependencies

### Supported On

VEE 7.0+, all platforms

### See Also

veeosInit

© 2015-2021. All Rights Reserved. Stan Bischof (stan@worldbadminton.com). Last updated 06 July 2021 15:26.