DMREMOVECELL(5ICD)

NAME
dmRemoveCell - remove a cell from a project.

SYNOPSIS

#include "dmincl.h"
dmRemoveCell (dmproject, cell, versionstatus, versionnumber, view)
DM_PROJECT  * dmproject;
char        *cell, *versionstatus, *view;
int 	     versionnumber;

PARAMETERS
is a pointer to a valid DM_PROJECT as obtained from dmOpenProject(). is a character string naming the cell to be removed. This cell cannot be an imported cell (or alias name). specifies the required versionstatus of the cell. Valid statuses, as pre-defined in "dmincl.h", are (see also dmCheckOut(5ICD)): WORKING, ACTUAL, BACKUP and DERIVED. specifies the version to be used when versionstatus is BACKUP or DERIVED. If the versionstatus is ACTUAL or WORKING one may use DONTCARE (as pre-defined in "dmincl.h") since at most one actual or working version will be present. specifies the viewtype of the cell that is to be removed. Currently, valid viewtypes (as pre-defined in "dmincl.h") are: LAYOUT, CIRCUIT and FLOORPLAN.

DESCRIPTION
Function dmRemoveCell() removes a cell from a project directory. If the cell appears to be a root-cell, it is actually removed, else the removal fails and a diagnostic is reported.

FILES

proj_dir/view/celllist
proj_dir/view/cell

DIAGNOSTICS
If properly executed, dmRemoveCell() will return 0. If dmRemoveCell() fails -1 will be returned, after a call to function dmError() is done, and dmerrno will be set to indicate the error.
This might happen in the following cases:

DME_MODE
    Project is not writable.

DME_BADARG
    The versionstatus is not one of above.

DME_NOROOT
    The cell to be removed is not a root-cell.

DME_NOCELLL
    Celllist cannot be opened for read.

DME_CORE
    Too many cells in celllist.

DME_FOPEN
    Celllist cannot be opened for write.

SEE ALSO
dmCheckOut(5ICD).

NOTE
Since versioning is not yet supported in Release 3, ACTUAL, WORKING, BACKUP and DERIVED refer to the same data. The versionnumber will be ignored.