CIF_RECGROUP(3)
NAME
Cif_Recgroup - Retrieves all the records of a particular type that belong to a single unit from an open, sorted compiler information file (CIF)
SYNOPSIS
#define CIF_VERSION 2
#include <cif.h>
int Cif_Recgroup (cifd, udir, rtype, rptr)
int cifd;
struct Cif_unitdir ∗udir;
int rtype;
struct Cif_generic ∗∗rptr;
IMPLEMENTATION
All Sun SPARC systems
DESCRIPTION
The Cif_Recgroup routine retrieves the address of the first record of the type requested from the specified unit directory of the specified CIF. It returns the number of records returned in rptr.
The Cif_Recgroup routine accepts the following arguments:
cifd Specifies the CIF descriptor returned by the Cif_Open(3) routine.
udir Contains the address of the unit directory set by Cif_Getunitdir(3) routine.
rtype Specifies type requested.
rptr Contains the address of the first record set by this routine. Note, when udir is null, rtype may be records not associated with a particular unit.
CIF_VERSION defines the library version. The default is 1. The newest version is 2 and should be used with this routine.
CIFs are initially ASCII, but when passed through cifconv(1) or when the Cif_Cifconv(3) routine is used, they are converted to sorted binary; then the Cif_Recgroup routine may be used.
See the Cif(3) man page for a discussion about CIF information, format, and versions.
RETURN VALUES
The the Cif_Recgroup man page routine returns the number of records in the record group.
A negative value indicates an error condition. The error condition can be identified with the following symbolic constants:
Symbolic Constant Description
CIF_BADREQ The requested function cannot be performed.
CIF_NOMEM A problem was encountered while acquiring memory.
CIF_NOTOPEN The CIF file descriptor is not an open file.
CIF_SYSERR An error occurred while calling a system routine.
EXAMPLES
The following is an example of using the Cif_Recgroup routine. It uses the address of the unit directory obtained by using the Cif_Getunitdir routine. int fd; struct Cif_filedir ∗filedir; struct Cif_unitdir ∗unitdir; struct Cif_usage ∗rec_usage; int nrecords;
mycif = Cif_Cifconv ("myprogram.T", "r", nrecords, CIF_VERSION, 1);
Cif_Getfiledir(fd, &filedir);
Cif_Getunitdir(fd, filedir->ut, ∗unitdir);
nrecords=Cif_Recgroup(fd, unitdir, CIF_USAGE, (struct Cif_generic ∗∗)&rec_usage);
SEE ALSO
Cif(3) for general information about CIFs
Cif_Close(3), Cif_Duplicate(3), Cif_Errstring(3), Cif_Free(3), Cif_Getpos(3), Cif_Getrecord(3), Cif_Memmode(3), Cif_Msginsert(3), Cif_Open(3), Cif_Release(3), Cif_Setpos(3) for information about general CIF library routines
Cif_Getfiledir(3), Cif_Getunitdir(3) for information about binary-format specific CIF library routines
cifconv(1) for information about ASCII to binary format conversion in the
Compiler information file CIF Compiler information Compiler listings
SunOS 3.0.1 — Last change: