User functions are built into Vortex itself, and available to any script. New ones can be added by a C programmer. They are called like script functions, with the difference that arguments are not named and hence order is significant:
<substr $str $offset $len>
See here for details on creating user functions in C.