NAME
Cif_Cifconv - Reformats and opens a compiler information
file (CIF)
SYNOPSIS
#define CIF_VERSION 2
#include <cif.h>
int Cif_Cifconv (filename, opentype, rtypes, version, keep)
char *filename;
char *opentype;
int *rtypes;
int version;
int keep;
IMPLEMENTATION
All Sun SPARC systems
DESCRIPTION
The Cif_Cifconv routine checks if the CIF specified by
filename is a valid compiler information file (CIF). An
ASCII CIF is converted to the binary format. A binary CIF
is not changed. The binary format file is opened and
assigned to the CIF file descriptor named cifd. You must
use the descriptor for all further references to the CIF.
The following are some of the benefits of a sorted binary
CIF: Smaller Faster to read Ordered Additional selective
queries: Cif_Filedir, Cif_Getunitdir, and Cif_Recgroup
The Cif_Cifconv routine accepts the following arguments:
filename Specifies address of a character string that con-
tains the name of the file.
opentype Opens a character string that contains r (for
read) or w (for write).
rtypes Specifies the address of a zero-terminated integer
array of record type values.
Cif_Getrecord returns only records with a type
included in the rtypes array; all other records
are skipped. If the rtypes argument is NULL, all
records of all types are returned.
version Identifies the CIF version. (See the description
of CIF_VERSION in the following.)
keep Designates if the converted file is to be kept (1)
or deleted (0) on program exit. If the converted
file is to be kept, it is written in the same
directory as the original file with a .TT exten-
sion. If the CIFDIR environmental variable is
defined, the .TT file is written in that direc-
tory. If write permission is not given for the
original file directory or CIFDIR, then the .TT
file is written in the directory defined in the
TMPDIR environmental variable, if defined, other-
wise it is written in the system temporary direc-
tory.
If the binary file is kept, it is created only
once when the program calling Cif_Cifconv is exe-
cuted again and if the .TT file is current with
the .T file.
CIF_VERSION defines the library version. The default is 1.
The newest version is 2 and should be used with this rou-
tine.
See the Cif(3) man page for a discussion about CIF informa-
tion, format, and versions.
RETURN VALUES
If the Cif_Cifconv return value is positive, it is a valid
CIF descriptor; otherwise, the file was not opened, and the
return value indicates the status. The following symbolic
constants can be used to identify the failure:
Symbolic Constant Description
CIF_BADFORM The CIF file has an incorrect format.
CIF_BADREQ The requested function cannot be per-
formed.
CIF_EOF An end-of-file was encountered.
CIF_EXP_VERS The expected CIF version is too large.
CIF_EXP_VERS2 The CIF file version is too small (the
application is compiled including the
version 2 CIF definitions, but tries to
open a CIF as version 1).
CIF_FILE_VERS The CIF file version is too large.
CIF_INTERNAL An internal error occurred.
CIF_NOMEM A problem was encountered while acquir-
ing memory.
CIF_NOTCIF The file is not a CIF file.
CIF_NOTOPEN The CIF file descriptor is not an open
file.
CIF_MAXOPENS The maximum number of CIF files are
already open.
CIF_SYSERR An error occurred while calling a system
routine.
EXAMPLES
The following example converts and opens the CIF called
myprogram.T and assigns it the descriptor mycif. The con-
verted file is retained as myprogram.TT. The records array
limits the records that can be returned by Cif_Getrecord to
records of types CIF_CIFHDR, CIF_ENTRY, CIF_UNIT, and
CIF_ENDUNIT.
int records[] = { CIF_CIFHDR, CIF_ENTRY, CIF_UNIT,
CIF_ENDUNIT, 0 };
int mycif;
.
.
.
mycif = Cif_Cifconv ("myprogram.T", "r", records,
CIF_VERSION, 1);
.
.
.
SEE ALSO
Cif(3) for general information about CIFs
Cif_Duplicate(3), Cif_Errstring(3), Cif_Filename(3),
Cif_Free(3), Cif_Getpos(3), Cif_Getrecord(3),
Cif_Memmode(3), Cif_Msginsert(3), Cif_Release(3),
Cif_Setpos(3) for information about general CIF library rou-
tines
Cif_Getfiledir(3), Cif_Getunitdir(3), Cif_Recgroup(3) for
information about binary format specific CIF library rou-
tines
cifconv(1) for information about ASCII to binary format
conversion in the
Compiler information file CIF Compiler information Compiler
listings
|
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |