Para llamar una función C, EGL utiliza una pila de argumentos, un mecanismo que pasa argumentos entre las funciones y el código de llamada. La función de llamada de EGL pone los argumentos en la pila y la función C llamada los saca de la pila para utilizar los valores. La función llamada pone los valores de retorno en la pila y el llamador los saca para recuperar los valores. Las funciones externas de extracción y de llamada se proporcionan con la biblioteca de pila de argumentos. Las funciones externas de extracción se describen a continuación, según el tipo de datos del valor que cada una extrae de la pila de argumentos. Las funciones externas de devolución se describen en el apartado Funciones de devolución para C.
Funciones de biblioteca para devolver valores
Nombre anterior a la Versión 7.31 | Nombre de la Versión 7.31 y posteriores |
---|---|
popint | ibm_lib4gl_popMInt |
popshort | ibm_lib4gl_popInt2 |
poplong | ibm_lib4gl_popInt4 |
popflo | ibm_lib4gl_popFloat |
popdub | ibm_lib4gl_popDouble |
popdec | ibm_lib4gl_popDecimal |
Los tipos de estructura dec_t y ifx_int8_t se utilizan para representar datos DECIMAL y BIGINT en un programa C. Para obtener más información acerca de los tipos de estructura dec_t y ifx_int8_t y de las funciones de biblioteca para manipular e imprimir las variables DECIMAL y BIGINT, consulte la publicación IBM Informix ESQL/C Programmer's Manual.
Funciones de biblioteca para extraer series de caracteres
Puede llamar las funciones de biblioteca siguientes para extraer valores de caracteres:
Nombre anterior a la Versión 7.31 | Nombre de la Versión 7.31 y posteriores |
---|---|
popquote | ibm_lib4gl_popQuotedStr |
popstring | ibm_lib4gl_popString |
popvchar | ibm_lib4gl_popVarChar |
Tanto ibm_lib4gl_popQuotedStr( ) como ibm_lib4gl_popVarChar( ) copian exactamente len bytes en el almacenamiento intermedio de series *qv. Aquí ibm_lib4gl_popQuotedStr( ) se rellena con espacios según sea necesario, pero ibm_lib4gl_popVarChar( ) no se rellena en toda su longitud. El byte final copiado en el almacenamiento intermedio es un byte nulo para terminar la serie por lo que la longitud de datos de serie máxima es len-1. Si el argumento de pila es mayor que len-1, se pierden los bytes de cola.
Funciones de biblioteca para extraer valores de hora
Puede llamar las funciones de biblioteca siguientes para extraer valores DATE, INTERVAL y DATETIME (TIMESTAMP):
Nombre anterior a la Versión 7.31 | Nombre de la Versión 7.31 y posteriores |
---|---|
popdate | ibm_lib4gl_popDate |
popdtime | ibm_lib4gl_popDateTime |
popinv | ibm_lib4gl_popInterval |
Los tipos de estructura dtime_t y intrvl_t se utilizan para representar datos DATETIME e INTERVAL en un programa C. El argumento qual recibe la representación binaria del calificador DATETIME o INTERVAL. Para obtener más información acerca de los tipos de estructura dtime_t e intrvl_t y de las funciones de biblioteca para manipular e imprimir variables DATE, DATETIME e INTERVAL, consulte la publicación IBM Informix ESQL/C Programmer's Manual.
Funciones de biblioteca para extraer valores BYTE o TEXT
Nombre anterior a la Versión 7.31 | Nombre de la Versión 7.31 y posteriores |
---|---|
poplocator | ibm_lib4gl_popBlobLocator |
Cualquier argumento BYTE o TEXT debe extraerse como BYTE o TEXT porque EGL no proporciona conversión de tipo de datos automática.
Consulta relacionada
Funciones BIGINT para C
Tipos de datos C y tipos primitivos EGL
Funciones C con EGL
Funciones DATE para C
Funciones DATETIME e INTERVAL para C
Funciones DECIMAL para C
Invocar una función C desde un programa EGL
IBM Informix ESQL/C Programmer’s Manual
Funciones de devolución para C