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-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |