There are no restrictions on the contents of a function that implements an ESP. The only requirement is that it be written in a procedural programming language capable of:
Calling a C language function
Manipulating C language datatypes
Linking with the Open Server API
By using the Open Client API, an ESP function can send requests to Adaptive Server, either to the one from which it was originally invoked or to another one.
An exception is that an ESP function should not call a C run-time signal routine on Windows NT. This can cause XP Server to fail, because Open Server does not support signal handling on Windows NT.