====== NextTagArg ====== Finds the next TagArg in a tag list. ==== Synopsis ==== ''%%TagArg *NextTagArg( const TagArg **tagList );%%'' ==== Description ==== This function iterates through a tag list, skipping and chaining as dictated by control tags. There are three control tags: * **TAG_NOP** Ignores that single entry and moves to the next one. * **TAG_JUMP** Has a pointer to another array of tags. * **TAG_END** Marks the end of the tag list. This function only returns TagArgs which are not system tags. Each call returns either the next TagArg you should examine, or NULL when the end of the list has been reached. ==== Arguments ==== * **tagList** This is a pointer to a storage location used by the iterator to keep track of its current location in the tag list. The variable that this parameter points to should be initialized to point to the first TagArg in the tag list, and should not be changed thereafter. ==== Return Value ==== This function returns a pointer to a TagArg structure, or NULL if all the tags have been visited. None of the control tags are ever returned to you, they are handled transparently by this function. ==== Example ==== **Example 1:** //Example for NextTagArg// ''%%%%'' void WalkTagList(const TagArg *tags) { TagArg *state; TagArg *currentTag; state = tags; while ((tag = NextTagItem(&state)) != NULL) { switch (tag->ta_Tag) { case TAG1: // process this tag break; case TAG2: // process this tag break; default : // unknown tag, return an error break; } } } ==== Implementation ==== Folio call implemented in kernel folio V24. ==== Associated Files ==== tags.h ==== See Also ==== ''%%FindTagArg%%''() ====== ====== ----