#include "osConfig.h"
#include "osErrors.h"
#include "RequestParams.h"
#include "LassoDefines.h"
Include dependency graph for LassoCAPI.h:
Data Structures | |
struct | lasso_value_t |
Used for retrieving data from some LCAPI functions. More... | |
struct | lasso_value_w_t |
Used for retrieving Unicode character data from some LCAPI functions. More... | |
Security Functions | |
typedef enum secure_operation_t | secure_operation_t |
Various types of ways to access files. | |
enum | secure_operation_t { kInspectFiles, kCreateFiles, kDeleteFiles, kCopyFiles, kMoveFiles, kReadFiles, kWriteFiles, kAccessOutsideRoot } |
Various types of ways to access files. More... | |
LCAPICALL osError | lasso_isAdministrator (lasso_request_t token) |
Checks the current request for administrator privileges. | |
LCAPICALL osError | lasso_isAnonymous (lasso_request_t token) |
Checks the current request for the lowest privilege level. | |
LCAPICALL osError | lasso_switchToUser (lasso_request_t token, const char *username, const char *password) |
Switches the current request to the given user. | |
LCAPICALL osError | lasso_operationAllowed (lasso_request_t token, secure_operation_t op, void *data) |
Tests for file access permissions. | |
Logging Functions | |
typedef enum log_level_t | log_level_t |
The various log levels. | |
enum | log_level_t { LOG_LEVEL_CRITICAL, LOG_LEVEL_WARNING, LOG_LEVEL_DETAIL, LOG_LEVEL_ALWAYS, LOG_LEVEL_SQL, LOG_LEVEL_DEPRECATED } |
The various log levels. More... | |
LCAPICALL osError | lasso_logSetDestination (log_level_t msgLevel, int dest) |
Changes the system-wide log destination preference. | |
LCAPICALL osError | lasso_log (log_level_t msgLevel, const char *fmt,...) |
Log a message. | |
const int | flag_logDestinationConsole = 0x00000001 |
Printed to the console. | |
const int | flag_logDestinationFile = 0x00000002 |
Written to the LassoErrors.txt file. | |
const int | flag_logDestinationDatabase = 0x00000004 |
Inserted into the errors table. | |
Tag Registration | |
These functions are called to register a new tag. | |
LCAPICALL osError | lasso_registerTagModule (const char *namespaceName, const char *tagName, lasso_tag_func func, int flags, const char *description) |
LCAPICALL osError | lasso_registerTagModuleW (const UChar *namespaceName, const UChar *tagName, lasso_tag_func func, int flags, const UChar *description) |
Datasource Module Registration | |
These functions are called to register a new datasource module. | |
LCAPICALL osError | lasso_registerDSModule (const char *moduleName, lasso_ds_func func, int flags) |
LCAPICALL osError | lasso_registerDSModuleW (const UChar *moduleName, lasso_ds_func func, int flags) |
Allocating Built-in Type Instances | |
The following functions allocate instances of specific built-in types. The lasso_request_t token may be null. If it is null, the allocated types are created as "detached" and must be manually freed using lasso_typeFree. | |
LCAPICALL osError | lasso_typeAllocNull (lasso_request_t token, lasso_type_t *outNull) |
LCAPICALL osError | lasso_typeAllocString (lasso_request_t token, lasso_type_t *outString, const char *value, int length) |
LCAPICALL osError | lasso_typeAllocStringConv (lasso_request_t token, lasso_type_t *outString, const char *value, int length, const char *conv) |
LCAPICALL osError | lasso_typeAllocStringW (lasso_request_t token, lasso_type_t *outString, const UChar *value, int length) |
LCAPICALL osError | lasso_typeAllocInteger (lasso_request_t token, lasso_type_t *outInteger, osInt64 value) |
LCAPICALL osError | lasso_typeAllocDecimal (lasso_request_t token, lasso_type_t *outDecimal, double value) |
LCAPICALL osError | lasso_typeAllocDecimal2 (lasso_request_t token, lasso_type_t *outDecimal, double value, int precision) |
LCAPICALL osError | lasso_typeAllocPair (lasso_request_t token, lasso_type_t *outPair, lasso_type_t first, lasso_type_t second) |
LCAPICALL osError | lasso_typeAllocReference (lasso_request_t token, lasso_type_t *outRef, lasso_type_t referenced) |
LCAPICALL osError | lasso_typeAllocTag (lasso_request_t token, lasso_type_t *outTag, lasso_tag_func nativeTagFunction) |
LCAPICALL osError | lasso_typeAllocTagFromSource (lasso_request_t token, lasso_type_t *outTag, const char *source, int length) |
LCAPICALL osError | lasso_typeAllocArray (lasso_request_t token, lasso_type_t *outArray, int count, lasso_type_t *elements) |
LCAPICALL osError | lasso_typeAllocMap (lasso_request_t token, lasso_type_t *outMap, int count, lasso_type_t *elements) |
LCAPICALL osError | lasso_typeAllocBoolean (lasso_request_t token, lasso_type_t *outBool, bool inValue) |
Getting or Setting Values of Built-in Type Instances | |
The following functions get and set the data on a previously created built-in type instance. When getting a value, the source type instance will not be altered. When setting a value, the provided type instance is converted, if required. The lasso_request_t token may be null. | |
LCAPICALL osError | lasso_typeGetString (lasso_request_t token, lasso_type_t type, auto_lasso_value_t *val) |
LCAPICALL osError | lasso_typeGetStringConv (lasso_request_t token, lasso_type_t type, auto_lasso_value_t *val, const char *conv) |
LCAPICALL osError | lasso_typeGetStringW (lasso_request_t token, lasso_type_t type, auto_lasso_value_w_t *val) |
LCAPICALL osError | lasso_typeGetInteger (lasso_request_t token, lasso_type_t type, osInt64 *out) |
LCAPICALL osError | lasso_typeGetDecimal (lasso_request_t token, lasso_type_t type, double *out) |
LCAPICALL osError | lasso_typeGetBoolean (lasso_request_t token, lasso_type_t type, bool *out) |
LCAPICALL osError | lasso_typeSetString (lasso_request_t token, lasso_type_t type, const char *val, int len) |
LCAPICALL osError | lasso_typeSetStringW (lasso_request_t token, lasso_type_t type, const UChar *val, int len) |
LCAPICALL osError | lasso_typeSetStringConv (lasso_request_t token, lasso_type_t type, const char *val, int len, const char *conv) |
LCAPICALL osError | lasso_typeAppendString (lasso_request_t token, lasso_type_t type, const char *val, int len) |
LCAPICALL osError | lasso_typeAppendStringW (lasso_request_t token, lasso_type_t type, const UChar *val, int len) |
LCAPICALL osError | lasso_typeSetInteger (lasso_request_t token, lasso_type_t type, osInt64 val) |
LCAPICALL osError | lasso_typeSetDecimal (lasso_request_t token, lasso_type_t type, double val) |
LCAPICALL osError | lasso_typeSetDecimal2 (lasso_request_t token, lasso_type_t type, double val, int precision) |
LCAPICALL osError | lasso_typeSetBoolean (lasso_request_t token, lasso_type_t type, bool val) |
LCAPICALL osError | lasso_arrayGetSize (lasso_request_t token, lasso_type_t array, int *len) |
LCAPICALL osError | lasso_arrayGetElement (lasso_request_t token, lasso_type_t array, int index, lasso_type_t *out) |
LCAPICALL osError | lasso_arraySetElement (lasso_request_t token, lasso_type_t array, int index, lasso_type_t elem) |
LCAPICALL osError | lasso_arrayRemoveElement (lasso_request_t token, lasso_type_t array, int index) |
LCAPICALL osError | lasso_mapGetSize (lasso_request_t token, lasso_type_t mp, int *len) |
LCAPICALL osError | lasso_mapFindElement (lasso_request_t token, lasso_type_t mp, lasso_type_t key, lasso_type_t *out) |
LCAPICALL osError | lasso_mapGetNthElement (lasso_request_t token, lasso_type_t mp, int index, lasso_type_t *outPair) |
LCAPICALL osError | lasso_mapSetElement (lasso_request_t token, lasso_type_t mp, lasso_type_t key, lasso_type_t value) |
LCAPICALL osError | lasso_mapSetElementW (lasso_request_t token, lasso_type_t mp, const UChar *key, lasso_type_t value) |
LCAPICALL osError | lasso_mapRemoveElement (lasso_request_t token, lasso_type_t mp, lasso_type_t key) |
LCAPICALL osError | lasso_pairGetFirst (lasso_request_t token, lasso_type_t pr, lasso_type_t *out) |
LCAPICALL osError | lasso_pairGetSecond (lasso_request_t token, lasso_type_t pr, lasso_type_t *out) |
LCAPICALL osError | lasso_pairSetFirst (lasso_request_t token, lasso_type_t pr, lasso_type_t frst) |
LCAPICALL osError | lasso_pairSetSecond (lasso_request_t token, lasso_type_t pr, lasso_type_t scnd) |
Datasource Module Functions | |
LCAPICALL osError | lasso_addDataSourceResult (lasso_request_t token, const char *data) |
Adds a datasource result value. | |
LCAPICALL osError | lasso_addDataSourceResultUTF8 (lasso_request_t token, const char *data) |
Adds a datasource result value. | |
LCAPICALL osError | lasso_getDataSourceName (lasso_request_t token, auto_lasso_value_t *t, bool *useHostDefault, auto_lasso_value_t *usernamepassword) |
Gets the currently specified database name and associated data. | |
LCAPICALL osError | lasso_getTableName (lasso_request_t token, auto_lasso_value_t *t) |
Gets the currently specified table name. | |
LCAPICALL osError | lasso_getSchemaName (lasso_request_t token, auto_lasso_value_t *schema) |
Gets the currently specified schema name. | |
LCAPICALL osError | lasso_getDataHost (lasso_request_t token, auto_lasso_value_t *host, auto_lasso_value_t *usernamepassword) |
Returns the host that maintains the current database. | |
LCAPICALL osError | lasso_getDataHost2 (lasso_request_t token, auto_lasso_value_t *host, auto_lasso_value_t *defaultSchema, auto_lasso_value_t *usernamepassword) |
Returns the host that maintains the current database. | |
LCAPICALL osError | lasso_getSkipRows (lasso_request_t token, int *recs) |
The number of rows that should be skipped in the found set. | |
LCAPICALL osError | lasso_getMaxRows (lasso_request_t token, int *recs) |
The maximum number of rows in the found set to return. | |
LCAPICALL osError | lasso_getRowID (lasso_request_t token, int *id) |
Gets the currently specified record id (FileMaker specific). | |
LCAPICALL osError | lasso_setRowID (lasso_request_t token, int id) |
Sets the currently specified record id (FileMaker specific). | |
LCAPICALL osError | lasso_getPrimaryKeyColumn (lasso_request_t token, auto_lasso_value_t *v) |
Gets the name and the value of the currently specified primary key column. | |
LCAPICALL osError | lasso_getPrimaryKeyColumn2 (lasso_request_t token, int index, auto_lasso_value_t *v) |
Gets the name and the value of the primary key column specified by index. | |
LCAPICALL osError | lasso_getInputColumnCount (lasso_request_t token, int *count) |
Gets the number of input columns for this database action. | |
LCAPICALL osError | lasso_getSortColumnCount (lasso_request_t token, int *count) |
Gets the number of sort columns for this database action. | |
LCAPICALL osError | lasso_getInputColumn (lasso_request_t token, int num, auto_lasso_value_t *v) |
Gets an individual input column by index. | |
LCAPICALL osError | lasso_getSortColumn (lasso_request_t token, int num, auto_lasso_value_t *v) |
Gets an individual sort column by index. | |
LCAPICALL osError | lasso_findInputColumn (lasso_request_t token, const char *name, auto_lasso_value_t *value) |
Gets an individual input column by name. | |
LCAPICALL osError | lasso_findInputColumnW (lasso_request_t token, const UChar *name, auto_lasso_value_t *value) |
Gets an individual input column by name. | |
LCAPICALL osError | lasso_getLogicalOp (lasso_request_t token, LP_TypeDesc *op) |
Gets the logical operator for this database action. | |
LCAPICALL osError | lasso_getReturnColumnCount (lasso_request_t token, int *count) |
Gets the number of return columns for this action. | |
LCAPICALL osError | lasso_getReturnColumn (lasso_request_t token, int num, auto_lasso_value_t *v) |
Gets an individual return column by index. | |
LCAPICALL osError | lasso_addColumnInfo (lasso_request_t token, const char *name, int nullOK, LP_TypeDesc type, LP_TypeDesc protection) |
Adds information about a particular column. | |
LCAPICALL osError | lasso_addColumnInfo2 (lasso_request_t token, const char *name, int nullOK, LP_TypeDesc type, LP_TypeDesc protection, const char **valueList, int countValueList) |
Adds information, including valuelists, about a particular column. | |
LCAPICALL osError | lasso_addResultRow (lasso_request_t token, const char **columns, unsigned int *dataSizes, int numColumns) |
Add the column data for the next result row. | |
LCAPICALL osError | lasso_setNumRowsFound (lasso_request_t token, int num) |
Sets the number of rows found in the query. | |
LCAPICALL osError | lasso_getDataSourceModuleName (lasso_request_t token, auto_lasso_value_t *val) |
Returns the name the current datasource module was registered with. | |
LCAPICALL osError | lasso_getDSConnection (lasso_request_t token, lasso_dsconnection_t *conn) |
Called to access the current datasource connection. | |
LCAPICALL osError | lasso_setDSConnection (lasso_request_t token, lasso_dsconnection_t conn) |
Called to set the current connection for the datasource. | |
LCAPICALL osError | lasso_setActionStatement (lasso_request_t token, const char *stat) |
Called to set the statement for the current action. | |
LCAPICALL osError | lasso_setActionStatementW (lasso_request_t token, const UChar *stat) |
Called to set the statement for the current action. | |
LCAPICALL osError | lasso_getIsStatementOnly (lasso_request_t token, bool *out) |
Used to check for the -statementonly inline param. | |
Semaphore Functions | |
Semephores are a means by which access to shared resources can be control amongst several threads of execution. Each semephore must have a unique name. Always release semaphores as soon as possible. | |
LCAPICALL osError | lasso_createSem (lasso_request_t token, const char *name) |
LCAPICALL osError | lasso_destroySem (lasso_request_t token, const char *name) |
LCAPICALL osError | lasso_acquireSem (lasso_request_t token, const char *name) |
LCAPICALL osError | lasso_releaseSem (lasso_request_t token, const char *name) |
Tag Registration Flags | |
The following flags may be OR'd together in various combinations and passed to lasso_registerTagModule or lasso_registerTagModuleW as the flags parameter to control how the tag behaves when it is called. | |
const int | flag_typeInitializer = 0x00000001 |
The tag is to be treated as an initializer for a custom type. | |
const int | flag_typeSubstitutionTag = 0x00000002 |
The tag is to be treated as a "regular" tag. | |
const int | flag_typeAsync = 0x00000004 |
The tag is to be run in its own thread. | |
const int | flag_typeContainerTag = 0x00000008 |
The tag is a container tag. | |
const int | flag_typeInterstitial = 0x00000010 |
Used internally. | |
const int | flag_typeSkipSecurityCheck = 0x00000040 |
Bypass any security checks for the tag. | |
const int | flag_INTERNALONLY = 0x00000080 |
Used internally. | |
const int | flag_typeLoopingTag = 0x00000100 |
The tag is a looping container tag. | |
const int | flag_typeEval = 0x00000200 |
Used internally. | |
const int | flag_noGlobalImport = 0x00000400 |
The tag should not be automatically imported into the global namespace. | |
const int | flag_INTERNALONLY2 = 0x00000800 |
Used internally. | |
const int | flag_deprecated = 0x00001000 |
Use of the tag is deprecated. | |
const int | flag_noDefaultEncoding = 0x00002000 |
Never apply default HTML encoding to the tag's return value. | |
const int | flag_User1 = 0x01000000 |
User defined flag. | |
const int | flag_User2 = 0x02000000 |
User defined flag. | |
const int | flag_User3 = 0x03000000 |
User defined flag. | |
const int | flag_User4 = 0x04000000 |
User defined flag. | |
const int | REG_FLAGS_TAG_DEFAULT = (flag_typeSubstitutionTag | flag_noGlobalImport) |
Recommended default registration flags. | |
const int | REG_FLAGS_CONTAINER_DEFAULT = (flag_typeContainerTag | flag_noGlobalImport) |
Recommended default registration flags. | |
const int | REG_FLAGS_LOOPING_DEFAULT = (flag_typeLoopingTag | flag_noGlobalImport) |
Recommended default registration flags. | |
const int | REG_FLAGS_TYPE_DEFAULT = (flag_typeInitializer | flag_noGlobalImport) |
Recommended default registration flags. | |
Defines | |
#define | LCAPI_VERSION 4 |
#define | LCAPI_VERSION_1 1 |
#define | LCAPI_VERSION_2 2 |
#define | LCAPI_VERSION_3 3 |
#define | LCAPI_VERSION_4 LCAPI_VERSION |
#define | INITVAL(X) { (X)->name = (X)->data = NULL; (X)->nameSize = (X)->dataSize = 0; } |
Initialize a lasso_value_t or lasso_value_w_t to be blank. | |
#define | MAKE_REF(X) lasso_typeAllocReference( token, &X, X ) |
Changes the given type into a hard reference. | |
Typedefs | |
typedef lasso_value_t | auto_lasso_value_t |
typedef lasso_value_w_t | auto_lasso_value_w_t |
typedef int | tag_action_t |
Types of actions tag modules could be called for. | |
typedef void * | lasso_request_t |
Special value passed to modules that identify the request. | |
typedef void * | lasso_type_t |
Represents a type within Lasso. | |
typedef void * | lasso_dsconnection_t |
Represents a datasource module connection. | |
typedef osError(* | lasso_ds_func )(lasso_request_t token, datasource_action_t action, const auto_lasso_value_t *param) |
Service function for Lasso Datasource modules. | |
typedef osError(* | lasso_tag_func )(lasso_request_t token, tag_action_t action) |
Service function for a Lasso tag. | |
typedef void(* | register_module_func )(void) |
LCAPI module registration callback. | |
Enumerations | |
enum | datasource_action_t { datasourceInit, datasourceTerm , datasourceNames, datasourceTableNames, datasourceSearch, datasourceAdd, datasourceUpdate, datasourceDelete, datasourceInfo, datasourceExecSQL, datasourceRandom, datasourceSchemaNames, datasourceCloseConnection, datasourceTickle , datasourceFindAll } |
Types of actions datasources could be called for. More... | |
Functions | |
LCAPICALL osError | lasso_allocValue (lasso_value_t *result, const char *name, unsigned int nameSize, const char *data, unsigned int dataSize, LP_TypeDesc type) |
Allocates a lasso_value_t with the indicated data. | |
LCAPICALL osError | lasso_allocValueW (lasso_value_w_t *result, const UChar *name, unsigned int nameSize, const UChar *data, unsigned int dataSize, LP_TypeDesc type) |
Allocates a lasso_value_w_t with the indicated data. | |
LCAPICALL osError | lasso_allocValueConv (lasso_value_t *result, const UChar *name, unsigned int nameSize, const char *nameEncoding, const UChar *data, unsigned int dataSize, const char *dataEncoding, LP_TypeDesc type) |
Allocates a lasso_value_t with the indicated data and encoding method. | |
LCAPICALL osError | lasso_freeValue (lasso_value_t *result) |
Frees a previously allocated lasso_value_t. | |
LCAPICALL osError | lasso_freeValueW (lasso_value_w_t *result) |
Frees a previously allocated lasso_value_w_t. | |
LCAPICALL osError | lasso_getRequestParam (lasso_request_t token, RequestParamKeyword key, auto_lasso_value_t *result) |
Fetches a request specific variable. | |
LCAPICALL osError | lasso_getLassoParam (lasso_request_t token, LassoParamKeyword key, auto_lasso_value_t *result) |
Fetches a server specific variable. | |
LCAPICALL osError | lasso_setResultCode (lasso_request_t token, osError err) |
Set result code number. | |
LCAPICALL osError | lasso_setResultMessage (lasso_request_t token, const char *msg) |
LCAPICALL osError | lasso_setResultMessageW (lasso_request_t token, const UChar *msg) |
LCAPICALL osError | lasso_typeAlloc (lasso_request_t token, const char *typeName, int paramCount, lasso_type_t *paramsArray, lasso_type_t *outType) |
Allocates a new type instance. | |
LCAPICALL osError | lasso_typeAllocW (lasso_request_t token, const UChar *typeName, int paramCount, lasso_type_t *paramsArray, lasso_type_t *outType) |
Allocates a new type instance. | |
LCAPICALL osError | lasso_typeAllocCustom (lasso_request_t token, lasso_type_t *outCustom, const char *name) |
Allocates a custom type within a type initializer. | |
LCAPICALL osError | lasso_typeAllocCustomW (lasso_request_t token, lasso_type_t *outCustom, const UChar *name) |
Allocates a custom type within a type initializer. | |
LCAPICALL osError | lasso_typeAllocFromProto (lasso_request_t token, lasso_type_t proto, lasso_type_t *out) |
Allocate a new type instance based on the given type instance. | |
LCAPICALL osError | lasso_typeAllocOneOff (lasso_request_t token, const char *name, const char *parentTypeName, lasso_type_t *out) |
Allocate a new type with the given name. | |
LCAPICALL osError | lasso_typeAllocOneOffW (lasso_request_t token, const UChar *name, const UChar *parentTypeName, lasso_type_t *out) |
Allocate a new type with the given name. | |
LCAPICALL osError | lasso_typeRefer (lasso_request_t token, lasso_type_t toRefer) |
Add 1 to an instance's reference count. | |
LCAPICALL osError | lasso_typeFree (lasso_request_t token, lasso_type_t inType) |
Subtract 1 from an instance's reference count. | |
LCAPICALL osError | lasso_typeCollect (lasso_request_t token, lasso_type_t inType) |
Remove the LCAPI call's reference to a type instance. | |
LCAPICALL osError | lasso_handleExternalConversion (lasso_request_t token, lasso_type_t instance, const char *encoding, auto_lasso_value_t *outVal) |
Convert a type instance into byte data. | |
LCAPICALL osError | lasso_handleInternalConversion (lasso_request_t token, const char *src, unsigned int srcLen, const char *encoding, LP_TypeDesc closestLassoType, lasso_type_t *outType) |
Converts byte data into a type instance. | |
LCAPICALL osError | lasso_typeInheritFrom (lasso_request_t token, lasso_type_t child, lasso_type_t newParent) |
Changes the inheritence structure of a type. | |
LCAPICALL osError | lasso_typeGetParent (lasso_request_t token, lasso_type_t from, lasso_type_t *outParent) |
Retrieves the parent of the provided type instance. | |
LCAPICALL osError | lasso_typeGetChild (lasso_request_t token, lasso_type_t from, lasso_type_t *outChild) |
Retrieves the child of the provided instance. | |
LCAPICALL osError | lasso_typeSetCustomDtor (lasso_type_t the_custom_type, void(*dtor)(lasso_type_t the_custom_type)) |
Adds a C function to be called after onDestroy. | |
LCAPICALL osError | lasso_typeAddMember (lasso_request_t token, lasso_type_t to, const char *named, lasso_type_t member) |
Adds a member to a type instance. | |
LCAPICALL osError | lasso_typeAddMemberW (lasso_request_t token, lasso_type_t to, const UChar *named, lasso_type_t member) |
Adds a member to a type instance. | |
LCAPICALL osError | lasso_typeGetMember (lasso_request_t token, lasso_type_t from, const char *named, lasso_type_t *out) |
Retrieves a member from a type instance. | |
LCAPICALL osError | lasso_typeGetMemberW (lasso_request_t token, lasso_type_t from, const UChar *named, lasso_type_t *out) |
Retrieves a member from a type instance. | |
LCAPICALL osError | lasso_setPtrMember (lasso_request_t token, lasso_type_t self, const char *name, void *data) |
Allows storage of an opaque pointer value. | |
LCAPICALL osError | lasso_setPtrMemberW (lasso_request_t token, lasso_type_t self, const UChar *name, void *data) |
Allows storage of an opaque pointer value. | |
LCAPICALL osError | lasso_getPtrMember (lasso_request_t token, lasso_type_t self, const char *name, void **data) |
Retrieves a previously added pointer value. | |
LCAPICALL osError | lasso_getPtrMemberW (lasso_request_t token, lasso_type_t self, const UChar *name, void **data) |
Retrieves a previously added pointer value. | |
LCAPICALL osError | lasso_typeSetFlag (lasso_request_t token, lasso_type_t type, int flag) |
Sets the flag for the given type instance. | |
LCAPICALL osError | lasso_typeHasFlag (lasso_request_t token, lasso_type_t type, int flag) |
Tests the flag for the given type instance. | |
LCAPICALL osError | lasso_typeClearFlag (lasso_request_t token, lasso_type_t type, int flag) |
Removes the flag for the given type instance. | |
LCAPICALL osError | lasso_getTagSelf (lasso_request_t token, lasso_type_t *self) |
Returns the type instance that the current tag call was a member of. | |
LCAPICALL osError | lasso_typeGetName (lasso_request_t token, lasso_type_t target, auto_lasso_value_t *outName) |
Returns the name of the target type. | |
LCAPICALL osError | lasso_typeGetNameW (lasso_request_t token, lasso_type_t target, auto_lasso_value_w_t *outName) |
Returns the name of the target type. | |
LCAPICALL osError | lasso_typeIsA (lasso_request_t token, lasso_type_t target, LP_TypeDesc type) |
Tests to see if a type is an instance of another type. | |
LCAPICALL osError | lasso_typeIsA2 (lasso_request_t token, lasso_type_t target, const char *typeName) |
Tests to see if a type is an instance of another type. | |
LCAPICALL osError | lasso_typeIsA2W (lasso_request_t token, lasso_type_t target, const UChar *typeName) |
Tests to see if a type is an instance of another type. | |
LCAPICALL osError | lasso_typeIsA3 (lasso_request_t token, lasso_type_t target, lasso_type_t type) |
Tests to see if a type is an instance of another type. | |
LCAPICALL osError | lasso_returnTagValue (lasso_request_t token, lasso_type_t value) |
Specifies the return value of the current LCAPI tag call. | |
LCAPICALL osError | lasso_returnTagValueBoolean (lasso_request_t token, bool b) |
Return a boolean value from the current LCAPI tag call. | |
LCAPICALL osError | lasso_returnTagValueInteger (lasso_request_t token, osInt64 i) |
Return an integer value from the current LCAPI tag call. | |
LCAPICALL osError | lasso_returnTagValueString (lasso_request_t token, const char *p, int l) |
Return a string value from the current LCAPI tag call. | |
LCAPICALL osError | lasso_returnTagValueStringW (lasso_request_t token, const UChar *p, int l) |
Return a string value from the current LCAPI tag call. | |
LCAPICALL osError | lasso_returnTagValueDecimal (lasso_request_t token, double d) |
Return a decimal value from the current LCAPI tag call. | |
LCAPICALL osError | lasso_returnTagValueBytes (lasso_request_t token, const char *data, int length) |
Return binary data from the current LCAPI tag call. | |
LCAPICALL osError | lasso_getTagReturnValue (lasso_request_t token, lasso_type_t *outValue) |
Provides direct access to the LCAPI tag's return value. | |
LCAPICALL osError | lasso_getVariable2 (lasso_request_t token, const char *key, lasso_type_t *value) |
Provides access to a defined variable. | |
LCAPICALL osError | lasso_getVariable2W (lasso_request_t token, const UChar *key, lasso_type_t *value) |
Provides access to a defined variable. | |
LCAPICALL osError | lasso_setVariable2 (lasso_request_t token, const char *key, lasso_type_t value) |
Sets the specified variable's value. | |
LCAPICALL osError | lasso_setVariable2W (lasso_request_t token, const UChar *key, lasso_type_t value) |
Sets the specified variable's value. | |
LCAPICALL osError | lasso_getTagParam2 (lasso_request_t token, int paramIndex, lasso_type_t *result) |
Retrieves a parameter that was passed to the LCAPI tag call. | |
LCAPICALL osError | lasso_findTagParam2 (lasso_request_t token, const char *paramName, lasso_type_t *result) |
Retrieves a parameter that was passed to the LCAPI tag call. | |
LCAPICALL osError | lasso_findTagParam2W (lasso_request_t token, const UChar *paramName, lasso_type_t *result) |
Retrieves a parameter that was passed to the LCAPI tag call. | |
LCAPICALL osError | lasso_childrenRun (lasso_request_t token, lasso_type_t *result) |
Execute the contents of a container tag. | |
LCAPICALL osError | lasso_typeRunTag (lasso_request_t token, const char *name, lasso_type_t tagType, int paramCount, lasso_type_t *params, lasso_type_t *returnValue, lasso_type_t optionalTarget) |
Execute a given tag. | |
LCAPICALL osError | lasso_typeRunTagW (lasso_request_t token, const UChar *name, lasso_type_t tagType, int paramCount, lasso_type_t *params, lasso_type_t *returnValue, lasso_type_t optionalTarget) |
Execute a given tag. | |
LCAPICALL osError | lasso_findTagW (lasso_request_t token, const UChar *name, lasso_type_t *outTag, bool disableOnDemand) |
Searches for a tag. | |
LCAPICALL osError | lasso_findTag (lasso_request_t token, const char *name, lasso_type_t *outTag, bool disableOnDemand) |
Searches for a tag. | |
LCAPICALL osError | lasso_typeAssign (lasso_request_t token, lasso_type_t left_hand_side, lasso_type_t right_hand_side) |
Performs an assignment of one type to another. | |
LCAPICALL osError | lasso_typeStealValue (lasso_request_t token, lasso_type_t thief, lasso_type_t victim) |
Transfer the data from one type to another type. | |
LCAPICALL osError | lasso_runRequest (lasso_tag_func func, tag_action_t action, int unused) |
Creates and runs a new LCAPI call on the given lasso_tag_func. | |
LCAPICALL osError | lasso_registerConstant2 (const char *namespaceName, const char *name, lasso_type_t val) |
Register a constant value. | |
LCAPICALL osError | lasso_registerConstant2W (const UChar *namespaceName, const UChar *name, lasso_type_t val) |
Register a constant value. | |
LCAPICALL osError | lasso_registerConstant (const char *name, lasso_type_t val) |
Register a constant value. | |
LCAPICALL osError | lasso_registerConstantW (const UChar *name, lasso_type_t val) |
Register a constant value. | |
LCAPICALL osError | lasso_includeRaw (lasso_request_t token, const char *path, auto_lasso_value_t *out) |
Works just like the include_raw tag. | |
LCAPICALL osError | lasso_getTagName (lasso_request_t token, auto_lasso_value_t *result) |
Fetches the name of the tag that triggered this call. | |
LCAPICALL osError | lasso_getTagNameW (lasso_request_t token, auto_lasso_value_w_t *result) |
Fetches the name of the tag that triggered this call. | |
LCAPICALL osError | lasso_getTagParamCount (lasso_request_t token, int *result) |
Fetches the number of parameters that were passed to the tag. | |
LCAPICALL osError | lasso_getTagParam (lasso_request_t token, int paramIndex, auto_lasso_value_t *result) |
Fetches the indicated parameter that was sent to the tag. | |
LCAPICALL osError | lasso_getTagParamW (lasso_request_t token, int paramIndex, auto_lasso_value_w_t *result) |
Fetches the indicated parameter that was sent to the tag. | |
LCAPICALL osError | lasso_tagParamIsDefined (lasso_request_t token, const char *paramName) |
Returns osErrNoErr if the param WAS defined. | |
LCAPICALL osError | lasso_tagParamIsDefinedW (lasso_request_t token, const UChar *paramName) |
Returns osErrNoErr if the param WAS defined. | |
LCAPICALL osError | lasso_findTagParam (lasso_request_t token, const char *paramName, auto_lasso_value_t *result) |
Retrieves a parameter that was passed to the LCAPI tag call. | |
LCAPICALL osError | lasso_findTagParamW (lasso_request_t token, const UChar *paramName, auto_lasso_value_w_t *result) |
Retrieves a parameter that was passed to the LCAPI tag call. | |
LCAPICALL osError | lasso_getResultHeader (lasso_request_t token, auto_lasso_value_t *result) |
Allows access to the result (HTTP) header. | |
LCAPICALL osError | lasso_getResultHeaderW (lasso_request_t token, auto_lasso_value_w_t *result) |
Allows access to the result (HTTP) header. | |
LCAPICALL osError | lasso_setResultHeader (lasso_request_t token, const char *header) |
Sets the result (HTTP) header. | |
LCAPICALL osError | lasso_setResultHeaderW (lasso_request_t token, const UChar *header) |
Sets the result (HTTP) header. | |
LCAPICALL osError | lasso_getCookieValue (lasso_request_t token, const char *named, auto_lasso_value_t *value) |
Retrieves a cookie value set by the client. | |
LCAPICALL osError | lasso_getCookieValueW (lasso_request_t token, const UChar *named, auto_lasso_value_w_t *value) |
Retrieves a cookie value set by the client. | |
LCAPICALL osError | lasso_processBuffer (lasso_request_t token, const char *buffer, auto_lasso_value_t *output) |
Processes the supplied buffer. | |
LCAPICALL void | lasso_getPlatformSpecificPath (const char *inInternalPath, osPathname outPlatformPath) |
Converts an internal pathname into a platform-specific pathname. | |
LCAPICALL void | lasso_getInternalPath (const char *inPlatformPath, osPathname outInternalPath) |
Converts a platform-specific pathname into an internal pathname. | |
LCAPICALL void | lasso_fullyQualifyPath (lasso_request_t token, const char *inRelativePath, osPathname outFullyQualified) |
Converts a relative path into a fully qualified from-the-server-root path. | |
LCAPICALL void | lasso_resolvePath (lasso_request_t token, const char *inPath, osPathname outFullPath) |
Converts a partial path into a full, from the file system root, internal path. | |
LCAPICALL void | lasso_resolveIncludePath (lasso_request_t token, const char *inPath, osPathname outFullPath) |
Converts a partial path into a full, from the file system root, internal path which is guaranteed to be within the web root. | |
LCAPICALL void | lasso_internalToFullPlatformPath (lasso_request_t token, const char *relativeOrFullInternalPath, osPathname fullPlatformPath) |
Converts an internal path into a full platform specific path. | |
LCAPICALL bool | lasso_isFullInternalPath (const char *path) |
Tests the given internal path to see if it is a full path from the filesystem root. | |
LCAPICALL osError | lasso_setAutoResolveFullPaths (lasso_request_t token, bool to) |
Toggles how Lasso resolves file paths. | |
LCAPICALL osError | lasso_getAutoResolveFullPaths (lasso_request_t token, bool *get) |
Retreives Lasso's current file resolution mode. |
This file contains all of the available LCAPI defines and functions.
|
Initialize a lasso_value_t or lasso_value_w_t to be blank. It is recommended that each lasso_value_t be initialized using this macro before use. Example: lasso_value_t myVal; INITVAL(&myVal); |
|
Current Lasso Version. |
|
Lasso Version 5. First LCAPI release |
|
Lasso Version 6. Second LCAPI release |
|
Lasso Version 7. Third LCAPI release |
|
Lasso Version 8. Fourth LCAPI release |
|
Special typedef so programmers know when Lasso will automatically dispose of the value. |
|
Special typedef so programmers know when Lasso will automatically dispose of the value. |
|
Service function for Lasso Datasource modules. A LCAPI datasource module should implement one of these and pass it to the lasso_registerDSModule or lasso_registerDSModuleW function when the datasource module is registered. The function will be called by Lasso when a datasource operation is to be performed.
|
|
Represents a datasource module connection. This opaque value is only interpreted by the datasource module itself. It can be stored via lasso_setDSConnection and retrieved via lasso_getDSConnection. Lasso will automatically send the datasource the datasourceCloseConnection message when it is time to close the connection. |
|
Special value passed to modules that identify the request. The same value should be used when calling into any LassoCAPI function. |
|
Service function for a Lasso tag. An LCAPI tag should implement one of these and pass it to the lasso_registerTagModule or lasso_registerTagModuleW function when the LCAPI module is registered. The function will be called by Lasso every time the tag is called in a script.
|
|
Represents a type within Lasso. This opaque value represents an instance of a type within Lasso |
|
The various log levels. Each log level can be configured to go to zero or more destinations. |
|
LCAPI module registration callback. All Lasso modules must export a function named "registerLassoModule". When Lasso attempts to load an LCAPI module, it will look for this exported funtion and, if found, call it. Within that function, the user may register any number of datasource modules or any number of tags using the lasso_registerDSModule, lasso_registerDSModuleW, lasso_registerTagModule or lasso_registerTagModuleW functions. |
|
Types of actions tag modules could be called for. Ignore this for now, it may be put into use in a future version but is not utliized at present. |
|
|
The various log levels. Each log level can be configured to go to zero or more destinations. |
|
Various types of ways to access files.
|
|
Adds information about a particular column. Column information should be added in the order in which the columns occur inthe database. Column information should be added no matter what the action is. For the show action, only column information is added.
|
|
Adds information, including valuelists, about a particular column. Column information should be added in the order in which the columns occur inthe database. Column information should be added no matter what the action is. For the show action, only column information is added.
|
|
Adds a datasource result value. Datasource actions which require returning multiple values can use this to add those values. For example, this call can be used to add the name of a datasource that the module services or the names of the tables in a particular datasource.
|
|
Adds a datasource result value. Datasource actions which require returning multiple values can use this to add those values. For example, this call can be used to add the name of a datasource that the module services or the names of the tables in a particular datasource.
|
|
Add the column data for the next result row.
|
|
Allocates a lasso_value_t with the indicated data. Anything allocated with this function will NOT be garbage collected by Lasso and must be freed using lasso_freeValue.
|
|
Allocates a lasso_value_t with the indicated data and encoding method. This function can be used to convert Unicode data into any of the supported encodings. Anything allocated with this function will NOT be garbage collected by Lasso and must be freed using lasso_freeValue.
|
|
Allocates a lasso_value_w_t with the indicated data. Anything allocated with this function will NOT be garbage collected by Lasso and must be freed using lasso_freeValueW.
|
|
Retrieves the specified element of the provided array instance.
|
|
Retrieves the size of the provided array instance.
|
|
Removes the specified element from the provided array instance.
|
|
Sets the specified element of the provided array instance.
|
|
Execute the contents of a container tag. Tags become containers by registering with the flag_typeContainerTag flag. The resulting data will be of type string.
|
|
Gets an individual input column by name.
|
|
Gets an individual input column by name.
|
|
Searches for a tag. The search method is the same as would be used to find a tag in a script. Returns osErrNoErr if the tag is found. The final parameter can be used to disable searching for the tag in any on-demand libraries.
|
|
Retrieves a parameter that was passed to the LCAPI tag call. The parameter must have been specified by keyword. The keyword will be placed in the name portion of the struct and the value in the data portion. If only a keyword was provided, the data portion will be NULL.
|
|
Retrieves a parameter that was passed to the LCAPI tag call. The parameter must have been specified by keyword.
|
|
Retrieves a parameter that was passed to the LCAPI tag call. The parameter must have been specified by keyword.
|
|
Retrieves a parameter that was passed to the LCAPI tag call. The parameter must have been specified by keyword. The keyword will be placed in the name portion of the struct and the value in the data portion. If only a keyword was provided, the data portion will be NULL.
|
|
Searches for a tag. The search method is the same as would be used to find a tag in a script. Returns osErrNoErr if the tag is found. The final parameter can be used to disable searching for the tag in any on-demand libraries.
|
|
Frees a previously allocated lasso_value_t. Do not pass an auto_lasso_value_t to this function or you will end up with a double free.
|
|
Frees a previously allocated lasso_value_w_t. Do not pass an auto_lasso_value_w_t to this function or you will end up with a double free.
|
|
Converts a relative path into a fully qualified from-the-server-root path. If the path is already from the root it won't be changed.
|
|
Retreives Lasso's current file resolution mode.
|
|
Retrieves a cookie value set by the client.
|
|
Retrieves a cookie value set by the client.
|
|
Returns the host that maintains the current database. The host name will be placed in the name portion of the struct while the port will be placed in the data portion.
|
|
Returns the host that maintains the current database. The host name will be placed in the name portion of the struct while the port will be placed in the data portion.
|
|
Returns the name the current datasource module was registered with.
|
|
Gets the currently specified database name and associated data.
|
|
Called to access the current datasource connection. Datasource connections are set using the lasso_setDSConnection function.
|
|
Gets an individual input column by index.
|
|
Gets the number of input columns for this database action.
|
|
Converts a platform-specific pathname into an internal pathname.
|
|
Used to check for the -statementonly inline param.
|
|
Fetches a server specific variable. Request specific variables are enumerated in RequestParams.h
|
|
Gets the logical operator for this database action.
|
|
The maximum number of rows in the found set to return. -maxrecords
|
|
Converts an internal pathname into a platform-specific pathname.
|
|
Gets the name and the value of the currently specified primary key column.
|
|
Gets the name and the value of the primary key column specified by index.
|
|
Retrieves a previously added pointer value.
|
|
Retrieves a previously added pointer value.
|
|
Fetches a request specific variable. Request specific variables are enumerated in RequestParams.h
|
|
Allows access to the result (HTTP) header. The data will be a copy of the current HTTP header data.
|
|
Allows access to the result (HTTP) header. The data will be a copy of the current HTTP header data.
|
|
Gets an individual return column by index.
|
|
Gets the number of return columns for this action.
|
|
Gets the currently specified record id (FileMaker specific). -keyvalue
|
|
Gets the currently specified schema name.
|
|
The number of rows that should be skipped in the found set. -skiprecords
|
|
Gets an individual sort column by index.
|
|
Gets the number of sort columns for this database action.
|
|
Gets the currently specified table name.
|
|
Fetches the name of the tag that triggered this call. For example, in the case of: [my_tag: ...] the resulting value would be "my_tag".
|
|
Fetches the name of the tag that triggered this call. For example, in the case of: [my_tag: ...] the resulting value would be "my_tag".
|
|
Fetches the indicated parameter that was sent to the tag. Parameter indexes start at zero. If the parameter was specified as a keyword/value pair, the keyword will be placed in the name portion of the struct and the value in the data portion. If the parameter was provided without a keyword, the name portion of the struct will be NULL. All parameters values will be converted to string, regardless of the original type.
|
|
Retrieves a parameter that was passed to the LCAPI tag call. The parameter index is zero based.
|
|
Fetches the number of parameters that were passed to the tag.
|
|
Fetches the indicated parameter that was sent to the tag. Parameter indexes start at zero. If the parameter was specified as a keyword/value pair, the keyword will be placed in the name portion of the struct and the value in the data portion. If the parameter was provided without a keyword, the name portion of the struct will be NULL. All parameters values will be converted to string, regardless of the original type.
|
|
Provides direct access to the LCAPI tag's return value. In many cases, directly manipulating this value can yield better performance than lasso_returnTagValue. The resulting type instance will start out as type null.
|
|
Returns the type instance that the current tag call was a member of. This is used in member tags of custom types to return the target of the current call.
|
|
Provides access to a defined variable.
|
|
Provides access to a defined variable.
|
|
Convert a type instance into byte data. Converts a Lasso type INTO single-byte or binary data using the specific encoding method. This is the basis of table-level automatic encoding and translation. The default for all database, column, table names should be "iso8859-1".
|
|
Converts byte data into a type instance. Converts a single-byte or binary representation of a Lasso type BACK INTO an instance of that type using the specified encoding method.
|
|
Works just like the include_raw tag. Includes file data based on the given path. The path is resolved based on the current request. Full paths, or paths outside of the request's webserver folder are not permitted.
|
|
Converts an internal path into a full platform specific path. Takes a path, such as one which may have been passed to any Lasso tag, and converts it into a full platform specific path name.
|
|
Checks the current request for administrator privileges. Returns osErrNoErr if the current user has administrator privs. This is useful for doing administrative activities or file accesses which only the administrator should be able to do.
|
|
Checks the current request for the lowest privilege level. Returns osErrNoErr if the current user is the anonymous user.
|
|
Tests the given internal path to see if it is a full path from the filesystem root.
|
|
Log a message. The message goes to the prefered destination for the message level. Messages are limited to 2048 bytes in length. Messages sent to the console are limited to 512 bytes in length. Messages sent to the database are limited to a little less than 2048 bytes since the total length of the sql statement used to insert the message is limited to 2048 bytes. |
|
Changes the system-wide log destination preference. Multiple destinations can be OR'd together. |
|
Searches for the specified key in the provided map instance.
|
|
Retrieves the specified element of the provided map instance by index.
|
|
Retrieves the size of the provided map instance.
|
|
Removes the specified element from the map based on the provided key.
|
|
Sets the specified element of the provided map instance.
|
|
Sets the specified element of the provided map instance.
|
|
Tests for file access permissions. Returns osErrNoErr if the given operation is permitted by Lasso security. The data perameter should be the full path to the file using the *internal pathname* format.
|
|
Retrieves the first member from the provided pair.
|
|
Retrieves the second member from the provided pair.
|
|
Sets the first member of the provided pair.
|
|
Sets the second member of the provided pair.
|
|
Processes the supplied buffer. The buffer should consist of plain text, bracketed Lasso tags or <?LassoScript ?> pairs.
|
|
Register a constant value. Constants can be called just like tags, but the resulting value will only have a single instance and will have both it's type and value frozen. This is usually called at the same time that tags are registered.
|
|
Register a constant value. Constants can be called just like tags, but the resulting value will only have a single instance and will have both it's type and value frozen. This is usually called at the same time that tags are registered.
|
|
Register a constant value. Constants can be called just like tags, but the resulting value will only have a single instance and will have both it's type and value frozen. This is usually called at the same time that tags are registered.
|
|
Register a constant value. Constants can be called just like tags, but the resulting value will only have a single instance and will have both it's type and value frozen. This is usually called at the same time that tags are registered.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Converts a partial path into a full, from the file system root, internal path which is guaranteed to be within the web root. Resulting path must name an item within the web-root or a blank string is returned.
|
|
Converts a partial path into a full, from the file system root, internal path.
|
|
Specifies the return value of the current LCAPI tag call. Any type can be returned. A tag can only have one return value. Setting another return value will overwrite the previous.
|
|
Return a boolean value from the current LCAPI tag call.
|
|
Return binary data from the current LCAPI tag call. When using this, the result of the LCAPI call will be a bytes type. This can be called as many times as needed and new data will be appended to any previous data.
|
|
Return a decimal value from the current LCAPI tag call.
|
|
Return an integer value from the current LCAPI tag call.
|
|
Return a string value from the current LCAPI tag call.
|
|
Return a string value from the current LCAPI tag call.
|
|
Creates and runs a new LCAPI call on the given lasso_tag_func. If there is already an active request on the current thread, the lasso_tag_func will be run within that thread's context. If there is no currently active request on the current thread, a new request will be created and run based off the global context. The tag_action_t parameter will be passed to the lasso_tag_func and can be used to signal or pass information to the function.
|
|
Called to set the statement for the current action. Datasources must call this to support the action_statement tag.
|
|
Called to set the statement for the current action. Datasources must call this to support the action_statement tag.
|
|
Toggles how Lasso resolves file paths. Toggles whether Lasso will resolve the entire given file path (/blah/file.lasso) through the webserver (the default behavior - true) OR whether Lasso will resolve "/" through the server and then prepend that to the given file path (false). The default behavior can conflict with some usages of mod_rewrite As of LP7, this setting is global
|
|
Called to set the current connection for the datasource. May recurse to deliver the datasourceCloseConnection message if there is already a valid lasso_dbconnection_t.
|
|
Sets the number of rows found in the query. This will not always be the same value as the number of rows added with the lasso_addResultRow call as the skip recs and max recs parameters effect that number.
|
|
Allows storage of an opaque pointer value. The pointer member is given and name and is stored as an integer in the type instance.
|
|
Allows storage of an opaque pointer value. The pointer member is given and name and is stored as an integer in the type instance.
|
|
Set result code number.
|
|
Sets the result (HTTP) header. The data will be set as-is, so make sure it is properly formatted. The data should not include the final trailing CRLF pair.
|
|
Sets the result (HTTP) header. The data will be set as-is, so make sure it is properly formatted. The data should not include the final trailing CRLF pair.
|
|
Set result message string.
|
|
Set result message string.
|
|
Sets the currently specified record id (FileMaker specific).
|
|
Sets the specified variable's value. The variable does not have to already exist.
|
|
Sets the specified variable's value. The variable does not have to already exist.
|
|
Switches the current request to the given user. A proper password must be provided. The switch will persist until the request is finished or is switches again. Pass "anonymous" with no password to switch to lowest privileges.
|
|
Returns osErrNoErr if the param WAS defined. Any other result means it wasn't defined. Only parameters specified with a keyword should be searched for.
|
|
Returns osErrNoErr if the param WAS defined. Any other result means it wasn't defined. Only parameters specified with a keyword should be searched for.
|
|
Adds a member to a type instance. If the new member is a tag, it will be added to the tag members for the type. Otherwise, the new member will be added as a data member.
|
|
Adds a member to a type instance. If the new member is a tag, it will be added to the tag members for the type. Otherwise, the new member will be added as a data member.
|
|
Allocates a new type instance. The name of the type to allocate is signified by the second parameter. If a type initializer is found for the given name, it will be executed. An array of lasso_type_t parameters can be passed to the type initializer.
|
|
Allocates a new instance of type array.
|
|
Allocates a new instance of type boolean.
|
|
Allocates a custom type within a type initializer. This function is used within lasso_tag_funcs that were registered as being a type initializer (flag_typeInitializer). It initializes a blank custom type and sets the type's name to the provided value. The new type does not yet have a lineage and has no members added to it. New data or tag members should be added using lasso_typeAddMember. The new type must be the return value of the tag call, set via lasso_returnTagValue. Any inherited members will be added to the type after the LCAPI call returns.
|
|
Allocates a custom type within a type initializer. This function is used within lasso_tag_funcs that were registered as being a type initializer (flag_typeInitializer). It initializes a blank custom type and sets the type's name to the provided value. The new type does not yet have a lineage and has no members added to it. New data or tag members should be added using lasso_typeAddMember. The new type must be the return value of the tag call, set via lasso_returnTagValue. Any inherited members will be added to the type after the LCAPI call returns.
|
|
Allocates a new instance of type decimal.
|
|
Allocates a new instance of type decimal.
|
|
Allocate a new type instance based on the given type instance. The given type's tag members will be referenced in the new type. No data members are added to the new type.
|
|
Allocates a new instance of type integer.
|
|
Allocates a new instance of type map.
|
|
Allocates a new instance of type null.
|
|
Allocate a new type with the given name. The type does not have to have been registered as a type initializer or registered at all. The new type will have no tag or data members, but those may be added using the appropriate LCAPI call at any time. If no parent type name is provided (a NULL pointer or empty string is passed in), type null will be the default. If a parent type name is provided, it must have been a previously registered type initializer. onCreate will be called for the parent and any of its parents, but will not be called for the new type instance itself.
|
|
Allocate a new type with the given name. The type does not have to have been registered as a type initializer or registered at all. The new type will have no tag or data members, but those may be added using the appropriate LCAPI call at any time. If no parent type name is provided (a NULL pointer or empty string is passed in), type null will be the default. If a parent type name is provided, it must have been a previously registered type initializer. onCreate will be called for the parent and any of its parents, but will not be called for the new type instance itself.
|
|
Allocates a new instance of type pair.
|
|
Allocates a new hard reference to a type instance. The new instance will point to the original.
|
|
Allocates a new instance of type string.
|
|
Allocates a new instance of type string using the specified conversion method.
|
|
Allocates a new instance of type string.
|
|
Allocates a new instance of type tag.
|
|
Allocates a new instance of type tag from the given source text. If the source text is UTF-8, it must contain a BOM or it will be treated as the default platform encoding.
|
|
Allocates a new type instance. The name of the type to allocate is signified by the second parameter. If a type initializer is found for the given name, it will be executed. An array of lasso_type_t parameters can be passed to the type initializer.
|
|
Appends additional data to the string instance.
|
|
Appends additional data to the string instance.
|
|
Performs an assignment of one type to another. The result will be the same as if the following had been executed in LDML: #left_hand_side = #right_hand_side
|
|
Removes the flag for the given type instance.
|
|
Remove the LCAPI call's reference to a type instance. The LCAPI garbage collection system usually holds a reference to any used type instances. Calling this will remove that reference, which may result in the instance being destroyed at that point. Usage of a type pointer after calling this is not permitted unless the type has been "referred" to previously using lasso_typeRefer.
|
|
Subtract 1 from an instance's reference count. Once the instance's reference count reaches zero, it is destroyed and the lasso_type_t is no longer valid. The lasso_request_t token may be NULL if it is not available for any reason.
|
|
Retrieves the boolean value from a type instance.
|
|
Retrieves the child of the provided instance.
|
|
Retrieves the decimal value from a type instance.
|
|
Retrieves the integer value from a type instance.
|
|
Retrieves a member from a type instance. Members are searched for by name with tag members being searched first. Data members are searched if no tag is found with the given name.
|
|
Retrieves a member from a type instance. Members are searched for by name with tag members being searched first. Data members are searched if no tag is found with the given name.
|
|
Returns the name of the target type.
|
|
Returns the name of the target type.
|
|
Retrieves the parent of the provided type instance.
|
|
Retrieves character data from a type instance. If the type is a string instance, the data will be converted to UTF-8. If the type is a bytes instance, the data will be provided unaltered. For any other type, the result will be the same as converting the type into a string and returning the data as UTF-8.
|
|
Retrieves character data from a type instance using the specified conversion method. If the special conversion method of "BINARY" is used, and the source type is a string, the resulting data will be UTF-16 data. If the special conversion method of "BINARY" is used, and the source type is bytes, the resulting data will be provided unaltered. For any other type, if the special conversion method of "BINARY" is used, the result will be the same as converting the instance to a string and retrieving the UTF-16 data. The remaining possible values for the conversion method are any of the character encoding methods supported by ICU or any of the converters stored in the '__external_converters__' global variable. In all cases, the nameSize portion of the resulting value struct will be the number of bytes in the result data.
|
|
Retrieves Unicode character data from a type instance. For any type other than string, the result will be the same as converting the type into a string and returning the data as UTF-16.
|
|
Tests the flag for the given type instance. Returns osErrNoErr if the flag is set for that type instance.
|
|
Changes the inheritence structure of a type. Sets newParent to be the new parent of child Any parent that child currently has will be destroyed
|
|
Tests to see if a type is an instance of another type. Test by type code.
|
|
Tests to see if a type is an instance of another type. Test by type name.
|
|
Tests to see if a type is an instance of another type. Test by type name.
|
|
Tests to see if a type is an instance of another type. Test based on another type instance.
|
|
Add 1 to an instance's reference count. Type instances each have a reference count. Types created or otherwise referenced or received during an LCAPI call can be assumed to have a reference count of at least 1. If client code wishes to utilize any type instance beyond the end of the LCAPI call, it should add 1 to the instance's reference count. This is called "referring to" an instance. When client code has finished utilizing any "referred to" instance, it should subtract 1 from the instance's reference count using lasso_typeFree. When a type instance's reference count reaches zero, the instance is destroyed. |
|
Execute a given tag. The tag can be run given a specific name and an array of parameters. The tag's return value can be accessed. If the tag is a member tag, the instance of which it is a member can be passed using the final parameter. The params, returnValue and optionalTarget parameters may all be NULL.
|
|
Execute a given tag. The tag can be run given a specific name and an array of parameters. The tag's return value can be accessed. If the tag is a member tag, the instance of which it is a member can be provided using the final parameter. The params, returnValue and optionalTarget parameters may all be NULL.
|
|
Sets the boolean value of a type instance, converting the type if necessary.
|
|
Adds a C function to be called after onDestroy. Adds a user provided C function which will be called after onDestroy has been invoked on the instance.
|
|
Sets the decimal value of a type instance, converting the type if necessary.
|
|
Sets the decimal value of a type instance, converting the type if necessary.
|
|
Sets the flag for the given type instance.
|
|
Sets the integer value of a type instance, converting the type if necessary.
|
|
Converts the type instance into a string and sets the value.
|
|
Converts the type instance using the specified source data and conversion method. If the special conversion method of "BINARY" is used, the type instance will be converted into a bytes type, the contents of which will be the unaltered source data. The remaining possible values for the conversion method are any of the character encoding methods supported by ICU or any of the converters stored in the '__internal_converters__' global variable. If any of the built-in ICU conversion methods are used, the provided instance will be converted into a string type. If any other conversion methods are used, the resulting type of the provided instance can can vary.
|
|
Converts the type instance into a string and sets the value.
|
|
Transfer the data from one type to another type. After the call, victim will still be valid, but will be of type null, while the thief will contain all the data previously contained by the victim.
|
|
Use of the tag is deprecated. Depending on the administrator's configuration, calling the tag will automatically output a warning to the logging system. |
|
The tag should not be automatically imported into the global namespace. All LCAPI tags, starting with LP8, which are registered with a namespace should specify this flag. |
|
The tag is to be run in its own thread. It will return no value to the caller. |
|
The tag is a container tag. The tag must be called using the proper tag; ... /tag;syntax or an error is generated. The result of executing any body statements can be retrieved using the lasso_childrenRun function. |
|
Used internally. Not useful for LCAPI tag types. |
|
The tag is a looping container tag. For any tag registered with this flag, Lasso will automatically keep track of the loop_count and increment it each time the tag calls lasso_childrenRun. |
|
Bypass any security checks for the tag. Useful to avoid any performance hits associated with security checks. Should only be used when a tag performs only trival or completely secure operations. |
|
The tag is to be treated as a "regular" tag. This is the default behavior so this flag is not required. |
|
User defined flag. May be used with lasso_tagSetFlag, lasso_tagHasFlag, lasso_tagClearFlag OR lasso_typeSetFlag, lasso_typeHasFlag, lasso_typeClearFlag |
|
User defined flag. May be used with lasso_tagSetFlag, lasso_tagHasFlag, lasso_tagClearFlag OR lasso_typeSetFlag, lasso_typeHasFlag, lasso_typeClearFlag |
|
User defined flag. May be used with lasso_tagSetFlag, lasso_tagHasFlag, lasso_tagClearFlag OR lasso_typeSetFlag, lasso_typeHasFlag, lasso_typeClearFlag |
|
User defined flag. May be used with lasso_tagSetFlag, lasso_tagHasFlag, lasso_tagClearFlag OR lasso_typeSetFlag, lasso_typeHasFlag, lasso_typeClearFlag |
|
Recommended default registration flags. For a container tag. |
|
Recommended default registration flags. For a looping container tag. |
|
Recommended default registration flags. For a normal tag. |
|
Recommended default registration flags. For a type initializer tag. |