| <value> = Functions with varying return types: callInstructions: callcall ( <filename> )
<value> = Functions with varying return types: call
 Instructions: callcall ( <filename>, <value> [,…] )
 Functions with varying return types: callInstructions: callCall another vip Example Scripts: CGI Scripts
 Example Scripts: Scriptsscript like a Vipsi command syntax: Procedures
 Data Types: Procedures
 Glossary: Procedureprocedure with parameters Operators: Boolean And with Variable "&&="
 Operators: Bitwise And with Variable "&="
 Operators: Bitwise And "&"
 Operators: Boolean And "&&"and Flow control: returnreturn a result.
 Calling another vip Example Scripts: CGI ScriptsExample Scripts: Scriptsscript is very similar to executing a Modes of Operation: Shell Scriptsshell script except that Flow control: if … then
 Flow control: try … thenthe Example Scripts: CGI Scripts
 Example Scripts: Scriptsscript can be passed Operators: Boolean And with Variable "&&="
 Operators: Bitwise And with Variable "&="
 Operators: Bitwise And "&"
 Operators: Boolean And "&&"and Shell Scripts: Return values
 Appendix: Return valuesreturn values of any type. Flow control: if … then
 Flow control: try … thenThe called Example Scripts: CGI Scripts
 Example Scripts: Scriptsscript shares Flow control: if … then
 Flow control: try … thenthe Interactive Shell: Preferencespreferences of Flow control: if … then
 Flow control: try … thenthe current context but cannot access it's Glossary: Variable, var_refvariables Operators: Boolean And with Variable "&&="
 Operators: Bitwise And with Variable "&="
 Operators: Bitwise And "&"
 Operators: Boolean And "&&"and Vipsi command syntax: Procedures
 Data Types: Procedures
 Glossary: Procedureprocedures.
 Flow control: if … thenFlow control: try … thenThe called Example Scripts: CGI Scripts
 Example Scripts: Scriptsscript Flow control: end
 Shell Immediate Commands: exit, quit, endends when it executes an Flow control: end
 Shell Immediate Commands: exit, quit, endend Vipsi command syntax: Instructions
 Instructions
 Glossary: Instructioninstruction, Flow control: returnreturn on ground level (Operators: Bitwise Not "~"
 Operators: Boolean Negation "!"not inside a Vipsi command syntax: Procedures
 Data Types: Procedures
 Glossary: Procedureprocedure) Operators: Boolean Or with Variable "||="
 Operators: Bitwise Or with Variable "|="
 Operators: Bitwise Or "|"
 Operators: Boolean Or "||"or program execution reaches Flow control: if … then
 Flow control: try … thenthe Flow control: end
 Shell Immediate Commands: exit, quit, endend of Flow control: if … then
 Flow control: try … thenthe Example Scripts: CGI Scripts
 Example Scripts: Scriptsscript Text functions: file
 Instructions: filefile. It also Flow control: end
 Shell Immediate Commands: exit, quit, endends when it encounters an uncatched error, which generates an error in Flow control: if … then
 Flow control: try … thenthe calling Example Scripts: CGI Scripts
 Example Scripts: Scriptsscript which subsequently will terminate Flow control: if … then
 Flow control: try … thenthe calling Example Scripts: CGI Scripts
 Example Scripts: Scriptsscript Flow control: if … thenif it Flow control: do … loopdoes Operators: Bitwise Not "~"
 Operators: Boolean Negation "!"not catch Flow control: if … then
 Flow control: try … thenthe error.
 Flow control: if … thenFlow control: try … thenThe called Example Scripts: CGI Scripts
 Example Scripts: Scriptsscript is expected to Flow control: returnreturn a Glossary: Valuevalue with Flow control: end
 Shell Immediate Commands: exit, quit, endend Operators: Boolean Or with Variable "||="
 Operators: Bitwise Or with Variable "|="
 Operators: Bitwise Or "|"
 Operators: Boolean Or "||"or Flow control: returnreturn. Flow control: if … thenIf it Flow control: do … loopdoes Operators: Bitwise Not "~"
 Operators: Boolean Negation "!"not Flow control: returnreturn a Glossary: Valuevalue, Flow control: if … then
 Flow control: try … thenthen a result Glossary: Valuevalue of 0.0 is assumed.
 There is also an Vipsi command syntax: InstructionsInstructions
 Glossary: Instructioninstruction Functions with varying return types: call
 Instructions: callcall which Flow control: do … loopdoes pretty Flow control: if … then
 Flow control: try … thenthe same thing but Flow control: do … loopdoes Operators: Bitwise Not "~"
 Operators: Boolean Negation "!"not expect a Shell Scripts: Return values
 Appendix: Return valuesreturn value.
 e.g.: Instructions: varHow does VScript::Value() work?: Var*&var rslt = Functions with varying return types: call
 Instructions: callcall ( "utils/add2db.vs", user_id, Glossary: number, num_valnumber, Glossary: Valuevalue )
 <value> = Functions with varying return types: evalInstructions: evaleval <text>
<value> = Functions with varying return types: eval
 Instructions: evaleval ( <text> )
 Execute <text> as a vip Example Scripts: CGI ScriptsExample Scripts: Scriptsscript Operators: Boolean And with Variable "&&="
 Operators: Bitwise And with Variable "&="
 Operators: Bitwise And "&"
 Operators: Boolean And "&&"and Flow control: returnreturn it's result Glossary: Valuevalue.
 Flow control: if … thenFlow control: try … thenThe Data Types: Text
 Item selector "[]": Text
 Glossary: text, text_valtext is parsed just like a Example Scripts: CGI Scripts
 Example Scripts: Scriptsscript, so almost every Vipsi command syntax: Expressions
 Glossary: Expressionexpression is possible here, including execution of own Vipsi command syntax: Procedures
 Data Types: Procedures
 Glossary: Procedureprocedures.
 Flow control: if … thenFlow control: try … thenThe evaluated Vipsi command syntax: Expressions
 Glossary: Expressionexpression Flow control: end
 Shell Immediate Commands: exit, quit, endends when it executes an Flow control: end
 Shell Immediate Commands: exit, quit, endend Vipsi command syntax: Instructions
 Instructions
 Glossary: Instructioninstruction, Flow control: returnreturn on ground level (Operators: Bitwise Not "~"
 Operators: Boolean Negation "!"not inside a Vipsi command syntax: Procedures
 Data Types: Procedures
 Glossary: Procedureprocedure) Operators: Boolean Or with Variable "||="
 Operators: Bitwise Or with Variable "|="
 Operators: Bitwise Or "|"
 Operators: Boolean Or "||"or execution reaches Flow control: if … then
 Flow control: try … thenthe Flow control: end
 Shell Immediate Commands: exit, quit, endend of Flow control: if … then
 Flow control: try … thenthe Data Types: Text
 Item selector "[]": Text
 Glossary: text, text_valtext. It also Flow control: end
 Shell Immediate Commands: exit, quit, endends when it encounters an uncatched error, which generates an error in Flow control: if … then
 Flow control: try … thenthe calling Example Scripts: CGI Scripts
 Example Scripts: Scriptsscript which subsequently will terminate Flow control: if … then
 Flow control: try … thenthe calling Example Scripts: CGI Scripts
 Example Scripts: Scriptsscript Flow control: if … thenif it Flow control: do … loopdoes Operators: Bitwise Not "~"
 Operators: Boolean Negation "!"not catch Flow control: if … then
 Flow control: try … thenthe error.
 Flow control: if … thenFlow control: if … thenIf the Example Scripts: CGI Scripts
 Example Scripts: Scriptsscript Data Types: Text
 Item selector "[]": Text
 Glossary: text, text_valtext Flow control: do … loopdoes Operators: Bitwise Not "~"
 Operators: Boolean Negation "!"not Flow control: returnreturn a Glossary: Valuevalue, Flow control: if … then
 Flow control: try … thenthen List functions: thisthis will probably generate an error when Flow control: if … then
 Flow control: try … thenthe result is used as Vipsi command syntax: Arguments
 Glossary: Argumentsargument to an Vipsi command syntax: Instructions
 Instructions
 Glossary: Instructioninstruction Operators: Boolean Or with Variable "||="
 Operators: Bitwise Or with Variable "|="
 Operators: Bitwise Or "|"
 Operators: Boolean Or "||"or Vipsi command syntax: Operators
 Operators
 Glossary: Operatoroperator =.
 There is also an Vipsi command syntax: InstructionsInstructions
 Glossary: Instructioninstruction Functions with varying return types: eval
 Instructions: evaleval which expects no result Glossary: Valuevalue.
 vipsi> // stupid example
vipsi> Instructions: putput Functions with varying return types: evalInstructions: evaleval «"hello!"»  hello!
 Instructions: varHow does VScript::Value() work?: Var*&var Data Types: Text
 Item selector "[]": Text
 Glossary: text, text_valtext = ""
Flow control: do … loopdo
    Instructions: putput Constants: nlnl, "eval> "
    Instructions: getget Data Types: Text
 Item selector "[]": Text
 Glossary: text, text_valtext
    Flow control: whilewhile Data Types: Text
 Item selector "[]": Text
 Glossary: text, text_valtext!=""
    Instructions: putput " =  "
    Flow control: try … thentry
        Instructions: putput Functions with varying return types: eval
 Instructions: evaleval Data Types: Text
 Item selector "[]": Text
 Glossary: text, text_valtext
    Flow control: if … then
 Flow control: try … thenelse
        Instructions: putput #stderr, "bummer!"
    Flow control: if … then
 Flow control: try … thenthen
Flow control: do … looploop
Instructions: putput Constants: nlnl, "bye bye!",Constants: nlnl
 <value> = ( <expression> )
<var_ref> = ( <expression> ) Enclose an Vipsi command syntax: ExpressionsGlossary: Expressionexpression.
 Shell Scripts: Return valuesAppendix: Return valuesReturn value is that of Flow control: if … then
 Flow control: try … thenthe Vipsi command syntax: Expressions
 Glossary: Expressionexpression.
 Separators: Round brackets "( … )"Functions with varying return types: bracket expression "()"Parenthesis are most frequently used to enclose Operators: Subtract "-"sub Vipsi command syntax: Expressions
 Glossary: Expressionexpressions to override Operators: Operator precedenceoperator precedence.
 e.g.: vipsi> 1 * 2 + 3  = 5
vipsi> 1 * (2+3)  = 6
vipsi>   Separators: Round brackets "( … )"Functions with varying return types: bracket expression "()"Parenthesis are also used Operators: Make Identifier "@"at Flow control: if … then
 Flow control: try … thenthe place of an Vipsi command syntax: Operators
 Operators
 Glossary: Operatoroperator to Functions with varying return types: call
 Instructions: callcall a Vipsi command syntax: Functions
 Functions
 Glossary: Functionfunction Operators: Boolean Or with Variable "||="
 Operators: Bitwise Or with Variable "|="
 Operators: Bitwise Or "|"
 Operators: Boolean Or "||"or Vipsi command syntax: Procedures
 Data Types: Procedures
 Glossary: Procedureprocedure Operators: Boolean And with Variable "&&="
 Operators: Bitwise And with Variable "&="
 Operators: Bitwise And "&"
 Operators: Boolean And "&&"and in Vipsi command syntax: Instructions
 Instructions
 Glossary: Instructioninstruction Instructions: procproc Operators: Boolean And with Variable "&&="
 Operators: Bitwise And with Variable "&="
 Operators: Bitwise And "&"
 Operators: Boolean And "&&"and Literals: Procedure literals
 Procedures: Procedure literalsprocedure literal Instructions: procproc in a way similar to Flow control: if … then
 Flow control: try … thenthe Vipsi command syntax: Procedures
 Data Types: Procedures
 Glossary: Procedureprocedure Functions with varying return types: call
 Instructions: callcall Vipsi command syntax: Operators
 Operators
 Glossary: Operatoroperator.
 <value> = Functions with varying return types: includeInstructions: includeinclude <filename>
 Load Operators: Boolean And with Variable "&&="Operators: Bitwise And with Variable "&="
 Operators: Bitwise And "&"
 Operators: Boolean And "&&"and execute named Example Scripts: CGI Scripts
 Example Scripts: Scriptsscript Text functions: file
 Instructions: filefile just as Flow control: if … thenif it's contents were part of Flow control: if … then
 Flow control: try … thenthe current source. Flow control: if … then
 Flow control: try … thenThe <filename> must be a Glossary: text, text_valtext value.
 Operators: Bitwise Not "~"Operators: Boolean Negation "!"Note: Flow control: if … then
 Flow control: try … thenthe Text functions: file
 Instructions: filefile is included Operators: Make Identifier "@"at Flow control: if … then
 Flow control: try … thenthe time when List functions: thisthis Vipsi command syntax: Instructions
 Instructions
 Glossary: Instructioninstruction is executed, that means: maybe never, maybe repeatedly, Flow control: if … thenif it occurs in a Flow control: do … looploop. It is Operators: Bitwise Not "~"
 Operators: Boolean Negation "!"not included Operators: Make Identifier "@"at pre-compile time Operators: Boolean Or with Variable "||="
 Operators: Bitwise Or with Variable "|="
 Operators: Bitwise Or "|"
 Operators: Boolean Or "||"or in some kind of pre-processor as in C.
 Flow control: if … thenFlow control: try … thenThe included Example Scripts: CGI Scripts
 Example Scripts: Scriptsscript Flow control: end
 Shell Immediate Commands: exit, quit, endends when it executes an Flow control: end
 Shell Immediate Commands: exit, quit, endend Vipsi command syntax: Instructions
 Instructions
 Glossary: Instructioninstruction, Flow control: returnreturn on ground level (Operators: Bitwise Not "~"
 Operators: Boolean Negation "!"not inside a Vipsi command syntax: Procedures
 Data Types: Procedures
 Glossary: Procedureprocedure) Operators: Boolean Or with Variable "||="
 Operators: Bitwise Or with Variable "|="
 Operators: Bitwise Or "|"
 Operators: Boolean Or "||"or program execution reaches Flow control: if … then
 Flow control: try … thenthe Flow control: end
 Shell Immediate Commands: exit, quit, endend of Flow control: if … then
 Flow control: try … thenthe Example Scripts: CGI Scripts
 Example Scripts: Scriptsscript Text functions: file
 Instructions: filefile. It also Flow control: end
 Shell Immediate Commands: exit, quit, endends when it encounters an uncatched error, which generates an error in Flow control: if … then
 Flow control: try … thenthe calling Example Scripts: CGI Scripts
 Example Scripts: Scriptsscript which subsequently will terminate Flow control: if … then
 Flow control: try … thenthe calling Example Scripts: CGI Scripts
 Example Scripts: Scriptsscript Flow control: if … thenif it Flow control: do … loopdoes Operators: Bitwise Not "~"
 Operators: Boolean Negation "!"not catch Flow control: if … then
 Flow control: try … thenthe error.
 Flow control: if … thenFlow control: try … thenThe included Example Scripts: CGI Scripts
 Example Scripts: Scriptsscript is expected to Flow control: returnreturn a Glossary: Valuevalue with Flow control: end
 Shell Immediate Commands: exit, quit, endend Operators: Boolean Or with Variable "||="
 Operators: Bitwise Or with Variable "|="
 Operators: Bitwise Or "|"
 Operators: Boolean Or "||"or Flow control: returnreturn. Flow control: if … thenIf it Flow control: do … loopdoes Operators: Bitwise Not "~"
 Operators: Boolean Negation "!"not Flow control: returnreturn a Glossary: Valuevalue, Flow control: if … then
 Flow control: try … thenthen a result Glossary: Valuevalue of 0.0 is assumed.
 There is also an Vipsi command syntax: InstructionsInstructions
 Glossary: Instructioninstruction Functions with varying return types: include
 Instructions: includeinclude which Flow control: do … loopdoes pretty Flow control: if … then
 Flow control: try … thenthe same thing but Flow control: do … loopdoes Operators: Bitwise Not "~"
 Operators: Boolean Negation "!"not expect a Shell Scripts: Return values
 Appendix: Return valuesreturn value.
 <value> = Functions with varying return types: ioctlInstructions: ioctlioctl <name>
<value> = Functions with varying return types: ioctl
 Instructions: ioctlioctl #<number>, <identifier>
 Querry stream state ••• still under development ••• There is also an Vipsi command syntax: InstructionsInstructions
 Glossary: Instructioninstruction Functions with varying return types: ioctl
 Instructions: ioctlioctl which sets stream settings.
     Functions with varying return types: ioctlInstructions: ioctlioctl flush|flushin|flushout
     Functions with varying return types: ioctlInstructions: ioctlioctl timeout = 0 (off)  Operators: Boolean Or with Variable "||="
 Operators: Bitwise Or with Variable "|="
 Operators: Bitwise Or "|"
 Operators: Boolean Or "||"or  Glossary: number, num_valnumber (seconds)
    Functions with varying return types: ioctl
 Instructions: ioctlioctl Data Types: Text
 Item selector "[]": Text
 Glossary: text, text_valtext    = "utf-8"  Operators: Boolean Or with Variable "||="
 Operators: Bitwise Or with Variable "|="
 Operators: Bitwise Or "|"
 Operators: Boolean Or "||"or  "mac-roman"
    Functions with varying return types: ioctl
 Instructions: ioctlioctl pos     = Glossary: number, num_valnumber         (Text functions: file
 Instructions: filefile: read-write-pointer)
                    {row,col}      (tty:  cursor location)
     Functions with varying return types: ioctlInstructions: ioctlioctl Instructions: var
 How does VScript::Value() work?: Var*&var = type               ("tty", "Text functions: file
 Instructions: filefile", etc.)
    Functions with varying return types: ioctl
 Instructions: ioctlioctl Instructions: var
 How does VScript::Value() work?: Var*&var = inavail            (bytes readable w/o blocking)
    Functions with varying return types: ioctl
 Instructions: ioctlioctl Instructions: var
 How does VScript::Value() work?: Var*&var = outfree            (bytes writable w/o blocking)
    Functions with varying return types: ioctl
 Instructions: ioctlioctl Instructions: var
 How does VScript::Value() work?: Var*&var = error              (0=ok, 1=eof, 2=timeout, ...)
    Functions with varying return types: ioctl
 Instructions: ioctlioctl Instructions: var
 How does VScript::Value() work?: Var*&var = size               (Text functions: file
 Instructions: filefile: Glossary: number, num_valnumber, tty: {rows,cols})
    Functions with varying return types: ioctl
 Instructions: ioctlioctl Instructions: var
 How does VScript::Value() work?: Var*&var = Vipsi command syntax: Identifiers (names)
 Identifiers, names
 Operators: Make Identifier "@"
 Text functions: name
 Glossary: Name, Identifiername               (filename)
    Functions with varying return types: ioctl
 Instructions: ioctlioctl Instructions: var
 How does VScript::Value() work?: Var*&var = isopen/isopenin/isopenout
 |