.\"## .\" $XConsortium: p266,v 5.2 94/04/17 20:57:31 rws Exp $ .\"## .\"## $XMCOPY .\"## Copyright (c) 1990, 1991 by Sun Microsystems, Inc. .\"## .\"## All Rights Reserved .\"## .\"## Permission to use, copy, modify, and distribute this software and its .\"## documentation for any purpose and without fee is hereby granted, .\"## provided that the above copyright notice appear in all copies and that .\"## both that copyright notice and this permission notice appear in .\"## supporting documentation, and that the name of Sun Microsystems, .\"## not be used in advertising or publicity .\"## pertaining to distribution of the software without specific, written .\"## prior permission. .\"## .\"## SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\"## INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO .\"## EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\"## CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\"## USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\"## OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\"## PERFORMANCE OF THIS SOFTWARE. .TH "RETRIEVE STRUCTURES" 3P "29 February 1991" .SH NAME RETRIEVE STRUCTURES \- retrieve specified structures from an archive file .IX "Archive Files" "RETRIEVE STRUCTURES" .IX "Structures" "RETRIEVE STRUCTURES" .SH SYNOPSIS .SS C Syntax .ft B .ta 1.25i 3i .nf void pret_structs ( archive_id, struct_ids ) Pint archive_id; \fIarchive identifier\fP Pint_list *struct_ids; \fIlist of structure identifiers\fP .fi .ft R .SS Required PHIGS Operating States (PHOP, *, *, AROP) .SH DESCRIPTION .SS Purpose Use \s-2RETRIEVE STRUCTURES\s+2 to retrieve a list of structures from the specified open archive file into the \s-2CSS\s+2. .SS C Input Parameters .IP \fIarchive_id\fP The archive identifier specifying the open archive file to read from. .IP \fIstruct_ids\fP A pointer to a Pint_list structure containing the list of structure identifiers to be retrieved. The Pint_list structure is defined in phigs.h as follows: .sp .4 .ta .5i +\w'Pint 'u +\w'num_ints; 'u .nf typedef struct { .sp .2 Pint num_ints; /* number of Pints in list */ Pint *ints; /* list of integers */ .sp .2 } Pint_list; .fi .IP The \fInum_ints\fP component specifies the number of structure identifiers in the list. .IP The \fIints\fP component is a pointer to a list, \fInum_ints\fP long, of the structure identifiers. .SS Execution The specified structures are copied from the indicated open archive file into the Central Structure Store (\s-2CSS\s+2). If any of the structures to be retrieved currently exist in the \s-2CSS\s+2, the conflict is resolved as follows: .sp .5v .in +0.5i .ta +0.2i .ti -0.2i \(bu If the retrieval conflict resolution flag is \s-2MAINTAIN\s+2, then the conflicting structure will not be copied into the \s-2CSS\s+2 (its contents are maintained). .sp .5v .ti -0.2i \(bu If the retrieval conflict resolution flag is \s-2UPDATE\s+2, then the conflicting structure in the \s-2CSS\s+2 will be overwritten (its contents are updated). .sp .5v .ti -0.2i \(bu If the retrieval conflict resolution flag is \s-2ABANDON\s+2, then no structures will be copied to the \s-2CSS\s+2. .LP The retrieval conflict resolution flag is set by the \s-2SET CONFLICT RESOLUTION\s+2 subroutine. .LP If the currently open structure must be overwritten because of a conflict while the retrieval conflict resolution flag is \s-2UPDATE\s+2, then it is closed, its contents are overwritten, and it is re-opened. The element pointer will be set to point to the last element. .LP If any of the structures to be retrieved do not exist in the archive file, then an empty structure is created in the \s-2CSS\s+2, a warning is generated, and the retrieval operation continues for the remaining structures. .SH ERRORS .IP 007 Ignoring function, function requires state (\s-2PHOP, *, *, AROP\s+2) .IP 404 Ignoring function, the specified archive file is not open .IP 405 Ignoring function, name conflict occurred while conflict resolution flag has value \s-2ABANDON\s+2 .IP 408 Warning, some of the specified structures do not exist on the archive file. \s-2PHIGS\s+2 will create empty structures in their places .SH SEE ALSO .nf .IP .ta 0.5i .SM "OPEN ARCHIVE FILE (3P)" .SM "ARCHIVE STRUCTURES (3P)" .SM "SET CONFLICT RESOLUTION (3P)" .SM "INQUIRE ALL CONFLICTING STRUCTURES (3P)" .SM "RETRIEVE ALL STRUCTURES (3P)" .SM "RETRIEVE STRUCTURE IDENTIFIERS (3P)" .SM "RETRIEVE STRUCTURE NETWORKS (3P)" .SM "DELETE STRUCTURES FROM ARCHIVE (3P)" .fi