Open a symbol table

WTSupported in traditional Synergy on Windows
WNSupported in Synergy .NET on Windows
USupported on UNIX
VSupported on OpenVMS
id = %NSPC_OPEN([flags], [size], {reserved}, {reserved}, [begin_count][, expand_count])

Return value


An identifier for the symbol table created. (n)



(optional) One of the following control flags defined in namspc.def or the sum of D_NSPC_CASE and D_NSPC_SPACE: (n)

D_NSPC_NONE = No flags specified (default)

D_NSPC_CASE = Case significant

D_NSPC_SPACE = Leading and trailing spaces significant


(optional) The size of the user data to be associated with each entry. (The maximum is 100.) (n)


A reserved placeholder for internal use. If passed, the value must be 0.


(optional) The initial number of entries to allocate. (n)


(optional) The number of entries by which to expand when required. (n)


The %NSPC_OPEN function creates a symbol table object.

If flags contains D_NSPC_CASE, the case of any letters in the entry names is significant. If flags contains D_NSPC_SPACE, leading and trailing spaces in the entry names are significant. D_NSPC_NONE is defined for convenience and should be used if neither of the above flags are used.

Size can be a maximum of 100 bytes. If size is not specified, it defaults to 4 bytes.

Space is initially allocated for begin_count number of entries. Whenever the allocations for the symbol table are depleted, an additional expand_count number of entries are allocated, using the same arguments.

If length is not specified, it defaults to 10 bytes. If begin_count or expand_count are not specified, each defaults to 32 entries.


The following example creates a symbol table for the username, with each entry large enough to contain user_data.

user_id = %nspc_open(, ^size(user_data))