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


   NAME
        AllocNamedObjectA -- allocate a named object. (V39)

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

        struct namedobject *allocnamedobjecta(strptr, struct tagitem *);

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

        struct namedobject *allocnamedobject(strptr, ulong, ...);

   FUNCTION
        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().

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

   TAGS
        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

   RESULT
        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.)

   SEE ALSO
        freenamedobject(), <utility/name.h>