[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]

	AllocNamedObjectA -- allocate a named object. (V39)

	object = AllocNamedObjectA(name, tagList);
	D0                         A0    A1

	struct NamedObject *AllocNamedObjectA(STRPTR, struct TagItem *);

	object = AllocNamedObject(name, Tag1, ...);

	struct NamedObject *AllocNamedObject(STRPTR, ULONG, ...);

	Allocates a NamedObject and initializes it as needed to the
	name given. This object can then be used as an object in the
	namespaces. Tags can be given to make an object contain a
	namespace such that nested namespaces can be built.
	When the object is allocated, it automatically has one use.
	If you later wish to release this object such that others may
	remove it from the namespace you must do a ReleaseNamedObject().

	name - name for the object (must not be NULL)
	tagList - tags with additional information for the allocation or NULL

	ANO_NameSpace - BOOL tag, default FALSE.  If this tag is
	                TRUE, the named object will also have a
	                name space attached to it.
	ANO_UserSpace - ULONG tag, default 0.  If this tag is non-NULL
	                it defines the size (in bytes) of the user
	                space to be allocated with the named object
	                and that will be pointed to by the no_Object
	                pointer.  This memory is long-word aligned.
	                If no space is defined, no_Object will be NULL.
	ANO_Priority  - BYTE tag, default 0.  This tag lets you pick
	                a priority for the named object for when it is
	                placed into a name space.
	ANO_Flags     - ULONG tag, default 0.  This tag lets you set
	                the flags of the NameSpace (if you allocated
	                one)  There currently are only TWO flags.
	                Do *NOT* set *any* other bits as they are for
	                future use!!!  (You can't read them anyway)
	                The flags are:
	                NSF_NODUPS	- Name space must be unique.
	                NSF_CASE	- Name space is case sensitive

	object - the object allocated, or NULL for failure. The object
	         is defined as a pointer to a pointer.  You can do what you
	         wish with the pointer. (It may be NULL or contain a pointer
	         to memory that you had asked for in the tags.)

	FreeNamedObject(), <utility/name.h>

[Back to Amiga Developer Docs]