.\"##
.\" $XConsortium: p265,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 STRUCTURE NETWORKS" 3P "29 February 1991"
.SH NAME
RETRIEVE STRUCTURE NETWORKS \- retrieve specified structure networks 
from an archive file
.IX "Archive Files" "RETRIEVE STRUCTURE NETWORKS"
.IX "Structure Networks" "RETRIEVE STRUCTURE NETWORKS"
.SH SYNOPSIS
.SS C Syntax
.ft B
.ta 1.25i 3i
.nf
void
pret_struct_nets ( 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 STRUCTURE NETWORKS\s+2 to retrieve a list of structure
networks from the specified open archive file into the Central 
Structure Store (\s-2CSS\s+2).
.SS C Input Parameters
.IP \fIarchive_id\fP
The archive identifier specifying the open archive file from which to read.
.IP \fIstruct_ids\fP
A pointer to a Pint_list structure containing the list of the root structure
identifiers of the networks 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 structures belonging to the specified networks 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, 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 STRUCTURE NETWORKS (3P)"
.SM "SET CONFLICT RESOLUTION (3P)"
.SM "INQUIRE CONFLICTING STRUCTURES IN NETWORK (3P)"
.SM "RETRIEVE ALL STRUCTURES (3P)"
.SM "RETRIEVE PATHS TO ANCESTORS (3P)"
.SM "RETRIEVE PATHS TO DESCENDANTS (3P)"
.SM "DELETE STRUCTURE NETWORKS FROM ARCHIVE (3P)"
.fi
