Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

xmreptyperegister(3x) [osf1 man page]

XmRepTypeRegister(3X)													     XmRepTypeRegister(3X)

NAME
XmRepTypeRegister - A representation type manager function that registers a representation type resource SYNOPSIS
#include <Xm/RepType.h> XmRepTypeId XmRepTypeRegister (rep_type, value_names, values, num_values) String rep_type; String *value_names; unsigned char *values; unsigned char num_values; DESCRIPTION
XmRepTypeRegister registers a representation type resource with the representation type manager. All features of the representation type management facility become available for the specified representation type. The function installs a forward type converter to convert string values to numerical representation type values. When the values argument is NULL, consecutive numerical values are assumed. The order of the strings in the value_names array determines the numerical values for the resource. For example, the first value name is 0; the second value name is 1; and so on. If it is non-NULL, the values argument can be used to assign values to representation types that have nonconsecutive values or have dupli- cate names for the same value. Representation types registered in this manner will consume additional storage and will be slightly slower than representation types with consecutive values. A representation type can only be registered once; if the same representation type name is registered more than once, the behavior is unde- fined. The function XmRepTypeAddReverse installs a reverse converter for a registered representation type. The reverse converter takes a repre- sentation type numerical value and returns the corresponding string value. If the list of numerical values for a representation type con- tains duplicate values, the reverse converter uses the first name in the value_names list that matches the specified numeric value. For example, if a value_names array has cancel, proceed, and abort, and the corresponding values array contains 0, 1, and 0, the reverse con- verter will return cancel instead of abort for an input value of 0. Specifies the representation type name. Specifies a pointer to an array of value names associated with the representation type. A value name is specified in lowercase characters without an "Xm" prefix. Words within a name are separated with underscores. Specifies a pointer to an array of values associated with the representation type. A value in this array is associated with the value name in the corresponding position of the value_names array. Specifies the number of entries in the value_names and values arrays. RETURN VALUE
Returns the identification number for the specified representation type. SEE ALSO
XmRepTypeAddReverse(3X), XmRepTypeGetId(3X), XmRepTypeGetNameList(3X), XmRepTypeGetRecord(3X), XmRepTypeGetRegistered(3X), XmRepTypeValid- Value(3X) XmRepTypeRegister(3X)

Check Out this Related Man Page

Tcl_ByteArrayObj(3)					      Tcl Library Procedures					       Tcl_ByteArrayObj(3)

__________________________________________________________________________________________________________________________________________________

NAME
Tcl_NewByteArrayObj, Tcl_SetByteArrayObj, Tcl_GetByteArrayFromObj, Tcl_SetByteArrayLength - manipulate Tcl objects as a arrays of bytes SYNOPSIS
#include <tcl.h> Tcl_Obj * Tcl_NewByteArrayObj(bytes, length) void Tcl_SetByteArrayObj(objPtr, bytes, length) unsigned char * Tcl_GetByteArrayFromObj(objPtr, lengthPtr) unsigned char * Tcl_SetByteArrayLength(objPtr, length) ARGUMENTS
const unsigned char *bytes (in) The array of bytes used to initialize or set a byte-array object. int length (in) The length of the array of bytes. It must be >= 0. Tcl_Obj *objPtr (in/out) For Tcl_SetByteArrayObj, this points to the object to be converted to byte-array type. For Tcl_GetByteArrayFromObj and Tcl_SetByteArrayLength, this points to the object from which to get the byte-array value; if objPtr does not already point to a byte-array object, it will be converted to one. int *lengthPtr (out) If non-NULL, filled with the length of the array of bytes in the object. _________________________________________________________________ DESCRIPTION
These procedures are used to create, modify, and read Tcl byte-array objects from C code. Byte-array objects are typically used to hold the results of binary IO operations or data structures created with the binary command. In Tcl, an array of bytes is not equivalent to a string. Conceptually, a string is an array of Unicode characters, while a byte-array is an array of 8-bit quantities with no implicit meaning. Accessor functions are provided to get the string representation of a byte-array or to convert an arbitrary object to a byte- array. Obtaining the string representation of a byte-array object (by calling Tcl_GetStringFromObj) produces a properly formed UTF-8 sequence with a one-to-one mapping between the bytes in the internal representation and the UTF-8 characters in the string representation. Tcl_NewByteArrayObj and Tcl_SetByteArrayObj will create a new object of byte-array type or modify an existing object to have a byte-array type. Both of these procedures set the object's type to be byte-array and set the object's internal representation to a copy of the array of bytes given by bytes. Tcl_NewByteArrayObj returns a pointer to a newly allocated object with a reference count of zero. Tcl_SetByteAr- rayObj invalidates any old string representation and, if the object is not already a byte-array object, frees any old internal representa- tion. Tcl_GetByteArrayFromObj converts a Tcl object to byte-array type and returns a pointer to the object's new internal representation as an array of bytes. The length of this array is stored in lengthPtr if lengthPtr is non-NULL. The storage for the array of bytes is owned by the object and should not be freed. The contents of the array may be modified by the caller only if the object is not shared and the call- er invalidates the string representation. Tcl_SetByteArrayLength converts the Tcl object to byte-array type and changes the length of the object's internal representation as an array of bytes. If length is greater than the space currently allocated for the array, the array is reallocated to the new length; the newly allocated bytes at the end of the array have arbitrary values. If length is less than the space currently allocated for the array, the length of array is reduced to the new length. The return value is a pointer to the object's new array of bytes. SEE ALSO
Tcl_GetStringFromObj, Tcl_NewObj, Tcl_IncrRefCount, Tcl_DecrRefCount KEYWORDS
object, byte array, utf, unicode, internationalization Tcl 8.1 Tcl_ByteArrayObj(3)
Man Page