DMINTRO(5ICD)

NAME
dmintro - introduction to DDM Interface Functions

SYNOPSIS
#include "dmincl.h"

DESCRIPTION
Section 5 of the ICD (IC Design) manual describes the DDM (Design Data Management) Interface Functions. To use these functions, the file "dmincl.h" must be included in the program source. Most of these functions have one or more error returns. An error condition is indicated by an otherwise impossible return value. This is usually -1 for integer functions, or NULL for functions returning a pointer to something; the individual manual pages give the details.

An error number is also made available in the external variable dmerrno, which is not cleared on successful calls. Thus dmerrno should be tested only after an error has occurred.

The following is a list of the errors and their names as given in "dmincl.h".
Definition:	Errno:	Description:
DME_SYS	1	/* error in system call */
DME_DDM	2	/* DDM internal error */
DME_BADARG	3	/* bad arguments call */
DME_MODE	4	/* mode is invalid for key */
DME_BADPR	5	/* bad project */
DME_BADVIEW	6	/* bad view */
DME_NOCELL	7	/* cell does not exist */
DME_BADKEY	8	/* bad key */
DME_LOCK	9	/* cell is locked */
DME_PRIM	10	/* can't open primary file */
DME_RECUR	11	/* illegal recursion */
DME_EXIST	12	/* cell already exists */
DME_TECH	13	/* can't open technology file */
DME_PUT	14	/* dmPutDesignData write error */
DME_GET	15	/* dmGetDesignData read error */
DME_FMT	16	/* bad format */
DME_PRID	17	/* unknown process id */
DME_PRDATA	18	/* can't access process data */
DME_CORE	19	/* no more core */
DME_PRREAD	20	/* process data read error */
DME_CVIEW	21	/* bad current view */
DME_BADNAME	22	/* bad name */
DME_NOVIEW	23	/* view does not exist */
DME_EXVIEW	24	/* view already exists */
DME_PRLOCK	25	/* project is locked */
DME_FOPEN 	26	/* cannot open file */
DME_BADENV	27	/* bad DDM environment */
DME_NOCELLL	28	/* no celllist present */
DME_INIT	29	/* already initialized */
DME_NOPRJL	30	/* no project list present */
DME_NOIMPCL	31	/* no imported celllist present */
DME_NODMRC	32	/* cannot open file .dmrc */
DME_BADREL	33	/* bad release */
DME_NOINIT	34	/* not yet initialized */
DME_DMANERR	35	/* design manager error */
DME_DMANRR	36	/* design manager rejects request */
DME_NOROOT	37	/* cell is not a root */
DME_NOFATH	38	/* no father cell */

SPECIAL CONSIDERATIONS
In order to prevent name clashes, application programs should not use external names beginning with "dm" or "_dm", since all DDM functions do so.

FILES
ICDPATH/lib/include	Include file directory.
ICDPATH/lib/libddm.a	Library file.

SEE ALSO
dmError(5ICD).

FUNCTIONS AVAILABLE IN THE DDM LIBRARY
dmAttrPrint	print attribute to attribute string
dmAttrScan	scan attribute from attribute string
dmCheckIn	terminate a DDM cell transaction
dmCheckOut	initiate a DDM cell transaction
dmCloseProject	terminate a DDM project transaction
dmCloseStream	close a DDM stream
dmError	DDM error message functions
dmFindProjKey	find project key and remote name
	for (imported) cell
dmGetDesignData	get data from the database
dmGetMetaDesignData	get meta design data
dmInit	initialize the DDM environment
dmOpenProject	initiate a DDM project transaction
dmOpenStream	open a DDM stream
dmPerror	DDM error message functions
dmPrintf	print formatted data to the database
dmPutDesignData	put data to the database
dmPutMetaDesignData	put meta design data
dmQuit	quit all database interaction
dmRemoveCell	remove a cell from a project
dmScanf	scan formatted data from the database
dmSeek	reposition a stream pointer in a stream
dmStat	get DDM stream status
dmTell	get current position of a DDM stream
dmTestname	test a name
dmUnlink	unlink secondary DDM data stream