2N/A * The contents of this file are subject to the terms of the 2N/A * Common Development and Distribution License, Version 1.0 only 2N/A * (the "License"). You may not use this file except in compliance 2N/A * See the License for the specific language governing permissions 2N/A * and limitations under the License. 2N/A * When distributing Covered Code, include this CDDL HEADER in each 2N/A * If applicable, add the following below this CDDL HEADER, with the 2N/A * fields enclosed by brackets "[]" replaced with your own identifying 2N/A * information: Portions Copyright [yyyy] [name of copyright owner] 2N/A * Copyright (c) 1999 by Sun Microsystems, Inc. 2N/A * All rights reserved. 2N/A#
pragma ident "%Z%%M% %I% %E% SMI" 2N/A /* format params into msgBuf */ 2N/A /* no more results */ 2N/A /* synchronous case */ 2N/A /* parse reply into params */ 2N/A /* internal errors should have been filtered out by the net code */ 2N/A /* collate the types for sync behavior */ 2N/A /* async; invoke cb */ 2N/A /* check maxResults */ 2N/A * Allocate iovec for the message. A SrvTypeRqst is layed out thus: 2N/A * 2: prlist (filled in later by networking code) 2N/A * 5: scopes (filled in later by networking code) 2N/A /* calculate msg length */ 2N/A 2;
/* Scope string length */ 2N/A /* set pointer to PR list and scope list length spaces */ 2N/A /* set up the scopes and prlist pointers into iov */ 2N/A /* set up NA string in iovec */ 2N/A * Using the collator, determines which types in the types list 2N/A * have already been recieved, and composes a new list of the remaining 2N/A * (unique) types. If there are no unique types, returns NULL; 2N/A * types is destructively modified. 2N/A /* walk through the types list */ 2N/A /* search the tree for this type */ 2N/A /* first time we've encountered this type */ 2N/A /* else already in tree */ 2N/A * This is used after all types have been collated into the tree. 2N/A * It walks through the tree, composing a list from all the types in 2N/A * the tree, and freeing each node of the tree as it goes. 2N/A * Returns the list, or NULL if the tree is empty. 2N/A/* the walk action function: */ 2N/A/* the walk driver: */