Importing RDS sources into the new CVS tree

This commit is contained in:
Frederic Petrot 2002-03-13 13:37:38 +00:00
parent c87096efd3
commit 96e7b257dc
131 changed files with 22508 additions and 0 deletions

View File

@ -0,0 +1 @@
SUBDIRS = src man3

View File

@ -0,0 +1,318 @@
# Makefile.in generated automatically by automake 1.4 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
CC = @CC@
INCLUDES = @INCLUDES@
LDFLAGS = @LDFLAGS@
RANLIB = @RANLIB@
SUBDIRS = src man3
mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
CONFIG_CLEAN_FILES =
DIST_COMMON = Makefile.am Makefile.in configure configure.in
PACKAGE = @PACKAGE@
VERSION = @VERSION@
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
cd $(top_builddir) \
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF)
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
@SET_MAKE@
all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive \
check-recursive installcheck-recursive info-recursive dvi-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \
dot_seen=no; \
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
rev="$$subdir $$rev"; \
test "$$subdir" = "." && dot_seen=yes; \
done; \
test "$$dot_seen" = "no" && rev=". $$rev"; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP)
list='$(SOURCES) $(HEADERS)'; \
unique=`for i in $$list; do echo $$i; done | \
awk ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
here=`pwd` && cd $(srcdir) \
&& mkid -f$$here/ID $$unique $(LISP)
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS)'; \
unique=`for i in $$list; do echo $$i; done | \
awk ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
mostlyclean-tags:
clean-tags:
distclean-tags:
-rm -f TAGS ID
maintainer-clean-tags:
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
-rm -rf $(distdir)
GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
mkdir $(distdir)/=build
mkdir $(distdir)/=inst
dc_install_base=`cd $(distdir)/=inst && pwd`; \
cd $(distdir)/=build \
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) dist
-rm -rf $(distdir)
@banner="$(distdir).tar.gz is ready for distribution"; \
dashes=`echo "$$banner" | sed s/./=/g`; \
echo "$$dashes"; \
echo "$$banner"; \
echo "$$dashes"
dist: distdir
-chmod -R a+r $(distdir)
GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
-rm -rf $(distdir)
dist-all: distdir
-chmod -R a+r $(distdir)
GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
-rm -rf $(distdir)
distdir: $(DISTFILES)
-rm -rf $(distdir)
mkdir $(distdir)
-chmod 777 $(distdir)
here=`cd $(top_builddir) && pwd`; \
top_distdir=`cd $(distdir) && pwd`; \
distdir=`cd $(distdir) && pwd`; \
cd $(top_srcdir) \
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign Makefile
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
for subdir in $(SUBDIRS); do \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
|| exit 1; \
chmod 777 $(distdir)/$$subdir; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
|| exit 1; \
fi; \
done
info-am:
info: info-recursive
dvi-am:
dvi: dvi-recursive
check-am: all-am
check: check-recursive
installcheck-am:
installcheck: installcheck-recursive
install-exec-am:
install-exec: install-exec-recursive
install-data-am:
install-data: install-data-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-recursive
uninstall-am:
uninstall: uninstall-recursive
all-am: Makefile
all-redirect: all-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs: installdirs-recursive
installdirs-am:
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
maintainer-clean-generic:
mostlyclean-am: mostlyclean-tags mostlyclean-generic
mostlyclean: mostlyclean-recursive
clean-am: clean-tags clean-generic mostlyclean-am
clean: clean-recursive
distclean-am: distclean-tags distclean-generic clean-am
distclean: distclean-recursive
-rm -f config.status
maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \
distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
maintainer-clean: maintainer-clean-recursive
-rm -f config.status
.PHONY: install-data-recursive uninstall-data-recursive \
install-exec-recursive uninstall-exec-recursive installdirs-recursive \
uninstalldirs-recursive all-recursive check-recursive \
installcheck-recursive info-recursive dvi-recursive \
mostlyclean-recursive distclean-recursive clean-recursive \
maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
install-exec install-data-am install-data install-am install \
uninstall-am uninstall all-redirect all-am all installdirs-am \
installdirs mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

1636
alliance/src/rds/configure vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,52 @@
dnl
/*
dnl This file is part of the Alliance CAD System
dnl Copyright (C) Laboratoire LIP6 - Département ASIM
dnl Universite Pierre et Marie Curie
dnl
dnl Home page : http://www-asim.lip6.fr/alliance/
dnl E-mail support : mailto:alliance-support@asim.lip6.fr
dnl
dnl This library is free software; you can redistribute it and/or modify it
dnl under the terms of the GNU Library General Public License as published
dnl by the Free Software Foundation; either version 2 of the License, or (at
dnl your option) any later version.
dnl
dnl Alliance VLSI CAD System is distributed in the hope that it will be
dnl useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
dnl Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License along
dnl with the GNU C Library; see the file COPYING. If not, write to the Free
dnl Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
dnl
dnl Purpose : Auto stuffing Alliance
dnl Almost ten years since I wrote this stuff, I just can't
dnl believe it
dnl Date : 01/02/2002
dnl Author : Frederic Petrot <Frederic.Petrot@lip6.fr>
dnl $Id: configure.in,v 1.1 2002/03/13 13:37:35 fred Exp $
dnl
dnl
AC_INIT(src/rds.h)
AM_INIT_AUTOMAKE(rds, 2.1)
AC_PROG_INSTALL
AC_PROG_CC
AC_HEADER_STDC
AC_C_CONST
AC_PROG_RANLIB
changequote(,)dnl
INCLUDES=-I${ALLIANCE_TOP}/include
LDFLAGS=-L${ALLIANCE_TOP}/lib
changequote([,])dnl
AC_SUBST(INCLUDES)
AC_SUBST(LDFLAGS)
AC_OUTPUT([
Makefile
src/Makefile
man3/Makefile
])

View File

@ -0,0 +1,55 @@
man_MANS = addrdsfig.3 \
addrdsfigrec.3 \
addrdsins.3 \
addrdsinsrec.3 \
addrdsrecwindow.3 \
allocrdsfig.3 \
allocrdsins.3 \
allocrdsrec.3 \
allocrdsrecwin.3 \
allocrdswin.3 \
allocrdswindow.3 \
allocrdswinrec.3 \
buildrdswindow.3 \
conmbkrds.3 \
delrdsfig.3 \
delrdsfigrec.3 \
delrdsins.3 \
delrdsinsrec.3 \
delrdsrecwindow.3 \
destroyrdswindow.3 \
figmbkrds.3 \
freerdsfig.3 \
freerdsins.3 \
freerdsrec.3 \
getrdsmodellist.3 \
insconmbkrds.3 \
insmbkrds.3 \
insrefmbkrds.3 \
inssegmbkrds.3 \
instanceface.3 \
insviambkrds.3 \
loadrdsfig.3 \
loadrdsparam.3 \
modelmbkrds.3 \
rdsalloc.3 \
rdsenv.3 \
rdsfree.3 \
refmbkrds.3 \
roundrdsrec.3 \
saverdsfig.3 \
searchrdsfig.3 \
segmbkrds.3 \
viambkrds.3 \
viewrdsfig.3 \
viewrdsins.3 \
viewrdsparam.3 \
viewrdsrec.3 \
viewrdswindow.3 \
viewrfmcon.3 \
viewrfmfig.3 \
viewrfmins.3 \
viewrfmrec.3 \
viewrfmref.3 \
viewrfmseg.3 \
viewrfmvia.3

View File

@ -0,0 +1,219 @@
# Makefile.in generated automatically by automake 1.4 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
CC = @CC@
INCLUDES = @INCLUDES@
LDFLAGS = @LDFLAGS@
RANLIB = @RANLIB@
man_MANS = addrdsfig.3 addrdsfigrec.3 addrdsins.3 addrdsinsrec.3 addrdsrecwindow.3 allocrdsfig.3 allocrdsins.3 allocrdsrec.3 allocrdsrecwin.3 allocrdswin.3 allocrdswindow.3 allocrdswinrec.3 buildrdswindow.3 conmbkrds.3 delrdsfig.3 delrdsfigrec.3 delrdsins.3 delrdsinsrec.3 delrdsrecwindow.3 destroyrdswindow.3 figmbkrds.3 freerdsfig.3 freerdsins.3 freerdsrec.3 getrdsmodellist.3 insconmbkrds.3 insmbkrds.3 insrefmbkrds.3 inssegmbkrds.3 instanceface.3 insviambkrds.3 loadrdsfig.3 loadrdsparam.3 modelmbkrds.3 rdsalloc.3 rdsenv.3 rdsfree.3 refmbkrds.3 roundrdsrec.3 saverdsfig.3 searchrdsfig.3 segmbkrds.3 viambkrds.3 viewrdsfig.3 viewrdsins.3 viewrdsparam.3 viewrdsrec.3 viewrdswindow.3 viewrfmcon.3 viewrfmfig.3 viewrfmins.3 viewrfmrec.3 viewrfmref.3 viewrfmseg.3 viewrfmvia.3
mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
CONFIG_CLEAN_FILES =
man3dir = $(mandir)/man3
MANS = $(man_MANS)
NROFF = nroff
DIST_COMMON = Makefile.am Makefile.in
PACKAGE = @PACKAGE@
VERSION = @VERSION@
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --foreign man3/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
install-man3:
$(mkinstalldirs) $(DESTDIR)$(man3dir)
@list='$(man3_MANS)'; \
l2='$(man_MANS)'; for i in $$l2; do \
case "$$i" in \
*.3*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
else file=$$i; fi; \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man3dir)/$$inst"; \
$(INSTALL_DATA) $$file $(DESTDIR)$(man3dir)/$$inst; \
done
uninstall-man3:
@list='$(man3_MANS)'; \
l2='$(man_MANS)'; for i in $$l2; do \
case "$$i" in \
*.3*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " rm -f $(DESTDIR)$(man3dir)/$$inst"; \
rm -f $(DESTDIR)$(man3dir)/$$inst; \
done
install-man: $(MANS)
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-man3
uninstall-man:
@$(NORMAL_UNINSTALL)
$(MAKE) $(AM_MAKEFLAGS) uninstall-man3
tags: TAGS
TAGS:
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
subdir = man3
distdir: $(DISTFILES)
here=`cd $(top_builddir) && pwd`; \
top_distdir=`cd $(top_distdir) && pwd`; \
distdir=`cd $(distdir) && pwd`; \
cd $(top_srcdir) \
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign man3/Makefile
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
info-am:
info: info-am
dvi-am:
dvi: dvi-am
check-am: all-am
check: check-am
installcheck-am:
installcheck: installcheck-am
install-exec-am:
install-exec: install-exec-am
install-data-am: install-man
install-data: install-data-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
uninstall-am: uninstall-man
uninstall: uninstall-am
all-am: Makefile $(MANS)
all-redirect: all-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs:
$(mkinstalldirs) $(DESTDIR)$(mandir)/man3
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
maintainer-clean-generic:
mostlyclean-am: mostlyclean-generic
mostlyclean: mostlyclean-am
clean-am: clean-generic mostlyclean-am
clean: clean-am
distclean-am: distclean-generic clean-am
distclean: distclean-am
maintainer-clean-am: maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
maintainer-clean: maintainer-clean-am
.PHONY: install-man3 uninstall-man3 install-man uninstall-man tags \
distdir info-am info dvi-am dvi check check-am installcheck-am \
installcheck install-exec-am install-exec install-data-am install-data \
install-am install uninstall-am uninstall all-redirect all-am all \
installdirs mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -0,0 +1,94 @@
.\" $Id: addrdsfig.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)addrdsfig.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
addrdsfig
.XE
.XS0 \n%
.ti 0.2i
addrdsfig
.XE0 \}
.TH ADDRDSFIG 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
addrdsfig \- adds a figure
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include"rdsnnn.h"
rdsfig_list \(**addrdsfig( Name, Size )
char \(**Name;
unsigned int Size;
.SH PARAMETER
.TP 20
\fIName\fP
Name of the figure to add to the figures's list.
.TP
\fISize\fP
Size of the user structure (if defined) added to the rdsrec_list structure.
.SH DESCRIPTION
The addrdsfig function adds a new figure called 'Name' to the head of figures's list and becomes itself the list head (HEAD_RDSFIG pointer).
.br
The field \fINAME\fP of the figure is set to \'Name\'.
.br
The field \fISIZE\fP of the figure is set to \'Size\'.
.br
The field MODE of the figure is set to \'A\'.
.PP
\fINote\fI :
.PP
Name allocation is done with the namealloc() MBK function.
.PP
If user structure isn't defined, the user has to set parameter 'Size' to 0L.
.SH RETURN VALUE
Pointer to the newly created figure.It's also the HEAD_RDSFIG pointer.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
rdsfig_list \(**RdsFigure;
mbkenv();
rdsenv();
loadrdsparam();
RdsFigure = \fBaddrdsfig\fP ("core",sizeof ( UserStruct ) );
printf("FIGURE NAME = %s\\n",RdsFigure->NAME);
/\(** The new figure is head of figure list \(**/
printf("HEAD_RDSFIG : FIGURE NAME = %s\\n",HEAD_RDSFIG->NAME);
}
.ft R
.fi
.SH SEE ALSO
.BR librds,
.BR delrdsfig,
.BR viewrdsfig
.so man1/alc_bug_report.1

View File

@ -0,0 +1,141 @@
.\" $Id: addrdsfigrec.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)addrdsfigrec.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
addrdsfigrec
.XE
.XS0 \n%
.ti 0.2i
addrdsfigrec
.XE0 \}
.TH ADDRDSFIGREC 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
addrdsfigrec \- adds a rectangle to a figure
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rdsnnn.h"
rdsrec_list \(**addrdsfigrec( Figure, Name, Layer, X, Y, Dx, Dy )
rdsfig_list \(**Figure;
char \(**Name;
char Layer;
long X;
long Y;
long Dx;
long Dy;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIFigure\fP
figure which contains the rectangle to add.
.TP
\fIName\fP
name of the rectangle to add.
.TP
\fILayer\fP
Layer of the rectangle to add.
.TP
\fIX,Y,DX,DY\fP
Dimensions of the rectangle to add.
.SH DESCRIPTION
\fBaddrdsfigrec\fP creates an adds a rectangle in the figure called \fIFigure\fP.
The size of the user structure to add next to the structure rdsrec_list (if it
exists) is defined by the field \fBSIZE\fP of the figure who has to contain
the rectangle. The rectangle is added in front of the list, and becomes itself
the list head associated to the defined layer in parameters of the function.
The fields of the rectangle structure are modified as follows :
.br
The field \fINAME\fP is set to \fBName\fP.
.br
The field \fIX\fP is set to \fBX\fP.
.br
The field \fIY\fP is set to \fBY\fP.
.br
The field \fIDX\fP is set to \fBDx\fP.
.br
The field \fIDY\fP is set to \fBDy\fP.
.br
The field \fIFLAGS\fP is modified with the value \fBLayer\fP.
.SH RETURN VALUE
\fBaddrdsfigrec\fP returns a pointer to the newly added rectangle.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
# define POINTER_STRING(R) \\
\\
(((UserStruct \(**)((char \(**)(R)+sizeof(rdsrec_list)))->STRING )
main()
{
rdsfig_list \(**RdsFigure;
rdsrec_list \(**Rectangle;
char Layer;
rdsrec_list \(**ScanRec;
mbkenv();
rdsenv();
loadrdsparam();
RdsFigure = addrdsfig ("core",sizeof ( UserStruct ) );
Rectangle = \fBaddrdsfigrec\fP (RdsFigure,
"Alu1",RDS_ALU1,
2,4,12,1);
POINTER_STRING(Rectangle) = namealloc ("rectangle_alu1");
...
/\(**
print caracteristics of all rectangles of the Rds figure
\(**/
for ( Layer = 0 ; Layer < RDS_MAX_LAYER ; Layer ++ )
{
for (
ScanRec = RdsFigure->LAYERTAB[Layer] ;
ScanRec != (rdsrec_list \(**) NULL ;
ScanRec = ScanRec->NEXT
)
{
printf("Rectangle->LAYER = %s\\n",
RDS_LAYER_NAME[GetRdsLayer(ScanRec)]);
printf("Rectangle->NAME = %s\\n",ScanRec->NAME);
printf("Rectangle->X = %ld\\n",ScanRec->X);
printf("Rectangle->Y = %ld\\n",ScanRec->Y);
printf("Rectangle->DX = %ld\\n",ScanRec->DX);
printf("Rectangle->DY = %ld\\n",ScanRec->DY);
printf("Rectangle->STRING = %s\\n",POINTER_STRING(ScanRec));
}
}
}
.ft R
.fi
.SH SEE ALSO
.BR librds,
.BR delrdsfigrec,
.BR viewrdsfig
.so man1/alc_bug_report.1

View File

@ -0,0 +1,142 @@
.\" $Id: addrdsins.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)addrdsins.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
addrdsins
.XE
.XS0 \n%
.ti 0.2i
addrdsins
.XE0 \}
.TH ADDRDSINS 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
addrdsins \- adds an instance to a figure
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rdsnnn.h"
rdsins_list \(**addrdsins( Figure, Model, Name, Sym, X, Y )
rdsfig_list \(**Figure;
char \(**Model;
char \(**Name;
char Sym;
long X;
long Y;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIFigure\fP
figure which contains the instance.
.TP
\fIModel\fP
Name of the model of the instance.
.TP
\fIName\fP
Name of the instance in the figure at which it belongs.
.TP
\fISym\fP
Symmetry applied to the instance.
.RS
.TP 20
possible values :
.TP
\fBRDS_NOSYM\fP
no symmetry.
.TP
\fBRDS_ROT_P\fP
90 degrees rotation counter clockwise.
.TP
\fBRDS_SYMXY\fP
symmetry with regard to a horizontal and vertical axis.
.TP
\fBRDS_ROT_M\fP
90 degrees rotation clockwise.
.TP
\fBRDS_SYM_X\fP
symmetry with regard to a vertical axis.
.TP
\fBRDS_SY_RM\fP
symmetry with regard to a vertical axis and 90 degrees clockwise.
.TP
\fBRDS_SYM_Y\fP
symmetry with regard to a horizontal axis.
.TP
\fBRDS_SY_RP\fP
symmetry with regard to a horizontal axis and 90 degrees rotation counter clockwise.
.RE
.TP
\fIX,Y\fP
position of the lower left corner of the instance in the figure after symmetry.
.SH DESCRIPTION
The \fIaddrdsins\fP function adds an instance to the head of instances's list in the figure
described in function parameter. Some fields of rdsins_list structure
are modified as follows :
.br
The field \fIFIGNAME\fP is set to \fBModel\fP
.br
The field \fIINSNAME\fP is set to \fBName\fP
.br
The field \fIX\fP is set to \fBX\fP
.br
The field \fIY\fP is set to \fBY\fP
.br
The field \fITRANSF\fP is set to \fBSym\fP
.br
The field \fISIZE\fP is set to \fBFigure->SIZE\fP
.SH RETURN VALUE
\fBaddrdsins\fP returns a pointer to the newly created instance which is head of instances's list of the figure.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired.
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
rdsfig_list \(**RdsFigure;
rdsins_list \(**Instance;
mbkenv();
rdsenv();
loadrdsparam();
RdsFigure = addrdsfig ("core",sizeof ( UserStruct ) );
Instance = \fBaddrdsins\fP (RdsFigure,"na2_y","and2",RDS_NOSYM,8,6);
printf("(RdsFigure->INSTANCE)->NAME = %s\\n",
(RdsFigure->INSTANCE)->NAME);
/\(** Instance is head of instance list of the figure \(**/
printf("Instance->NAME = %s\\n", Instance->NAME);
}
.ft R
.fi
.SH SEE ALSO
.BR librds,
.BR delrdsins,
.BR viewrdsins
.so man1/alc_bug_report.1

View File

@ -0,0 +1,141 @@
.\" $Id: addrdsinsrec.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)addrdsinsrec.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
addrdsinsrec
.XE
.XS0 \n%
.ti 0.2i
addrdsinsrec
.XE0 \}
.TH ADDRDSINSREC 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
addrdsinsrec \- adds a rectangle to an instance
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include"rdsnnn.h"
rdsrec_list \(**addrdsinsrec( Instance, Name, Layer, X, Y, Dx, Dy )
rdsins_list \(**Instance;
char \(**Name;
char Layer;
long X;
long Y;
long Dx;
long Dy;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIInstance\fP
The instance which contains the rectangle to add.
.TP
\fIName\fP
Name of the rectangle to add.
.TP
\fILayer\fP
Layer of the rectangle to add.
.TP
\fIX,Y,DX,DY\fP
Dimensions of the the rectangle to add.
.SH DESCRIPTION
This function creates an adds a rectangle to an instance. The size of the user structure to add (if if exists) next to the structure rdsrec_list is defined by the field SIZE of the instance which has to contain the rectangle. The rectangle is chained to the head of the rectangles's list associated to the defined layer in parameters of the function addrdsinsrec(). The fields of the rectangle structure are modified as follows :
.PP
The field \fINAME\fP is set to \'Name\'.
.br
The field \fIX\fP is set to \'X\'.
.br
The field \fIY\fP is set to \'Y\'.
.br
The field \fIDX\fP is set to \'Dx\'.
.br
The field \fIDY\fP is set to \'Dy\'.
.br
The field \fIFLAGS\fP is modified with the value \'Layer\'.
.PP
\fINote\fP :
.PP
\- This function uses MBK namealloc() function.
.PP
\- coordinates of the rectangle are related to the instance before geometrical transformation.
.SH RETURN VALUE
The pointer to the added rectangle. It is also the head of rectangles's list associated to the corresponding layer.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
# define POINTER_STRING(R) \\
\\
(((UserStruct \(**)((char \(**)(R)+sizeof(rdsrec_list)))->STRING )
main()
{
rdsfig_list \(**RdsFigure;
rdsins_list \(**Instance;
rdsrec_list \(**Rectangle;
char Layer;
rdsrec_list \(**ScanRec;
mbkenv();
rdsenv();
loadrdsparam();
RdsFigure = addrdsfig ("core",sizeof ( UserStruct ) );
Instance = addrdsins (RdsFigure,"na2_y","and2",RDS_NOSYM,8,6);
Rectangle = \fBaddrdsinsrec\fP (Instance,"Alu1",RDS_ALU1,2,4,12,1);
POINTER_STRING( Rectangle ) = namealloc ("un_alu1");
/\(**
Displays caracteristics of all the rectangles of the instance
\(**/
for ( Layer = 0 ; Layer < RDS_MAX_LAYER ; Layer ++ )
{
for (
ScanRec = Instance->LAYERTAB[Layer] ;
ScanRec != (rdsrec_list \(**) NULL ;
ScanRec = ScanRec->NEXT
)
{
printf("Rectangle->LAYER = %s\\n",
RDS_LAYER_NAME[GetRdsLayer(ScanRec)]);
printf("Rectangle->NAME = %s\\n",ScanRec->NAME);
printf("Rectangle->X = %ld\\n",ScanRec->X);
printf("Rectangle->Y = %ld\\n",ScanRec->Y);
printf("Rectangle->DX = %ld\\n",ScanRec->DX);
printf("Rectangle->DY = %ld\\n",ScanRec->DY);
printf("Rectangle->STRING = %s\\n",POINTER_STRING(ScanRec));
}
}
}
.ft R
.fi
.SH SEE ALSO
.BR librds,
.BR delrdsinsrec,
.BR viewrdsins
.so man1/alc_bug_report.1

View File

@ -0,0 +1,129 @@
.\" $Id: addrdsrecwindow.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)addrdsrecwindow.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
addrdsrecwindow
.XE
.XS0 \n%
.ti 0.2i
addrdsrecwindow
.XE0 \}
.TH ADDRDSRECWINDOW 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
addrdsrecwindow \- adds a rectangle in the windowing of rds structure.
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rwinnn.h"
void addrdsrecwindow( Rectangle, RdsWindow )
rdsrec_list \(**Rectangle;
rdswindow \(**RdsWindow;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIRectangle\fP
The rectangle to add to the windowing.
.TP
\fIRdsWindow\fP
The head of the windowing which has to contain the rectangle.
.SH DESCRIPTION
The \fIaddrdsrecwindow\fP function inserts a rdsrec_list rectangle structure in the windowing of the rds structure. The rectangle is added in one or many windows of the table (it depends on his dimensions). The field \'USER\' of the rectangle is used to point to the list of windows which contains the rectangle. So, the field \'USER\' has to be saved in an added structure to the rdsrec_list structure if librfm functions are used because somes use the field \'USER\' to link rectangles (see librds about field \'USER\').
.TP
\fINote\fP
If the rectangle is contained in only one window, then the field \'USER\' points to a "rdswin_list" window structure.
.br
If the rectangle is contained in many windows, the field \'USER\' points to a "rdsrecwin_list" structure which is a list which contains windows.
.PP
To know if a rectangle belongs to one or many windows, use the macro \fIIsRdsOneWindow\fP defined in librwi.
.SH RETURN VALUE
none
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rwinnn.h"
#include "rtlnnn.h"
# define POINTER_LINKREC(R) \\
\\
(((UserStruct \(**)((char \(**)(R)+sizeof(rdsrec_list)))->LINKREC )
typedef struct UserStruct
{
void \(**LINKREC;
} UserStruct;
main()
{
rdsfig_list \(**Figure;
rdsrec_list \(**Rectangle;
rdswindow \(**RdsWindow;
rdswin_list \(**ScanWin;
rdsrecwin_list \(**ScanRecWin;
mbkenv();
rdsenv();
loadrdsparam();
Figure = addrdsfig( "core",sizeof ( UserStruct ) );
Rectangle =
addrdsfigrec(Figure,"Alu1",RDS_ALU1,2,4,5,1);
/\(** Using the field \'USER\' \(**/
Rectangle->USER = Rectangle;
. . . .
RdsWindow = allocrdswindow();
RdsWindow->XMIN = -200;
RdsWindow->YMIN = -200;
RdsWindow->XMAX = 200;
RdsWindow->YMAX = 200;
RdsWindow->DX = 4;
RdsWindow->DY = 4;
RdsWindow->SIDE = 100;
RdsWindow->SIZE = RdsWindow->DX \(** RdsWindow->DY ;
RdsWindow->WINTAB = allocrdswin( RdsWindow->SIZE );
/\(** Save the field \'USER\' of the rectangle \(**/
POINTER_LINKREC(Rectangle) = Rectangle->USER;
/\(** \(**/ \fBaddrdsrecwindow\fP( Rectangle, RdsWindow );
/\(** windows associated to a rectangle are pointed by the
field \'USER\' of the rectangle \(**/
/\(** getting windows (pointer \(**ScanWin) of a rectangle \(**/
if ( IsRdsOneWindow(Rectangle) )
{
ScanWin = (rdswin_list \(**) Rectangle->USER;
}
else
{
ScanRecWin = Rectangle->USER;
while ( ScanRecWin != NULL )
{
ScanWin = (rdswin_list \(**) (ScanRecWin)->WINDOW;
ScanRecWin = ScanRecWin->NEXT;
}
}
. . .
}
.ft R
.fi
.SH SEE ALSO
.BR librwi,
.BR delrdsrecwindow
.so man1/alc_bug_report.1

View File

@ -0,0 +1,74 @@
.\" $Id: allocrdsfig.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)allocrdsfig.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
allocrdsfig
.XE
.XS0 \n%
.ti 0.2i
allocrdsfig
.XE0 \}
.TH ALLOCRDSFIG 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
allocrdsfig \- allocs memory for a figure
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rdsnnn.h"
rdsfig_list \(**allocrdsfig()
.ft R
.fi
.SH PARAMETER
none
.SH DESCRIPTION
The \fIallocrdsfig\fP function allocates a memory block for rdsfig_list structure. Fields contained in the structure are set to NULL for pointers or 0L for numbers.
.TP
NOTE: Allocation by block ( see rdsalloc() function ).
.SH RETURN VALUE
\fBallocrdsfig\fP returns a pointer to the rdsfig_list structure allocated.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired.
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rtlnnn.h"
main()
{
rdsfig_list \(**RdsFigure;
mbkenv();
rdsenv();
loadrdsparam();
RdsFigure = \fBallocrdsfig\fP ();
RdsFigure->NAME = namealloc ("core");
...
}
.ft R
.fi
.SH SEE ALSO
.BR librds,
.BR rdsalloc,
.BR rdsfree,
.BR freerdsfig
.so man1/alc_bug_report.1

View File

@ -0,0 +1,75 @@
.\" $Id: allocrdsins.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)allocrdsins.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
allocrdsins
.XE
.XS0 \n%
.ti 0.2i
allocrdsins
.XE0 \}
.TH ALLOCRDSINS 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
allocrdsins \- allocates memory for an instance
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include"rdsnnn.h"
rdsins_list \(**allocrdsins()
.ft R
.fi
.SH PARAMETER
none
.SH DESCRIPTION
Allocates a memory block for rdsins_list structure. Fields contained in the structure are set to NULL for the pointers and 0L for numbers.
.PP
NOTE: Allocation by block ( see rdsalloc() function ).
.SH RETURN VALUE
The pointer to the allocated instance.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired.
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rtlnnn.h"
main()
{
rdsins_list \(**RdsInstance;
mbkenv();
rdsenv();
loadrdsparam();
RdsInstance = \fBallocrdsins\fP ();
RdsInstance->FIGNAME = namealloc ("na2_y");
RdsInstance->INSNAME = namealloc ("and2");
...
}
.ft R
.fi
.SH SEE ALSO
.BR librds,
.BR freerdsins,
.BR rdsalloc,
.BR rdsfree
.so man1/alc_bug_report.1

View File

@ -0,0 +1,96 @@
.\" $Id: allocrdsrec.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)allocrdsrec.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
allocrdsrec
.XE
.XS0 \n%
.ti 0.2i
allocrdsrec
.XE0 \}
.TH ALLOCRDSREC 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
allocrdsrec \- allocates memory for a rectangle
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include"rdsnnn.h"
rdsrec_list \(**allocrdsrec( Size )
unsigned int Size;
.ft R
.fi
.SH PARAMETER
.TP 20
\fISize\fP
Size of the added structure to the rdsrec_list structure.
.SH DESCRIPTION
Allocates a memory block for rdsrec_list structure and an added structure defined by the user. Fields contained in the two structures are set to NULL for pointers and 0L for numbers.
.PP
NOTE: Allocation by heap ( see rdsalloc function ).
.SH RETURN VALUE
The pointer to the rectangle structure allocated.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired.
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
# include "mutnnn.h"
# include "rdsnnn.h"
# include "rtlnnn.h"
/\(** Name and fields of UserStruct are defined by the user \(**/
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
# define POINTER_STRING(R) \\
\\
(((UserStruct \(**)((char \(**)(R)+sizeof(rdsrec_list)))->STRING )
# define POINTER_USER1(R) \\
\\
(((UserStruct \(**)((char \(**)(R)+sizeof(rdsrec_list)))->USER1 )
main()
{
rdsfig_list \(**Figure;
rdsrec_list \(**Rectangle;
mbkenv();
rdsenv();
loadrdsparam();
Rectangle = \fBallocrdsrec\fP ( sizeof ( UserStruct ) );
Rectangle->X = 20;
Rectangle->Y = 20;
Rectangle->DX = 48;
Rectangle->DY = 8;
POINTER_STRING (Rectangle) = (char \(**) malloc (strlen ("Alu1")+1);
strcpy(POINTER_STRING(Rectangle),"Alu1");
POINTER_USER1 (Rectangle) = (void \(**) Figure;
...
}
.ft R
.fi
.SH SEE ALSO
.BR librds,
.BR freerdsrec,
.BR rdsalloc,
.BR rdsfree
.so man1/alc_bug_report.1

View File

@ -0,0 +1,84 @@
.\" $Id: allocrdsrecwin.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)allocrdsrecwin.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
allocrdsrecwin
.XE
.XS0 \n%
.ti 0.2i
allocrdsrecwin
.XE0 \}
.TH ALLOCRDSRECWIN 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
allocrdsrecwin \- allocates a structure used to know windows which contains a rectangle.
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rwinnn.h"
rdsrecwin_list \(**allocrdsrecwin()
.ft R
.fi
.SH PARAMETER
none
.SH DESCRIPTION
The \fIallocrdsrecwin\fP function allocates a rdsrecwin_list structure item. This structure contains a pointer to a window structure so it permits to chain all windows which contains a same rectangle (see librwi).
.SH RETURN VALUE
The pointer to the newly allocated structure is returned.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rwinnn.h"
#include "rtlnnn.h"
# define POINTER_WINDOW(R) \\
\\
(((UserStruct \(**)((char \(**)(R)+sizeof(rdsrec_list)))->WINDOW )
typedef struct UserStruct
{
rdsrecwin_list \(**WINDOW;
} UserStruct;
main()
{
rdsfig_list \(**Figure;
rdsrec_list \(**Rectangle;
rdswin_list \(**Window;
mbkenv();
rdsenv();
loadrdsparam();
Figure = addrdsfig( "core",sizeof ( UserStruct ) );
Rectangle =
addrdsfigrec(Figure,"Alu1",RDS_ALU1,2,4,5,1);
POINTER_WINDOW (Rectangle) = \fBallocrdsrecwin\fP();
. . . .
Window = ...
(POINTER_WINDOW (Rectangle))->WINDOW = Window;
. . . .
}
.ft R
.fi
.SH SEE ALSO
.BR librwi
.so man1/alc_bug_report.1

View File

@ -0,0 +1,78 @@
.\" $Id: allocrdswin.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)allocrdswin.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
allocrdswin
.XE
.XS0 \n%
.ti 0.2i
allocrdswin
.XE0 \}
.TH ALLOCRDSWIN 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
allocrdswin \- allocates window's table
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rwinnn.h"
rdswin_list \(**allocrdswin( Number )
unsigned int Number;
.ft R
.fi
.SH PARAMETER
.TP 20
\fINumber\fP
Number of windows contained in the window's table.
.SH DESCRIPTION
The \fIallocrdswin\fP allocates a window's table. The number of windows is specified by the parameter \'Number\' of the function. To determine the size of the parameter \'Number\', the user has to multiplicate width by height of his table in number of windows. Each item of the table is a pointer to a rdswin_list structure which contains rectangles sorted by layer (see librwi).
.SH RETURN VALUE
The pointer to the table is returned.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size for the table
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rwinnn.h"
#include "rtlnnn.h"
main()
{
rdswindow \(**RdsWindow;
RdsWindow = allocrdswindow();
RdsWindow->XMIN = -200;
RdsWindow->YMIN = -200;
RdsWindow->XMAX = 200;
RdsWindow->YMAX = 200;
RdsWindow->DX = 4;
RdsWindow->DY = 4;
RdsWindow->SIDE = 100;
RdsWindow->SIZE = RdsWindow->DX \(** RdsWindow->DY ;
RdsWindow->WINTAB = \fBallocrdswin\fP( RdsWindow->SIZE );
. . .
}
.ft R
.fi
.SH SEE ALSO
.BR librwi
.so man1/alc_bug_report.1

View File

@ -0,0 +1,78 @@
.\" $Id: allocrdswindow.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)allocrdswindow.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
allocrdswindow
.XE
.XS0 \n%
.ti 0.2i
allocrdswindow
.XE0 \}
.TH ALLOCRDSWINDOW 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
allocrdswindow \- allocates a window structure
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rwinnn.h"
rdswindow \(**allocrdswindow()
.ft R
.fi
.SH PARAMETER
none
.SH DESCRIPTION
The \fIallocrdswindow\fP allocates a window structure (rdswindow) which is used to create an \'object\' window (see librwi). It contains fields information about the window's table and the pointer to the window's table. It's the head of windowing.
.SH RETURN VALUE
The pointer to the rdswindow structure allocated is returned.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired.
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rwinnn.h"
#include "rtlnnn.h"
main()
{
rdswindow \(**RdsWindow;
RdsWindow = \fBallocrdswindow\fP();
RdsWindow->XMIN = -200;
RdsWindow->YMIN = -200;
RdsWindow->XMAX = 200;
RdsWindow->YMAX = 200;
RdsWindow->DX = 4;
RdsWindow->DY = 4;
RdsWindow->SIDE = 100;
RdsWindow->SIZE = RdsWindow->DX \(** RdsWindow->DY ;
RdsWindow->WINTAB = allocrdswin( RdsWindow->SIZE );
. . .
}
.ft R
.fi
.SH SEE ALSO
.BR librwi,
.BR buildrdswindow,
.BR destroyrdswindow,
.BR viewrdswindow
.so man1/alc_bug_report.1

View File

@ -0,0 +1,83 @@
.\" $Id: allocrdswinrec.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)allocrdswinrec.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
allocrdswinrec
.XE
.XS0 \n%
.ti 0.2i
allocrdswinrec
.XE0 \}
.TH ALLOCRDSWINREC 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
allocrdswinrec \- allocates a structure used to create a list of tables of rectangles.
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rwinnn.h"
rdswinrec_list \(**allocrdswinrec()
.ft R
.fi
.SH PARAMETER
none
.SH DESCRIPTION
The \fIallocrdswinrec\fP function allocates a data structure named "rdswinrec_list" used to contain rectangles. This structure contains a list of tables of rdsrec_list structures (see librwi and librds).
.SH RETURN VALUE
The pointer to the newly allocated structure is returned.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rwinnn.h"
#include "rtlnnn.h"
main()
{
rdsrec_list \(**Rectangle;
rdswinrec_list \(**WinRec, \(**HeadWinRec;
mbkenv();
rdsenv();
loadrdsparam();
WinRec = HeadWinRec = \fBallocrdswinrec\fP();
/\(** Fill the table with rectangles \(**/
for ( Counter = 0 ; Counter < RWI_MAX_REC ; Counter ++ )
{
if ( Rectangle == (rdsrec_list \(**) NULL ) break;
WinRec->RECTAB[Counter] = Rectangle;
Rectangle = Rectangle->NEXT;
}
if ( Counter == RWI_MAX_REC )
{
/\(** the table is full : allocation of a new table \(**/
WinRec->NEXT = allocrdswinrec();
WinRec = WinRec->NEXT;
}
. . . .
}
.ft R
.fi
.SH SEE ALSO
.BR librwi
.so man1/alc_bug_report.1

View File

@ -0,0 +1,119 @@
.\" $Id: buildrdswindow.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)buildrdswindow.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
buildrdswindow
.XE
.XS0 \n%
.ti 0.2i
buildrdswindow
.XE0 \}
.TH BUILDRDSWINDOW 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
buildrdswindow \- builds windowing of a figure
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rwinnn.h"
rdswindow \(**buildrdswindow( Figure )
rdsfig_list \(**Figure;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIFigure\fP
The figure where has to be built the windowing.
.SH DESCRIPTION
The \fIbuildrdswindow\fP function permits to build windowing on the figure named \'Figure\'.
.SH RETURN VALUE
The pointer to the windowing structure "rdswindow".
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rfmnnn.h"
#include "rwinnn.h"
#include "rtlnnn.h"
main()
{
phfig_list \(**MbkFigure;
rdsfig_list \(**RdsFigure;
rdswindow \(**Window;
long X,Y,Offset;
rdswin_list \(**Win;
rdswinrec_list \(**WinRec;
rdsrec_list \(**ScanRec;
char Layer;
char Index;
mbkenv();
rdsenv();
loadrdsparam();
MbkFigure = getphfig("na2_y",'A');
RdsFigure = figmbkrds(MbkFigure,0,0);
Window = \fBbuildrdswindow\fP ( RdsFigure );
/\(** gets each window of the table \(**/
for ( X = 0 ; X < Window->DX ; X ++ )
for ( Y = 0 ; Y < Window->DY ; Y ++ )
{
printf("WINDOW (%ld,%ld)\\n",X,Y);
Offset = Y \(** Window->DX + X;
Win = Window->WINTAB + Offset;
/\(** gets all rectangles of a window \(**/
for ( Layer = 0 ; Layer < RWI_MAX_LAYER ; Layer ++ )
{
printf("LAYER = %s\\n",RDS_LAYER_NAME[Layer]);
for ( WinRec = Win->LAYERTAB[ Layer ];
WinRec != (rdswinrec_list \(**)NULL;
WinRec = WinRec->NEXT )
{
for (
Index = 0;
Index < RWI_MAX_REC;
Index++
)
{
ScanRec = WinRec->RECTAB[ Index ];
/\(** prints dimensions of each rectangle \(**/
if ( ScanRec != NULL )
printf("X=%ld, Y=%ld, DX=%ld, DY=%ld\\n",
ScanRec->X,ScanRec->Y,ScanRec->DX,
ScanRec->DY);
else break;
}
}
}
}
. . .
}
.ft R
.fi
.SH SEE ALSO
.BR librwi,
.BR allocrdswindow,
.BR destroyrdswindow,
.BR viewrdswindow
.so man1/alc_bug_report.1

View File

@ -0,0 +1,89 @@
.\" $Id: conmbkrds.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)conmbkrds.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
conmbkrds
.XE
.XS0 \n%
.ti 0.2i
conmbkrds
.XE0 \}
.TH CONMBKRDS 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
conmbkrds \- converts MBK connector to RDS rectangle
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rfmnnn.h"
rdsrec_list \(**conmbkrds( Figure, Connector )
rdsfig_list \(**Figure;
phcon_list \(**Connector;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIFigure\fP
Rds Figure which has to receive the connector.
.TP
\fIConnector\fP
MBK connector to convert to RDS format.
.SH DESCRIPTION
The \fIconmbkrds\fP function creates a RDS rectangle (connector) with a connector from MBK structure \fIphcon_list\fP. The RDS rectangle is added to the figure defined in parameter of the function.
.SH RETURN VALUE
The pointer to the RDS rectangle created.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rfmnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
phfig_list \(**MbkFigure;
rdsfig_list \(**RdsFigure;
rdsrec_list \(**Con;
mbkenv();
rdsenv();
loadrdsparam();
RdsFigure = addrdsfig ("core",sizeof ( UserStruct ) );
MbkFigure->PHCON =
addphcon ( MbkFigure,NORTH, "in_1", 9, 15, ALU1, 2);
Con = \fBconmbkrds\fI (RdsFigure, MbkFigure->PHCON);
. . .
}
.ft R
.fi
.SH SEE ALSO
.BR librfm,
.BR viewrfmcon,
.BR loadrdsparam
.so man1/alc_bug_report.1

View File

@ -0,0 +1,84 @@
.\" $Id: delrdsfig.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)delrdsfig.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
delrdsfig
.XE
.XS0 \n%
.ti 0.2i
delrdsfig
.XE0 \}
.TH DELRDSFIG 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
delrdsfig \- deletes a figure
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rdsnnn.h"
int delrdsfig( Name )
char \(**Name;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIName\fP
Name of the figure to delete.
.SH DESCRIPTION
This function deletes the figure called \'\fIName\fP\' from the list of figures in memory. All objets (instances and rectangles) contained in this figure are deleted and freed.
.TP
\fINOTE\fP : The figure is identified by its name.
.SH RETURN VALUE
1 => The figure has been deleted.
.TP
0 => The figure doesn't exist.
.SH ERRORS
none
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
rdsfig_list \(**Figure;
rdsrec_list \(**Rectangle;
rdsins_list \(**Instance;
int Result;
mbkenv();
rdsenv();
loadrdsparam();
Figure = addrdsfig ("core",sizeof ( UserStruct ) );
Instance = delrdsfig (Figure,"na2_y","and2",RDS_NOSYM,8,6);
Rectangle =
addrdsfigrec(RdsFigure,"Alu1",RDS_ALU1,2,4,12,1);
/\(**
destruction of the figure , its instance, its rectangle
\(**/
Result = \fBdelrdsfig\fP ( "core" );
if ( Result == 0 ) printf("Figure 'core' not found !\\n");
}
.ft R
.fi
.SH SEE ALSO
.BR librds,
.BR allocrdsfig
.so man1/alc_bug_report.1

View File

@ -0,0 +1,84 @@
.\" $Id: delrdsfigrec.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)delrdsfigrec.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
delrdsfigrec
.XE
.XS0 \n%
.ti 0.2i
delrdsfigrec
.XE0 \}
.TH DELRDSFIGREC 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
delrdsfigrec \- deletes a rectangle of a figure
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include"rdsnnn.h"
int delrdsfigrec( Figure, Rectangle )
rdsfig_list \(**Figure;
rdsrec_list \(**Rectangle;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIFigure\fP
Figure which contains the rectangle to delete.
.TP
\fIRectangle\fP
The rectangle to delete
.SH DESCRIPTION
The \fIdelrdsfigrec\fP function deletes a rectangle object (which is composed of the rdsrec_list structure and an eventually added structure) from a figure.
.SH RETURN VALUE
1 => The rectangle has been deleted.
.br
0 => The rectangle doesn't exist.
.SH ERRORS
None
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
rdsfig_list \(**Figure;
rdsrec_list \(**Rectangle;
int Result;
mbkenv();
rdsenv();
loadrdsparam();
Figure = addrdsfig ("core",sizeof ( UserStruct ) );
Rectangle =
addrdsfigrec(Figure,"Alu1",RDS_ALU1,2,4,12,1);
/\(**
deletes the rectangle of the figure
\(**/
Result = \fBdelrdsfigrec\fP ( Figure,Rectangle );
if ( Result == 0 ) printf("Rectangle not found !\\n");
}
.ft R
.fi
.SH SEE ALSO
.BR librds,
.BR allocrdsfigrec
.so man1/alc_bug_report.1

View File

@ -0,0 +1,86 @@
.\" $Id: delrdsins.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)delrdsins.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
delrdsins
.XE
.XS0 \n%
.ti 0.2i
delrdsins
.XE0 \}
.TH DELRDSINS 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
delrdsins \- deletes an instance of a figure
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rdsnnn.h"
int delrdsins( Figure, Name )
rdsfig_list \(**Figure;
char \(**Name;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIFigure\fP
figure which contains the instance to delete.
.TP
\fIName\fP
Name of the instance to delete in the figure 'Figure'.
.SH DESCRIPTION
Deletes an instance and objects contained in it. The instance is identified by its name in the figure which contains it. This instance is warrantied to be unique, because its name is an identifier at the given hierarchical level.
.SH RETURN VALUE
1 => the instance has been deleted.
.TP
0 => the instance doesn't exist.
.SH ERRORS
none
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
rdsfig_list \(**Figure;
rdsrec_list \(**Rectangle;
rdsins_list \(**Instance;
int Result;
mbkenv();
rdsenv();
loadrdsparam();
Figure = addrdsfig ("core",sizeof ( UserStruct ) );
Instance = addrdsins (Figure,"na2_y","and2",RDS_NOSYM,8,6);
Rectangle =
addrdsinsrec(Instance,"Alu1",RDS_ALU1,2,4,12,1);
/\(**
destruction of instance and its objects
\(**/
Result = \fBdelrdsins\fP ( Figure,"and2" );
if ( Result == 0 ) printf("Instance 'and2' not found !\\n");
}
.ft R
.fi
.SH SEE ALSO
.BR librds,
.BR allocrdsins
.so man1/alc_bug_report.1

View File

@ -0,0 +1,86 @@
.\" $Id: delrdsinsrec.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)delrdsinsrec.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
delrdsinsrec
.XE
.XS0 \n%
.ti 0.2i
delrdsinsrec
.XE0 \}
.TH DELRDSINSREC 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
delrdsinsrec \- deletes a rectangle of an instance
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include"rdsnnn.h"
int delrdsinsrec( Instance, Rectangle )
rdsins_list \(**Instance;
rdsrec_list \(**Rectangle;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIInstance\fP
Instance which contains the rectangle to delete.
.TP
\fIRectangle\fP
The rectangle to delete.
.SH DESCRIPTION
The \fIdelrdsinsrec\fP function deletes a rectangle of an RDS instance.
.SH RETURN VALUE
1 => The rectangle has been deleted.
.br
0 => The rectangle doesn't exist.
.SH ERRORS
None
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
rdsfig_list \(**Figure;
rdsrec_list \(**Rectangle;
rdsins_list \(**Instance;
int Result;
mbkenv();
rdsenv();
loadrdsparam();
Figure = addrdsfig ("core",sizeof ( UserStruct ) );
Instance = addrdsins (Figure,"na2_y","and2",RDS_NOSYM,8,6);
Rectangle =
addrdsinsrec(Instance,"Alu1",RDS_ALU1,2,4,12,1);
/\(**
destruction of the rectangle of the instance
\(**/
Result = \fBdelrdsinsrec\fP ( Instance,Rectangle );
if ( Result == 0 ) printf("Rectangle not found !\\n");
}
.ft R
.fi
.SH SEE ALSO
.BR librds,
.BR allocrdsinsrec
.so man1/alc_bug_report.1

View File

@ -0,0 +1,95 @@
.\" $Id: delrdsrecwindow.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)delrdsrecwindow.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
delrdsrecwindow
.XE
.XS0 \n%
.ti 0.2i
delrdsrecwindow
.XE0 \}
.TH DELRDSRECWINDOW 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
delrdsrecwindow \- deletes a rectangle from the windowing of rds structure.
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rwinnn.h"
void delrdsrecwindow( Rectangle, RdsWindow )
rdsrec_list \(**Rectangle;
rdswindow \(**RdsWindow;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIRectangle\fP
The rectangle to delete from the windowing.
.TP
\fIRdsWindow\fP
Pointer to the windowing of rds structure.
.SH DESCRIPTION
The \fIdelrdsrecwindow\fP function deletes a rectangle from the windowing of the rds structure. Some fields of the rectangle structure are modified :
.br
Field \'USER\' is set to NULL.
.br
Field \'FLAGS\' is modified (bits about the windowing - see librds : the field \'FLAGS\' of rdsrec_list structure).
.SH RETURN VALUE
nothing
.SH ERRORS
none
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rwinnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
void \(**POINTER;
} UserStruct;
main()
{
rdsfig_list \(**Figure;
rdsrec_list \(**Rectangle;
rdswindow \(**RdsWindow;
mbkenv();
rdsenv();
loadrdsparam();
Figure = addrdsfig( "core",sizeof ( UserStruct ) );
Rectangle =
addrdsfigrec(Figure,"Alu1",RDS_ALU1,2,4,5,1);
RdsWindow = allocrdswindow();
RdsWindow->XMIN = -200;
RdsWindow->YMIN = -200;
RdsWindow->XMAX = 200;
RdsWindow->YMAX = 200;
RdsWindow->DX = 4;
RdsWindow->DY = 4;
RdsWindow->SIDE = 100;
RdsWindow->SIZE = RdsWindow->DX \(** RdsWindow->DY ;
RdsWindow->WINTAB = allocrdswin( RdsWindow->SIZE );
addrdsrecwindow( Rectangle, RdsWindow );
. . .
/\(** \(**/ \fBdelrdsrecwindow\fP( Rectangle, RdsWindow );
. . .
}
.ft R
.fi
.SH SEE ALSO
.BR librwi,
.BR addrdsrecwindow
.so man1/alc_bug_report.1

View File

@ -0,0 +1,80 @@
.\" $Id: destroyrdswindow.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)destroyrdswindow.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
destroyrdswindow
.XE
.XS0 \n%
.ti 0.2i
destroyrdswindow
.XE0 \}
.TH DESTROYRDSWINDOW 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
destroyrdswindow \- destroys windowing of a figure
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rwinnn.h"
void destroyrdswindow( Figure, RdsWindow )
rdsfig_list \(**Figure;
rdswindow \(**RdsWindow;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIFigure\fP
The figure where has to be destroyed the windowing.
.TP
\fIRdsWindow\fP
Pointer to the head of windowing (rdswindow structure) to destroy.
.SH DESCRIPTION
The \fIdestroyrdswindow\fP function destroys the windowing applied to a figure and built with the \fIbuildrdswindow\fP function.
.SH RETURN VALUE
nothing
.SH ERRORS
none
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rfmnnn.h"
#include "rwinnn.h"
#include "rtlnnn.h"
main()
{
phfig_list \(**MbkFigure;
rdsfig_list \(**RdsFigure;
rdswindow \(**Window;
mbkenv();
rdsenv();
loadrdsparam();
MbkFigure = getphfig("na2_y",'A');
RdsFigure = figmbkrds(MbkFigure,0,0);
Window = buildrdswindow ( RdsFigure );
. . .
/\(** \(**/ \fBdestroyrdswindow\fP ( RdsFigure, Window );
. . .
}
.ft R
.fi
.SH SEE ALSO
.BR librwi,
.BR buildrdswindow,
.BR allocrdswindow,
.BR viewrdswindow
.so man1/alc_bug_report.1

View File

@ -0,0 +1,92 @@
.\" $Id: figmbkrds.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)figmbkrds.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
figmbkrds
.XE
.XS0 \n%
.ti 0.2i
figmbkrds
.XE0 \}
.TH FIGMBKRDS 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
figmbkrds \- converts MBK figure to RDS figure
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rfmnnn.h"
rdsfig_list \(**figmbkrds( FigureMbk, Size, Lynx )
phfig_list \(**FigureMbk;
unsigned int Size;
char Lynx;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIFigureMbk\fP
Figure Mbk to convert to RDS figure.
.TP
\fISize\fP
Size of the user structure (if it exists) added to the rdsrec_list structure. If the user structure doesn't exist, the parameter 'Size' has to be set to 0L.
.TP
\fILynx\fP
Flag used for the segment conversion. If the parameter Lynx is set to 0 then this is the
normal conversion mode. If the parameter Lynx is set to 1 then the rds structure generated permits to extract equipotentials rectangles.
.SH DESCRIPTION
The \fIfigmbkrds\fP function creates a RDS figure with a figure from MBK structure \fIphfig_list\fP which is converted to RDS format.
.SH RETURN VALUE
The pointer to the newly created RDS figure.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rfmnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
phfig_list \(**MbkFigure;
rdsfig_list \(**RdsFigure;
mbkenv();
rdsenv();
loadrdsparam();
MbkFigure = getphfig("na2_y",'A');
RdsFigure = \fBfigmbkrds\fP (MbkFigure,sizeof(UserStruct),0);
viewrdsfig ( RdsFigure );
. . .
}
.ft R
.fi
.SH SEE ALSO
.BR librfm,
.BR viewrfmfig,
.BR loadrdsparam
.so man1/alc_bug_report.1

View File

@ -0,0 +1,69 @@
.\" $Id: freerdsfig.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)freerdsfig.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
freerdsfig
.XE
.XS0 \n%
.ti 0.2i
freerdsfig
.XE0 \}
.TH FREERDSFIG 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
freerdsfig \- frees memory associated to a figure
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rdsnnn.h"
void freerdsfig( Figure )
rdsfig_list \(**Figure;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIFigure\fP
it's the pointer of the figure to be deleted.
.SH DESCRIPTION
This function free the memory associated to the figure. Memory place used by the Pointers of the rdsfig_list structure is not free so the user has to free these pointers before calling the freerdsfig function.
.SH RETURN VALUE
nothing
.SH ERRORS
none
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rtlnnn.h"
main()
{
rdsfig_list \(**Figure;
mbkenv();
rdsenv();
loadrdsparam();
Figure = allocrdsfig ();
Figure->NAME = rdsalloc(strlen("core")+1,RDS_ALLOC_BLOCK);
strcpy(Figure->NAME,"core");
...
rdsfree (Figure->NAME,RDS_ALLOC_BLOCK);
/\(** \(**/ \fBfreerdsfig\fP ( Figure,RDS_ALLOC_BLOCK);
}
.ft R
.fi
.SH SEE ALSO
.BR librds,
.BR allocrdsfig
.so man1/alc_bug_report.1

View File

@ -0,0 +1,69 @@
.\" $Id: freerdsins.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)freerdsins.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
freerdsins
.XE
.XS0 \n%
.ti 0.2i
freerdsins
.XE0 \}
.TH FREERDSINS 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
freerdsins \- frees memory associated to an instance
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rdsnnn.h"
void freerdsins ( Instance )
rdsins_list \(**Instance;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIInstance\fP
Pointer of the instance to free
.SH DESCRIPTION
This function frees the memory associated to the instance. Memory place used by the Pointers of the rdsins_list structure is not free so the user has to free these pointers before calling the freerdsins() function.
.SH RETURN VALUE
nothing
.SH ERRORS
none
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rtlnnn.h"
main()
{
rdsins_list \(**Instance;
mbkenv();
rdsenv();
loadrdsparam();
Instance = allocrdsins ();
Instance->NAME = rdsalloc(strlen("and1")+1,RDS_ALLOC_BLOCK);
strcpy(Instance->NAME,"and1");
...
rdsfree (Instance->NAME,RDS_ALLOC_BLOCK);
/\(** \(**/ \fBfreerdsins\fP ( Instance,RDS_ALLOC_BLOCK);
}
.ft R
.fi
.SH SEE ALSO
.BR librds,
.BR allocrdsins
.so man1/alc_bug_report.1

View File

@ -0,0 +1,76 @@
.\" $Id: freerdsrec.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)freerdsrec.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
freerdsrec
.XE
.XS0 \n%
.ti 0.2i
freerdsrec
.XE0 \}
.TH FREERDSREC 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
freerdsrec \- free memory associated to a rectangle
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rdsnnn.h"
void freerdsrec( Rectangle, Size )
rdsrec_list \(**Rectangle;
unsigned int Size;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIRectangle\fP
Pointer of the rectangle structure to free.
.TP
\fISize\fP
Size of the structure added (if it exists) to rdsrec_list structure.
.SH DESCRIPTION
This function deletes the memory associated to the rectangle. Memory used is both memory of rdsrec_list structure and memory of the structure added by the user. If the user structure doesn't exist, the parameter \'Size\' must be to 0L. Memory place used by the Pointers of the rdsrec_list structure (and the added structure) is not deleted so the user has to free these pointers before calling the freerdsrec() function.
.SH RETURN VALUE
nothing
.SH ERRORS
none
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
rdsrec_list \(**Rectangle;
mbkenv();
rdsenv();
loadrdsparam();
Rectangle = allocrdsrec ( sizeof ( UserStruct ) );
...
/\(** \(**/ \fBfreerdsrec\fP ( Rectangle, sizeof ( UserStruct ) );
}
.ft R
.fi
.SH SEE ALSO
.BR librds,
.BR freerdsrec,
.BR rdsfree
.so man1/alc_bug_report.1

View File

@ -0,0 +1,95 @@
.\" $Id: getrdsmodellist.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)getrdsmodellist.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
getrdsmodellist
.XE
.XS0 \n%
.ti 0.2i
getrdsmodellist
.XE0 \}
.TH GETRDSMODELLIST 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
getrdsmodellist \- gets model list of the instances of a figure
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rutnnn.h"
ptype_list \(**getrdsmodellist( Figure )
rdsfig_list \(**Figure;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIFigure\fP
The figure which contains the models to extract.
.SH DESCRIPTION
The \fIgetrdsmodellist\fP function gets list of instance's models of the figure \'Figure\'. The data structure returned "ptype_list" is defined ( in MBK library mutnnn.h ) as follows :
.RS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
typedef struct ptype
{
struct ptype \(**NEXT; /\(** next pointer \(**/
void \(**DATA; /\(** generic pointer \(**/
long TYPE; /\(** type \(**/
} ptype_list;
.ft R
.fi
.RE
.PP
The field \'DATA\' of ptype_list structure contains the pointer to the rdsfig_list structure.
.SH RETURN VALUE
The getrdsmodellist function returns a pointer which is head of pointer's list of the instances's models of the figure. If the list is empty, NULL pointer is returned.
.SH ERRORS
none
.SH EXAMPLE :
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rutnnn.h"
#include "rtlnnn.h"
main()
{
phfig_list \(**MbkFigure;
rdsfig_list \(**RdsFigure;
ptype_list \(**FigureList;
ptype_list \(**ScanFigureList;
mbkenv();
rdsenv();
loadrdsparam();
MbkFigure = getphfig("core",'A');
RdsFigure = figmbkrds(MbkFigure,0,0);
FigureList = \fBgetrdsmodellist\fP( RdsFigure );
for (
ScanFigureList = FigureList ;
ScanFigureList != (ptype_list \(**) NULL ;
ScanFigureList = ScanFigureList->NEXT
)
viewrdsfig ( (rdsfig_list \(**) ScanFigureList->DATA );
. . .
}
.ft R
.fi
.SH SEE ALSO
.BR librut,
.BR Mut library
.so man1/alc_bug_report.1

View File

@ -0,0 +1,111 @@
.\" $Id: insconmbkrds.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)insconmbkrds.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
insconmbkrds
.XE
.XS0 \n%
.ti 0.2i
insconmbkrds
.XE0 \}
.TH INSCONMBKRDS 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
insconmbkrds \- adds in RDS instance all the connectors of MBK instance
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rfmnnn.h"
rdsrec_list \(**insconmbkrds( InstanceMbk, ModelMbk, InstanceRds )
phins_list \(**InstanceMbk;
phfig_list \(**ModelMbk;
rdsins_list \(**InstanceRds;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIInstanceMbk\fP
The MBK instance which contains the connectors to convert.
.TP
\fIModelMbk\fP
Pointer to the model of the MBK instance.
.TP
\fIInstanceRds\fP
The instance which has to receive converted connectors from MBK to RDS format.
.SH DESCRIPTION
This function adds in the RDS instance all connectors from the MBK instance converted to RDS format. All newly created connectors are chained each other (circulary list) using the USER field of the rdsrec_list structure (see librds).
.SH RETURN VALUE
Pointer to the head of list of the added rectangles to the RDS instance.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rfmnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
phfig_list \(**MbkFigure;
phins_list \(**MbkInstance;
phfig_list \(**MbkModelInstance;
rdsfig_list \(**RdsFigure;
rdsins_list \(**RdsInstance;
rdsrec_list \(**RdsConnectorList;
mbkenv();
rdsenv();
loadrdsparam();
/\(** creates MbkFigure Named "core" \(**/
MbkFigure = addphfig("core");
/\(** creates RdsFigure named "core_2" \(**/
RdsFigure = addrdsfig("core_2",sizeof(UserStruct));
/\(** adds Mbk instance "n1_y" to MbkFigure named "core" \(**/
MbkInstance = addphins(MbkFigure,"n1_y","inv_1",NOSYM,4,9);
/\(** gets Model of instance n1_y \(**/
MbkModelInstance = getphfig("n1_y",'A');
/\(** creates Rds instance named "block_1" added to RdsFigure \(**/
RdsInstance =
addrdsins(RdsFigure,"block","block_1",RDS_NOSYM,8,6);
/\(**
adds connectors of "inv_1" instance Mbk in Rds instance named
"block_1"
\(**/
RdsConnectorList = \fBinsconmbkrds\fP ( MbkInstance,
MbkModelInstance,
RdsInstance );
viewrfmrec ( RdsConnectorList );
}
.ft R
.fi
.SH SEE ALSO
.BR librfm
.BR librds,
.BR viewrfmrec,
.BR loadrdsparam
.so man1/alc_bug_report.1

View File

@ -0,0 +1,117 @@
.\" $Id: insmbkrds.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)insmbkrds.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
insmbkrds
.XE
.XS0 \n%
.ti 0.2i
insmbkrds
.XE0 \}
.TH INSMBKRDS 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
insmbkrds \- converts MBK figure to RDS figure
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rfmnnn.h"
rdsins_list \(**insmbkrds( FigureRds, InstanceMbk, Mode, Lynx )
rdsfig_list \(**FigureRds;
phins_list \(**InstanceMbk;
char Mode;
char Lynx;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIFigureRds\fP
The Rds figure which has to receive the RDS instance issue to the MBK instance conversion.
.TP
\fIInstanceMbk\fP
MBK instance which has to be converted and added to the RDS figure.
.TP
\fIMode\fP
This field can take three values :
.RS
.PP
\'A\' : All the cell is loaded in ram.
.PP
\'P\' : Only information concerning the model interface is present, that means connector
s and the abutment box.
.PP
\'C\' : Finishes to fill an already loaded figure in \'P\' mode, in order to have it all in memory. After this, the conversion is applied.
.PP
\fINote\fP : The loading mode here is the \fBMBK\fP mode.
.RE
.TP
\fILynx\fP
Flag used for the segment conversion. If the parameter Lynx is set to 0 then thi
s is the normal conversion mode. If the parameter Lynx is set to 1 then the rds
structure generated permits to extract equipotentials rectangles.
.SH DESCRIPTION
The \fIinsmbkrds\fP function creates in the RDS figure the RDS instance issue to the convertion of the MBK instance to RDS format. If the parameter \'Mode\' is set to \'A\' then all the instance is loaded, else if parameter \'Mode\' is set to \'P\' then connectors and abutment box and through routes are loaded (for more information, see getphfig and loadphfig MBK functions).
.SH RETURN VALUE
A pointer to the newly created instance is returned.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rfmnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
phfig_list \(**MbkFigure;
phins_list \(**MbkInstance;
rdsfig_list \(**RdsFigure;
rdsins_list \(**RdsInstance;
mbkenv();
rdsenv();
loadrdsparam();
/\(** create MbkFigure Named "core" \(**/
MbkFigure = addphfig("core");
/\(** add Mbk instance "n1_y" to MbkFigure named "core" \(**/
MbkInstance = addphins(MbkFigure,"n1_y","inv_1",NOSYM,4,9);
/\(** create RdsFigure named "core_2" \(**/
RdsFigure = addrdsfig("core_2",sizeof(UserStruct));
/\(** create RdsInstance with MbkInstance \(**/
RdsInstance = \fBinsmbkrds\fP ( RdsFigure, MbkInstance, 'A', 0 );
viewrdsins ( RdsInstance );
. . .
}
.ft R
.fi
.SH SEE ALSO
.BR librfm,
.BR librds,
.BR viewrfmins,
.BR loadrdsparam
.so man1/alc_bug_report.1

View File

@ -0,0 +1,111 @@
.\" $Id: insrefmbkrds.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)insrefmbkrds.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
insrefmbkrds
.XE
.XS0 \n%
.ti 0.2i
insrefmbkrds
.XE0 \}
.TH INSREFMBKRDS 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
insrefmbkrds \- adds in RDS instance all the references of MBK instance.
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rfmnnn.h"
rdsrec_list \(**insrefmbkrds( InstanceMbk, ModelMbk, InstanceRds )
phins_list \(**InstanceMbk;
phfig_list \(**ModelMbk;
rdsins_list \(**InstanceRds;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIInstanceMbk\fP
MBK instance which contains references to treat.
.TP
\fIModelMbk\fP
Pointer to the model of the MBK instance.
.TP
\fIInstanceRds\fP
RDS Instance which has to receive converted references from MBK to RDS format.
.SH DESCRIPTION
The \fIinsrefmbkrds\fP function adds in the RDS instance all references of the MBK instance converted to RDS format. All newly created references are chained each other (circulary list) using the USER field of the rdsrec_list structure.
.SH RETURN VALUE
Pointer to the head of list of the added rectangles to the RDS instance.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rfmnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
phfig_list \(**MbkFigure;
phins_list \(**MbkInstance;
phfig_list \(**MbkModelInstance;
rdsfig_list \(**RdsFigure;
rdsins_list \(**RdsInstance;
rdsrec_list \(**RdsReferenceList;
mbkenv();
rdsenv();
loadrdsparam();
/\(** creates MbkFigure Named "core" \(**/
MbkFigure = addphfig("core");
/\(** creates RdsFigure named "core_2" \(**/
RdsFigure = addrdsfig("core_2",sizeof(UserStruct));
/\(** adds Mbk instance "n1_y" to MbkFigure named "core" \(**/
MbkInstance = addphins(MbkFigure,"n1_y","inv_1",NOSYM,4,9);
/\(** Gets Model of instance n1_y \(**/
MbkModelInstance = getphfig("n1_y",'A');
/\(** creates Rds instance named "block_1" added to RdsFigure \(**/
RdsInstance =
addrdsins(RdsFigure,"block","block_1",RDS_NOSYM,8,6);
/\(**
adds reference of "inv_1" instance Mbk in Rds instance
named "block_1"
\(**/
RdsReferenceList = \fBinsrefmbkrds\fP ( MbkInstance,
MbkModelInstance,
RdsInstance );
viewrfmrec ( RdsReferenceList );
}
.ft R
.fi
.SH SEE ALSO
.BR librfm,
.BR librds,
.BR viewrfmrec,
.BR loadrdsparam
.so man1/alc_bug_report.1

View File

@ -0,0 +1,122 @@
.\" $Id: inssegmbkrds.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)inssegmbkrds.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
inssegmbkrds
.XE
.XS0 \n%
.ti 0.2i
inssegmbkrds
.XE0 \}
.TH INSSEGMBKRDS 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
inssegmbkrds \- adds in RDS instance all the segments of MBK instance
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rdsnnn.h"
rdsrec_list \(**inssegmbkrds( InstanceMbk, ModelMbk, InstanceRds, Lynx )
phins_list \(**InstanceMbk;
phfig_list \(**ModelMbk;
rdsins_list \(**InstanceRds;
char Lynx;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIInstanceMbk\fP
The MBK instance which contains the segments to convert.
.TP
\fIModelMbk\fP
Pointer to the model of the MBK instance.
.TP
\fIInstanceRds\fP
The instance which has to receive converted segments from MBK to RDS format.
.TP
\fILynx\fP
Flag used for the segment conversion. If the parameter Lynx is set to 0 then thi
s is the normal conversion mode. If the parameter Lynx is set to 1 then the rds structure generated permits to extract equipotentials rectangles.
.SH DESCRIPTION
The \fIinssegmbkrds\fP function adds in the RDS instance all segments of the MBK instance converted to RDS format. All newly created segments are chained each other (circulary list) using the USER field of the rdsrec_list structure.
.SH RETURN VALUE
Pointer to the head of list of the added rectangles to the RDS instance.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rfmnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
phfig_list \(**MbkFigure;
phins_list \(**MbkInstance;
phfig_list \(**MbkModelInstance;
rdsfig_list \(**RdsFigure;
rdsins_list \(**RdsInstance;
rdsrec_list \(**RdsSegmentList;
rdsrec_list \(**ScanSegment;
mbkenv();
rdsenv();
loadrdsparam();
/\(** creates MbkFigure Named "core" \(**/
MbkFigure = addphfig("core");
/\(** creates RdsFigure named "core_2" \(**/
RdsFigure = addrdsfig("core_2",sizeof(UserStruct));
/\(** adds Mbk instance "n1_y" to MbkFigure named "core" \(**/
MbkInstance = addphins(MbkFigure,"n1_y","inv_1",NOSYM,4,9);
/\(** Gets Model of instance n1_y \(**/
MbkModelInstance = getphfig("n1_y",'A');
/\(** creates Rds instance named "block_1" added to RdsFigure \(**/
RdsInstance =
addrdsins(RdsFigure,"block","block_1",RDS_NOSYM,8,6);
/\(**
adds segments of "inv_1" instance Mbk in Rds instance
named "block_1"
\(**/
RdsSegmentList = \fBinssegmbkrds\fP ( MbkInstance,
MbkModelInstance,
RdsInstance,0 );
viewrdsrec ( RdsSegmentList );
for ( ScanSegment = RdsSegmentList->USER ;
ScanSegment != RdsSegmentList ;
ScanSegment = ScanSegment->USER )
{
viewrdsrec ( (rdsrec_list \(**) ScanSegment );
}
}
.ft R
.fi
.SH SEE ALSO
.BR librfm,
.BR librds,
.BR loadrdsparam
.so man1/alc_bug_report.1

View File

@ -0,0 +1,80 @@
.\" $Id: instanceface.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)instanceface.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
instanceface
.XE
.XS1 \n%
.ti 0.2i
instanceface
.XE1 \}
.TH INSTANCEFACE 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL UTILITY FUNCTIONS"
.SH NAME
instanceface \- returns the face of a connector in a placed instance
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mph403.h"
void \(**instanceface(modelface, symmetry)
char modelface, symmetry;
.ft R
.fi
.SH PARAMETERS
.TP 20
\fImodelface\fP
Face of a connector in its figure.
.TP 20
\fIsymmetry\fP
Geometrical operation applied to the instanciation of the figure.
.SH DESCRIPTION
\fBinstanceface\fP determines the orientation of a connector in an instance of
its model.
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mph403.h"
char channelFace(channelDir, i, c)
char channelDir;
phins_list *i;
phcon_list *c;
{
if (channelDir == VER)
switch (instanceface(c->ORIENT, i->TRANSF)) {
case EAST :
return WEST;
case WEST :
return EAST;
default :
return instanceface(c->ORIENT, i->TRANSF);
}
else
switch (instanceface(c->ORIENT, i->TRANSF)) {
case NORTH :
return SOUTH;
case SOUTH :
return NORTH;
default :
return instanceface(c->ORIENT, i->TRANSF);
}
}
.ft R
.fi
.SH SEE ALSO
.BR mbk (1),
.BR phcon (3),
.BR phfig (3),
.BR phins (3).
.so man1/alc_bug_report.1

View File

@ -0,0 +1,117 @@
.\" $Id: insviambkrds.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)insviambkrds.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
insviambkrds
.XE
.XS0 \n%
.ti 0.2i
insviambkrds
.XE0 \}
.TH INSVIAMBKRDS 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
insviambkrds \- adds to RDS instance all the contacts from MBK instance
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rfmnnn.h"
rdsrec_list \(**insviambkrds( InstanceMbk, ModelMbk, InstanceRds )
phins_list \(**InstanceMbk;
phfig_list \(**ModelMbk;
rdsins_list \(**InstanceRds;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIInstanceMbk\fP
The MBK instance which contains the contacts to convert.
.TP
\fIModelMbk\fP
Pointer to the model of the MBK instance.
.TP
\fIInstanceRds\fP
The instance which has to receive converted segments from MBK to RDS format.
.SH DESCRIPTION
This function adds in the RDS instance all the contacts of the MBK instance converted to RDS format. All newly created segments are chained each other (circulary list) using the USER field of the rdsrec_list structure.
.SH RETURN VALUE
Pointer to the head of list of the added rectangles to the RDS instance.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rfmnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
phfig_list \(**MbkFigure;
phins_list \(**MbkInstance;
phfig_list \(**MbkModelInstance;
rdsfig_list \(**RdsFigure;
rdsins_list \(**RdsInstance;
rdsrec_list \(**RdsViaList;
rdsrec_list \(**ScanVia;
mbkenv();
rdsenv();
loadrdsparam();
/\(** creates MbkFigure Named "core" \(**/
MbkFigure = addphfig("core");
/\(** creates RdsFigure named "core_2" \(**/
RdsFigure = addrdsfig("core_2",sizeof(UserStruct));
/\(** adds Mbk instance "n1_y" to MbkFigure named "core" \(**/
MbkInstance = addphins(MbkFigure,"n1_y","inv_1",NOSYM,4,9);
/\(** Gets Model of instance n1_y \(**/
MbkModelInstance = getphfig("n1_y",'A');
/\(** creates Rds instance named "block_1" added to RdsFigure \(**/
RdsInstance =
addrdsins(RdsFigure,"block","block_1",RDS_NOSYM,8,6);
/\(**
adds contacts of "inv_1" instance Mbk in Rds instance
named "block_1"
\(**/
RdsViaList = \fBinsviambkrds\fP ( MbkInstance,
MbkModelInstance,
RdsInstance);
viewrdsrec ( RdsViaList );
for ( ScanVia = RdsViaList->USER ;
ScanVia != RdsViaList ;
ScanVia = ScanVia->USER )
{
viewrdsrec ( (rdsrec_list \(**) ScanVia );
}
}
.ft R
.fi
.SH SEE ALSO
.BR librfm,
.BR librds,
.BR loadrdsparam
.so man1/alc_bug_report.1

View File

@ -0,0 +1,90 @@
.\" $Id: loadrdsfig.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)loadrdsfig.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
loadrdsfig
.XE
.XS0 \n%
.ti 0.2i
loadrdsfig
.XE0 \}
.TH LOADRDSFIG 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
loadrdsfig \- give back a pointer to a figure
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rtlnnn.h"
void loadrdsfig( Figure, Name, Mode )
rdsfig_list \(**Figure;
char \(**Name;
char Mode;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIFigure\fP
Pointer to the RDS Figure created.
.TP
\fIName\fP
Name of the model of the figure.
.TP
\fIMODE\fP :
Caracter indicating the status of the figure in memory.
.PP
This field can take three values :
.RS
.TP
\fI\'A\'\fP
All the cell is loaded in ram (The figure, its rectangles and its instances empty).
.TP
\fI\'P\'\fP
Only information concerning the model interface is present, that means : connectors, the abutment box and through routes of the figure.
.TP
\fI\'V\'\fP
Visualization mode : all is loaded in RAM : The figure, its rectangles, its instances and the rectangles of its instances.
.SH DESCRIPTION
The \fIloadrdsfig\fP function loads in memory a cell model from disk. The loadrdsfig function in fact performs a call to a parser ,chosen by the RDS_IN environment variable.
.SH RETURN VALUE
The pointer to the created figure. (it's the parameter \'Figure\' of the loadrdsfig function).
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rtl103.h: Unknown rds input format"
.ft R
.RS
The input format defined by the unix environment variable RDS_IN is not supported by the driver (supported formats are "cif" and "gds").
.PP
Other errors can appear because the loadrdsfig function calls cif and gds parsers.
.SH EXAMPLE
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rtlnnn.h"
main()
{
rdsfig_list \(**RdsFigure;
mbkenv();
rdsenv();
loadrdsparam();
/\(** \(**/ \fBloadrdsfig\fP (RdsFigure, "core", 'A');
viewrdsfig( Figure );
}
.ft R
.fi
.SH SEE ALSO
.BR librtl,
.BR getrdsfig,
.BR rdsenv,
.BR RDS_IN
.so man1/alc_bug_report.1

View File

@ -0,0 +1,78 @@
.\" $Id: loadrdsparam.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)loadrdsparam.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
loadrdsparam
.XE
.XS0 \n%
.ti 0.2i
loadrdsparam
.XE0 \}
.TH LOADRDSPARAM 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
loadrdsparam \- load parameters from symbolic to real conversion.
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
void loadrdsparam()
.ft R
.fi
.SH PARAMETER
none
.SH DESCRIPTION
The \fIloadrdsparam\fP function loads parameters contained in a file with extention ".rds" which is the translation file from symbolic to real. Some of these files are contained in the path "/labo/etc".See them for more information.
.br
When programming, this function must be called before using the functions of the RFM library ( MBK to RDS convertion functions).
.br
The name of the file "nnn.rds" is set with the environment variable of unix system "RDS_TECHNO_NAME". For more information about it, see the RTL library.
Before calling the loadrdsparam function, environment variables must be set by using the function \fIrdsenv\fP.
.SH RETURN VALUE
none
.SH ERRORS
Errors can appear during loading of the "file.rds". All error messages have the header "Rpr203:" and an explanation of the error.
.br
example :
.br
"Rpr203: Some tables missing"
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rtlnnn.h"
#include "rprnnn.h"
#include "rfmnnn.h"
main()
{
rdsfig_list *RdsFigure;
phfig_list *MbkFigure;
mbkenv();
rdsenv();
/* */ \fBloadrdsparam\fP ();
MbkFigure = getphfig ( "na2_y", 'A' );
RdsFigure = figmbkrds ( MbkFigure, 0, 1);
viewrfmfig ( MbkFigure, RdsFigure );
. . .
}
.ft R
.fi
.SH SEE ALSO
.BR librpr,
.BR librtl,
.BR rdsenv,
.BR mbkenv
.so man1/alc_bug_report.1

View File

@ -0,0 +1,93 @@
.\" $Id: modelmbkrds.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)modelmbkrds.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
modelmbkrds
.XE
.XS0 \n%
.ti 0.2i
modelmbkrds
.XE0 \}
.TH MODELMBKRDS 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
modelmbkrds \- gets all models of instances contained in a figure.
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rfmnnn.h"
rdsfig_list \(**modelmbkrds( Figure, Lynx )
rdsfig_list \(**Figure;
char Lynx;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIFigure\fP :
The figure which has to be treated.
.TP
\fILynx\fP :
Flag used for the segment conversion. If the parameter Lynx is set to 0 then this is the normal conversion mode. If the parameter Lynx is set to 1 then the rds structure generated permits to extract equipotentials rectangles.
.SH DESCRIPTION
The \fImodelmbkrds\fP function gets all models of instances of the RDS figure and chains them to the head of figures's list. For each newly created figure, the function is applied recursively. So the function flats all models contained in the figure named \'Figure\'.
.SH RETURN VALUE
Pointer to the head of the list of figures.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired
.RE
.PP
Other errors can be generated by the getphfig function called in the modelmbkrds function (see getphfig).
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rfmnnn.h"
#include "rtlnnn.h"
main()
{
phfig_list \(**MbkFigure;
rdsfig_list \(**RdsFigure;
rdsfig_list \(**RdsModelList;
rdsfig_list \(**ScanRdsFigure;
mbkenv();
rdsenv();
loadrdsparam();
MbkFigure = getphfig("core",'A');
RdsFigure = figmbkrds(MbkFigure,0,1);
RdsModelList = \fBmodelmbkrds\fP (RdsFigure,1);
for ( ScanRdsFigure = RdsModelList ;
ScanRdsFigure != NULL ;
ScanRdsFigure = ScanRdsFigure->NEXT )
{
viewrfmfig ( ScanRdsFigure );
}
}
.ft R
.fi
.SH SEE ALSO
.BR librfm,
.BR viewrfmfig,
.BR getphfig,
.BR loadrdsparam
.so man1/alc_bug_report.1

View File

@ -0,0 +1,79 @@
.\" $Id: rdsalloc.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)rdsalloc.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
rdsalloc
.XE
.XS0 \n%
.ti 0.2i
rdsalloc
.XE0 \}
.TH RDSALLOC 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
rdsalloc \- memory allocation function
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rdsnnn.h"
char \(**rdsalloc( Size, Heap )
unsigned int Size;
char Heap;
.ft R
.fi
.SH PARAMETER
.TP 20
\fISize\fP
memory size to allocate
.TP
\fIHeap\fP
takes the values RDS_ALLOC_BLOCK or RDS_ALLOC_HEAP (two defined constants).
.SH DESCRIPTION
The \fIrdsalloc\fP function can do memory allocation by block or by heap. If the user wants to allocate by block, he sets the parameter Heap to the constant RDS_ALLOC_BLOCK else, he wants to allocate by heap so the parameter Heap is set to RDS_ALLOC_HEAP.
If rdsalloc is used with the constant RDS_ALLOC_BLOCK then rdsalloc is used as standard language C function malloc().
If the user allocates by heap then :
At the first allocation of the block of \fIsize\fP the parameter \'Size\', a heap of size multiple of the block Size is allocated. When another allocation of the same size is done then if the the heap isn't full then a pointer (of \fIsize\fP=\'Size\') is returned else a new heap is allocated and a pointer returned. Like this, the user does really one allocation (he has many pointers) to minimize fragmentation. Heap allocation is usefull if the user has to allocate many pointers of the same size (ex: rdsrec_list structure).
.TP
Note: Memory place allocated is set to NULL.
.SH RETURN VALUE
pointer to the allocated memory is returned.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired.
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rdsnnn.h"
main()
{
rdsrec_list \(**Rectangle;
rdsfig_list \(**Figure;
Rectangle =
(rdsrec_list \(**) \fBrdsalloc\fP (sizeof(rdsrec_list \(**),RDS_ALLOC_HEAP);
Figure =
(rdsfig_list \(**) \fBrdsalloc\fP (sizeof(rdsfig_list \(**),RDS_ALLOC_BLOCK);
}
.ft R
.fi
.SH SEE ALSO
.BR librds,
.BR rdsfree
.so man1/alc_bug_report.1

View File

@ -0,0 +1,73 @@
.\" $Id: rdsenv.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)rdsenv.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
rdsenv
.XE
.XS0 \n%
.ti 0.2i
rdsenv
.XE0 \}
.TH RDSENV 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
rdsenv \- set user preference
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rtlnnn.h"
void rdsenv()
.ft R
.fi
.SH PARAMETER
none
.SH DESCRIPTION
The \fIrdsenv\fP function sets the user preferences through unix environment variables. if all the variables are not defined, default values are used.
.TP
\fIRDS_TECHNO_NAME\fP
Path to the RDS technology file. The default value is "/labo/etc/cmos.rds".
.TP
\fIRDS_IN\fP
Defines the physical input file format demanded by the user. The two possible formats are "cif" and "gds". By default, its value is set to "gds".
.TP
\fIRDS_OUT\fP
Defines the physical output file format demanded by the user. The two possible formats are "cif" and "gds". By default, its value is set to "gds".
.SH RETURN VALUE
none
.SH ERRORS
nothing
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rtlnnn.h"
main()
{
rdsfig_list \(**RdsFigure;
mbkenv();
/\(** \(**/ \fBrdsenv\fP ();
loadrdsparam();
loadrdsfig(RdsFigure, "core", 'A');
}
.ft R
.fi
.SH SEE ALSO
.BR librtl,
.BR loadrdsfig,
.BR saverdsfig,
.BR RDS_IN,
.BR RDS_OUT,
.BR RDS_TECHNO_NAME
.so man1/alc_bug_report.1

View File

@ -0,0 +1,75 @@
.\" $Id: rdsfree.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)rdsfree.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
rdsfree
.XE
.XS0 \n%
.ti 0.2i
rdsfree
.XE0 \}
.TH RDSFREE 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
rdsfree \- free memory place
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rdsnnn.h"
void rdsfree( Pointer, Size )
char \(**Pointer;
unsigned int Size;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIPointer\fP
pointer to the memory to free.
.TP
\fISize\fP
Size of the memory to free.
.SH DESCRIPTION
The \fIrdsfree\fP function deletes memory of \fIsize\fP=\'Size\' allocated with rdsalloc function. If the parameter Size is set to ZERO (or RDS_ALLOC_BLOCK) then the memory is deleted by BLOCK else the memory is deleted by HEAP.
.PP
\fINote\fP : A memory allocated by BLOCK (resp. by HEAP) must be deleted by BLOCK (resp. by HEAP).
.SH RETURN VALUE
nothing
.SH ERRORS
none
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rdsnnn.h"
main()
{
rdsrec_list \(**Rectangle;
rdsfig_list \(**Figure;
Figure = allocrdsfig ();
Rectangle = allocrdsrec ();
Rectangle->X = 20;
Rectangle->Y = 20;
Rectangle->DX = 48;
Rectangle->DY = 8;
...
/\(** \(**/ \fBrdsfree\fP ( Rectangle, sizeof (rdsrec_list));
/\(** deletes a figure allocated by block \(**/
/\(** \(**/ \fBrdsfree\fP ( Figure , RDS_ALLOC_BLOCK);
}
.ft R
.fi
.SH SEE ALSO
.BR librds,
.BR rdsalloc
.so man1/alc_bug_report.1

View File

@ -0,0 +1,88 @@
.\" $Id: refmbkrds.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)refmbkrds.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
refmbkrds
.XE
.XS0 \n%
.ti 0.2i
refmbkrds
.XE0 \}
.TH REFMBKRDS 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
refmbkrds \- adds to RDS figure a references from a MBK figure
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rfmnnn.h"
rdsrec_list \(**refmbkrds( Figure, Reference )
rdsfig_list \(**Figure;
phref_list \(**Reference;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIFigure\fP
The RDS figure which has to receive the reference to convert.
.TP
\fIReference\fP
MBK reference to convert to RDS rectangle.
.SH DESCRIPTION
The \fIrefmbkrds\fP function creates a RDS reference with a MBK reference. The reference is attached to the RDS figure in parameter of the refmbkrds function.
.SH RETURN VALUE
Pointer to the newly created RDS reference.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rfmnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
phfig_list \(**MbkFigure;
rdsfig_list \(**RdsFigure;
rdsrec_list \(**Ref;
mbkenv();
rdsenv();
loadrdsparam();
RdsFigure = addrdsfig ("core",sizeof ( UserStruct ) );
MbkFigure->PHREF = addphref ( MbkFigure,"ref_con", "ref_1", 9, 15);
Ref = \fBrefmbkrds\fP (RdsFigure, MbkFigure->PHREF);
viewrdsrec ( Ref );
}
.ft R
.fi
.SH SEE ALSO
.BR librfm,
.BR viewrfmref,
.BR loadrdsparam
.so man1/alc_bug_report.1

View File

@ -0,0 +1,79 @@
.\" $Id: roundrdsrec.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)roundrdsrec.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
roundrdsrec
.XE
.XS0 \n%
.ti 0.2i
roundrdsrec
.XE0 \}
.TH ROUNDRDSREC 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
roundrdsrec \- adjusts a rectangle to lambda grid step
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rfmnnn.h"
void roundrdsrec( Rectangle )
rdsrec_list \(**Rectangle;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIRectangle\fP
RDS rectangle to treat.
.SH DESCRIPTION
the \fIroundrdsrec\fP function adjusts (in lambda) to lower grid step for rectangle extremity which has coordinates (X,Y), adjusts to upper grid step for rectangle extremity which has coordinates (X+DX,Y+DY).
.SH RETURN VALUE
nothing
.SH ERRORS
none
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rfmnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
rdsfig_list \(**RdsFigure;
rdsrec_list \(**Rectangle;
mbkenv();
rdsenv();
loadrdsparam();
RdsFigure = addrdsfig("core_2",sizeof(UserStruct));
Rectangle =
addrdsfigrec(RdsFigure, "seg", RDS_ALU1, 2.5, 3.5, 6, 7);
viewrfmrec ( Rectangle );
/\(** \(**/ \fBroundrdsrec\fP ( Rectangle );
/\(** view rectangle after rounding \(**/
viewrfmrec ( Rectangle );
}
.ft R
.fi
.SH SEE ALSO
.BR librfm,
.BR viewrfmrec
.BR et_un_autre_see_also
.so man1/alc_bug_report.1

View File

@ -0,0 +1,72 @@
.\" $Id: saverdsfig.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)saverdsfig.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
saverdsfig
.XE
.XS0 \n%
.ti 0.2i
saverdsfig
.XE0 \}
.TH SAVERDSFIG 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
saverdsfig \- save a physical figure on disk.
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rtlnnn.h"
void saverdsfig( Figure )
rdsfig_list \(**Figure;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIFigure\fP
Pointer to the RDS Figure to save.
.SH DESCRIPTION
The \fIsaverdsfig\fP function writes on disk the contents of the figure pointer to by rdsfig_list. The savephfig function in fact performs a call to a driver, choosen by the RDS_OUT environment variable.
.SH RETURN VALUE
none
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rtl103.h: Unknown rds output format"
.ft R
.RS
The output format defined by the unix environment variable RDS_OUT is not supported by the driver (supported formats are "cif" and "gds").
.PP
Other errors can appear because the saverdsfig function calls cif and gds drivers.
.SH EXAMPLE
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rtlnnn.h"
main()
{
rdsfig_list \(**RdsFigure;
mbkenv();
rdsenv();
loadrdsparam();
loadrdsfig( RdsFigure, "core", 'A');
RdsFigure->NAME = namealloc ( "core_2" );
/\(** \(**/ \fBsaverdsfig\fP ( RdsFigure );
}
.ft R
.fi
.SH SEE ALSO
.BR librtl,
.BR loadrdsfig,
.BR rdsenv,
.BR getrdsfig,
.BR RDS_OUT
.so man1/alc_bug_report.1

View File

@ -0,0 +1,71 @@
.\" $Id: searchrdsfig.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)searchrdsfig.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
searchrdsfig
.XE
.XS0 \n%
.ti 0.2i
searchrdsfig
.XE0 \}
.TH SEARCHRDSFIG 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
searchrdsfig \- searchs by name a figure in the list of figures
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rutnnn.h"
rdsfig_list \(**searchrdsfig( Name )
char \(**Name;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIName\fP
Name of the figure to search.
.SH DESCRIPTION
The \fIsearchrdsfig\fP function searchs a figure by its name in the list of figures in memory.
.SH RETURN VALUE
Pointer to the figure searched. If the figure is not found then pointer NULL is returned.
.SH ERRORS
none
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rutnnn.h"
#include "rtlnnn.h"
main()
{
rdsfig_list \(**Figure;
rdsfig_list \(**ScanFigure;
mbkenv();
rdsenv();
loadrdsparam();
Figure = addrdsfig("na2",0);
Figure = addrdsfig("no2",0);
Figure = addrdsfig("xr2",0);
Figure = addrdsfig("n03",0);
ScanFigure = \fBsearchrdsfig\fP("xr2");
viewrdsfig ( ScanFigure );
}
.ft R
.fi
.SH SEE ALSO
.BR librtl,
.BR librds
.so man1/alc_bug_report.1

View File

@ -0,0 +1,95 @@
.\" $Id: segmbkrds.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)segmbkrds.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
segmbkrds
.XE
.XS0 \n%
.ti 0.2i
segmbkrds
.XE0 \}
.TH SEGMBKRDS 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
segmbkrds \- adds to RDS figure a segment from a MBK figure
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rfmnnn.h"
rdsrec_list \(**segmbkrds( Figure, Segment, Lynx )
rdsfig_list \(**Figure;
phseg_list \(**Segment;
char Lynx;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIFigure\fP
The RDS figure which has to receive the converted segment.
.TP
\fISegment\fP
MBK segment to convert to RDS rectangle.
.TP
\fILynx\fP
Flag used for the segment conversion. If the parameter Lynx is set to 0 then this is the normal conversion mode. If the parameter Lynx is set to 1 then the rds structure generated permits to extract equipotentials rectangles.
.SH DESCRIPTION
The \fIsegmbkrds\fP function converts and creates a RDS segment from a MBK segment. The segment is attached to the RDS figure in parameter of the segmbkrds function. See the \fIrdsfig_list\fP structure in librds.
.SH RETURN VALUE
Pointer to the newly created RDS segment.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rfmnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
phfig_list \(**MbkFigure;
rdsfig_list \(**RdsFigure;
rdsrec_list \(**Segment;
mbkenv();
rdsenv();
loadrdsparam();
RdsFigure =
addrdsfig ("core",sizeof ( UserStruct ) );
MbkFigure->PHSEG =
addphseg ( MbkFigure, ALU1, 1, 1, 1, 2, 12, "seg_alu1");
Segment = \fBsegmbkrds\fP (RdsFigure, MbkFigure->PHSEG, 0);
viewrdsrec ( Segment );
}
.ft R
.fi
.SH SEE ALSO
.BR librds,
.BR librfm,
.BR viewrfmseg,
.BR loadrdsparam
.so man1/alc_bug_report.1

View File

@ -0,0 +1,96 @@
.\" $Id: viambkrds.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)viambkrds.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
viambkrds
.XE
.XS0 \n%
.ti 0.2i
viambkrds
.XE0 \}
.TH VIAMBKRDS 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
viambkrds \- adds to RDS figure a contact from a MBK figure
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rfmnnn.h"
rdsrec_list \(**viambkrds( Figure, Via, Lynx )
rdsfig_list \(**Figure;
phvia_list \(**Via;
char Lynx;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIFigure\fP
The RDS figure which has to receive the converted contact.
.TP
\fIVia\fP
MBK contact to convert to RDS rectangles.
.TP
\fILynx\fP
Flag used for the via conversion. If the parameter Lynx is set to 0 then this is the normal conversion mode. If the parameter Lynx is set to 1 then the rds structure generated permits to extract equipotentials rectangles.
.SH DESCRIPTION
The \fIviambkrds\fP function converts and creates a RDS contact from a MBK contact. The contact is attached to the RDS figure in parameter of the viambkrds function. See the \fIrdsfig_list\fP structure of librds.
.TP
\fINote\fP :
This function generates many rectangles to create a RDS contact. These rectangle are chained each other (circulary list) with the field USER of the rdsrec_list structure.
.SH RETURN VALUE
Pointer to one of the RDS rectangles created.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"Rds202: rdsalloc error, can't continue !"
.ft R
.RS
it's impossible to allocate the memory size desired
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rfmnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
phfig_list \(**MbkFigure;
rdsfig_list \(**RdsFigure;
rdsrec_list \(**Via;
mbkenv();
rdsenv();
loadrdsparam();
RdsFigure = addrdsfig ("core",sizeof ( UserStruct ) );
MbkFigure->PHVIA = addphvia ( MbkFigure, CONT_VIA, 4, 7);
Via = \fBviambkrds\fP (RdsFigure, MbkFigure->PHVIA);
viewrfmvia ( MbkFigure->PHVIA, Via );
}
.ft R
.fi
.SH SEE ALSO
.BR librds,
.BR librfm,
.BR viewrfmvia,
.BR loadrdsparam
.so man1/alc_bug_report.1

View File

@ -0,0 +1,93 @@
.\" $Id: viewrdsfig.3,v 1.1 2002/03/13 13:37:37 fred Exp $
.\" @(#)viewrdsfig.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
viewrdsfig
.XE
.XS0 \n%
.ti 0.2i
viewrdsfig
.XE0 \}
.TH VIEWRDSFIG 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
viewrdsfig \- view caracteristics of a figure
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rdsnnn.h"
void viewrdsfig( Figure )
rdsins_list \(**Figure;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIFigure\fP
Pointer to the figure to visualize.
.SH DESCRIPTION
The \fIviewrdsfig\fP function displays caracteristics of the figure called \'Figure\' and all the objets contained in this figure.
.TP
figure's parameters displayed to screen :
.RS
.TP
\fINAME\fP
figure's name.
.TP
\fIMODE\fP
loading mode of the figure.
.TP
\fISIZE\fP
size of user structure added to the rdsrec_list structure.
.RE
Displays also rectangle and instance parameters of the figure (see viewrdsins and viewrdsrec functions).
.SH RETURN VALUE
nothing
.SH ERRORS
none
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
rdsfig_list \(**Figure;
rdsrec_list \(**Rectangle;
rdsins_list \(**Instance;
mbkenv();
rdsenv();
loadrdsparam();
Figure = addrdsfig ("core",sizeof ( UserStruct ) );
Instance = addrdsins (Figure,"na2_y","and2",RDS_NOSYM,8,6);
Rectangle =
addrdsfigrec(Figure,"Alu1",RDS_ALU1,2,4,12,1);
/\(**
visualization of the figure and its items
\(**/
/\(** \(**/ \fBviewrdsfig\fP ( Figure );
}
.ft R
.fi
.SH SEE ALSO
.BR librds,
.BR viewrdsrec,
.BR viewrdsins
.so man1/alc_bug_report.1

View File

@ -0,0 +1,99 @@
.\" $Id: viewrdsins.3,v 1.1 2002/03/13 13:37:38 fred Exp $
.\" @(#)viewrdsins.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
viewrdsins
.XE
.XS0 \n%
.ti 0.2i
viewrdsins
.XE0 \}
.TH VIEWRDSINS 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
viewrdsins \- Displays caracteristics of an instance
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rdsnnn.h"
void viewrdsins( Instance )
rdsins_list \(**Instance;
.ft R
.fi
.SH PARAMETERS
.TP 20
\fIInstance\fP
Instance to display.
.SH DESCRIPTION
The \fIviewrdsins\fP function displays caracteristics of the instance pointed by \'Instance\' and its items.
.TP
instance's parameters displayed :
.RS
.TP 20
\fIINSNAME\fP
name of the instance.
.TP
\fIFIGNAME\fP
model's name of the instance.
.TP
\fIX,Y\fP
position of the lower left corner of the instance.
.TP
\fITRANSF\fP
transformation applied to the instance.
.TP
\fISIZE\fP
size of the user structure added to the rdsrec_list structure.
.RE
This function displays also rectangles of the instance (see viewrdsrec() function).
.SH RETURN VALUE
nothing
.SH ERRORS
none
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
rdsfig_list \(**Figure;
rdsrec_list \(**Rectangle;
rdsins_list \(**Instance;
mbkenv();
rdsenv();
loadrdsparam();
Figure = addrdsfig ("core",sizeof ( UserStruct ) );
Instance = addrdsins (Figure,"na2_y","and2",RDS_NOSYM,8,6);
Rectangle =
addrdsinsrec(Instance,"Alu1",RDS_ALU1,2,4,12,1);
/\(**
visualization of the instance and its rectangle
\(**/
/\(** \(**/ \fBviewrdsins\fP ( Instance );
}
.ft R
.fi
.SH SEE ALSO
.BR librds,
.BR viewrdsfig,
.BR viewrdsrec
.so man1/alc_bug_report.1

View File

@ -0,0 +1,66 @@
.\" $Id: viewrdsparam.3,v 1.1 2002/03/13 13:37:38 fred Exp $
.\" @(#)viewrdsparam.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
viewrdsparam
.XE
.XS0 \n%
.ti 0.2i
viewrdsparam
.XE0 \}
.TH VIEWRDSPARAM 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
viewrdsparam \- displays tables in memory filled by loadrdsparam function.
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
void viewrdsparam()
.ft R
.fi
.SH PARAMETER
none
.SH DESCRIPTION
The \fIviewrdsparam\fP function displays tables in RAM filled by the loadrdsparam function.
For more information, see loadrdsparam function.
.SH RETURN VALUE
nothing
.SH ERRORS
none
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rtlnnn.h"
#include "rprnnn.h"
#include "rfmnnn.h"
main()
{
rdsfig_list \(**RdsFigure;
phfig_list \(**MbkFigure;
mbkenv();
rdsenv();
loadrdsparam();
/\(** \(**/ \fBviewrdsparam\fP ();
. . .
}
.ft R
.fi
.SH SEE ALSO
.BR librpr,
.BR loadrdsparam
.so man1/alc_bug_report.1

View File

@ -0,0 +1,81 @@
.\" $Id: viewrdsrec.3,v 1.1 2002/03/13 13:37:38 fred Exp $
.\" @(#)viewrdsrec.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
viewrdsrec
.XE
.XS0 \n%
.ti 0.2i
viewrdsrec
.XE0 \}
.TH VIEWRDSREC 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
viewrdsrec \- Displays caracteristics of a rectangle
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rdsnnn.h"
void viewrdsrec( Rectangle )
rdsrec_list \(**Rectangle;
.ft R
.fi
.SH PARAMETERS
\fIRectangle\fP
The rectangle to display.
.SH DESCRIPTION
The \fIviewrdsrec\fP function displays rectangle's caracteristics :
.RS
.TP 20
\- its coordinates (X,Y,DX,DY)
.TP
\- its Layer
.TP
\- its name
.TP
\- its field FLAGS
.RE
.SH RETURN VALUE
nothing
.SH ERRORS
none
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rtlnnn.h"
main()
{
rdsfig_list \(**Figure;
rdsrec_list \(**Rectangle;
mbkenv();
rdsenv();
loadrdsparam();
Figure = addrdsfig ("core",sizeof ( UserStruct ) );
Rectangle =
addrdsfigrec(Figure,"Alu1",RDS_ALU1,2,4,12,1);
/\(**
visualization of rectangle's caracteristics
\(**/
/* */ \fBviewrdsrec\fP ( Rectangle );
}
.ft R
.fi
.SH SEE ALSO
.BR librds,
.BR viewrdsfig,
.BR viewrdsins
.so man1/alc_bug_report.1

View File

@ -0,0 +1,80 @@
.\" $Id: viewrdswindow.3,v 1.1 2002/03/13 13:37:38 fred Exp $
.\" @(#)viewrdswindow.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
viewrdswindow
.XE
.XS0 \n%
.ti 0.2i
viewrdswindow
.XE0 \}
.TH VIEWRDSWINDOW 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
viewrdswindow \- displays caracteristics of the windowing.
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rwinnn.h"
void viewrdswindow( RdsWindow )
rdswindow \(**RdsWindow;
.ft R
.fi
.SH PARAMETER
\fIRdsWindow\fP :
The head of the windowing of the RDS structure.
.SH DESCRIPTION
The \fIviewrdswindow\fP function displays :
.PP
Caracteristics of the windowing (number of windows, width, height,size of a window,...).
.br
Size and position of each window.
.br
All the rectangles of each window.
.SH RETURN VALUE
nothing
.SH ERRORS
none
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rfmnnn.h"
#include "rwinnn.h"
#include "rtlnnn.h"
main()
{
phfig_list \(**MbkFigure;
rdsfig_list \(**RdsFigure;
rdswindow \(**Window;
mbkenv();
rdsenv();
loadrdsparam();
MbkFigure = getphfig("na2_y",'A');
RdsFigure = figmbkrds(MbkFigure,0,0);
Window = buildrdswindow ( RdsFigure );
/\(** \(**/ \fBviewrdswindow\fP ( Window );
. . .
}
.ft R
.fi
.SH SEE ALSO
.BR librwi,
.BR buildrdswindow,
.BR destroyrdswindow,
.BR allocrdswindow
.so man1/alc_bug_report.1

View File

@ -0,0 +1,83 @@
.\" $Id: viewrfmcon.3,v 1.1 2002/03/13 13:37:38 fred Exp $
.\" @(#)viewrfmcon.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
viewrfmcon
.XE
.XS0 \n%
.ti 0.2i
viewrfmcon
.XE0 \}
.TH VIEWRFMCON 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
viewrfmcon \- displays connector caracteristics in MBK and RDS format.
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rfmnnn.h"
void viewrfmcon( Connector, Rectangle )
phcon_list \(**Connector;
rdsrec_list \(**Rectangle;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIConnector\fP
MBK Connector to visualizate
.TP
\fIRectangle\fP
RDS Connector to visualizate
.SH DESCRIPTION
The \fIviewrfmcon\fP function displays caracteristics of a connector in MBK and RDS format.
.SH RETURN VALUE
nothing
.SH ERRORS
none
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rfmnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
phfig_list \(**MbkFigure;
rdsfig_list \(**RdsFigure;
rdsrec_list \(**RdsConnector;
mbkenv();
rdsenv();
loadrdsparam();
RdsFigure =
addrdsfig ("core",sizeof ( UserStruct ) );
MbkFigure->PHCON =
addphcon ( MbkFigure, NORTH, "c_1", 14, 5, ALU1, 2);
RdsConnector = conmbkrds(RdsFigure, MbkFigure->PHCON);
/\(** \(**/ \fBviewrfmcon\fP ( MbkFigure->PHCON, RdsConnector );
}
.ft R
.fi
.SH SEE ALSO
.BR librfm,
.BR conmbkrds,
.BR insconmbkrds
.so man1/alc_bug_report.1

View File

@ -0,0 +1,79 @@
.\" $Id: viewrfmfig.3,v 1.1 2002/03/13 13:37:38 fred Exp $
.\" @(#)viewrfmfig.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
viewrfmfig
.XE
.XS0 \n%
.ti 0.2i
viewrfmfig
.XE0 \}
.TH VIEWRFMFIG 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
viewrfmfig \- displays figure caracteristics in MBK and RDS format.
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rfmnnn.h"
void viewrfmfig( FigureMbk, FigureRds )
phfig_list \(**FigureMbk;
rdsfig_list \(**FigureRds;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIFigureMbk\fP
MBK figure to visualizate
.TP
\fIFigureRds\fP
RDS figure to visualizate
.SH DESCRIPTION
The \fIviewrfmfig\fP function displays caracteristics of a figure in MBK and RDS format.
.SH RETURN VALUE
nothing
.SH ERRORS
none
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rfmnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
phfig_list \(**MbkFigure;
rdsfig_list \(**RdsFigure;
mbkenv();
rdsenv();
loadrdsparam();
MbkFigure = getphfig("na2_y",'A');
RdsFigure = figmbkrds(FigureMbk,sizeof(UserStruct),0);
/\(** view Mbk and Rds Figure \(**/
/\(** \(**/ \fBviewrfmfig\fP ( MbkFigure, RdsFigure );
}
.ft R
.fi
.SH SEE ALSO
.BR librfm,
.BR figmbkrds
.so man1/alc_bug_report.1

View File

@ -0,0 +1,87 @@
.\" $Id: viewrfmins.3,v 1.1 2002/03/13 13:37:38 fred Exp $
.\" @(#)viewrfmins.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
viewrfmins
.XE
.XS0 \n%
.ti 0.2i
viewrfmins
.XE0 \}
.TH VIEWRFMINS 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
viewrfmins \- displays instance caracteristics in MBK and RDS format.
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rfmnnn.h"
void viewrfmins( InstanceMbk, InstanceRds )
phins_list \(**InstanceMbk;
rdsins_list \(**InstanceRds;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIInstanceMbk\fP
MBK instance to visualizate
.TP
\fIInstanceRds\fP
RDS instance to visualizate
.SH DESCRIPTION
The \fIviewrfmins\fP function displays caracteristics of an instance in MBK and RDS format.
.SH RETURN VALUE
nothing
.SH ERRORS
none
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rfmnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
phfig_list \(**MbkFigure;
phins_list \(**MbkInstance;
rdsfig_list \(**RdsFigure;
rdsins_list \(**RdsInstance;
mbkenv();
rdsenv();
loadrdsparam();
/\(** creates MbkFigure Named "core" \(**/
MbkFigure = addphfig("core");
/\(** adds Mbk instance "n1_y" to MbkFigure named "core" \(**/
MbkInstance = addphins(MbkFigure,"n1_y","inv_1",NOSYM,4,9);
/\(** creates RdsFigure named "core_2" \(**/
RdsFigure = addrdsfig("core_2",sizeof(UserStruct));
/\(** creates RdsInstance with MbkInstance \(**/
RdsInstance = insmbkrds ( RdsFigure, MbkInstance, 'A', 0 );
/\(** views Mbk and Rds Instance \(**/
/\(** \(**/ \fBviewrfmins\fP ( MbkInstance, RdsInstance );
}
.ft R
.fi
.SH SEE ALSO
.BR librfm,
.BR insmbkrds
.so man1/alc_bug_report.1

View File

@ -0,0 +1,75 @@
.\" $Id: viewrfmrec.3,v 1.1 2002/03/13 13:37:38 fred Exp $
.\" @(#)viewrfmrec.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
viewrfmrec
.XE
.XS0 \n%
.ti 0.2i
viewrfmrec
.XE0 \}
.TH VIEWRFMREC 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
viewrfmrec \- displays rectangle caracteristics in RDS format.
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rfmnnn.h"
Void viewrfmrec( Rectangle )
rdsrec_list \(**Rectangle;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIRectangle\fP
RDS rectangle to visualizate.
.SH DESCRIPTION
The \fIviewrfmrec\fP function displays all rectangles which constitute a RDS object.
.SH RETURN VALUE
nothing
.SH ERRORS
none
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rfmnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
phfig_list \(**MbkFigure;
rdsfig_list \(**RdsFigure;
rdsrec_list \(**Via;
mbkenv();
rdsenv();
loadrdsparam();
RdsFigure = addrdsfig ("core",sizeof ( UserStruct ) );
MbkFigure->PHVIA = addphvia ( MbkFigure, CONT_VIA, 4, 7);
Via = viambkrds(RdsFigure, MbkFigure->PHVIA);
/\(** \(**/ \fBviewrfmrec\fP ( Via );
}
.ft R
.fi
.SH SEE ALSO
.BR librfm
.so man1/alc_bug_report.1

View File

@ -0,0 +1,81 @@
.\" $Id: viewrfmref.3,v 1.1 2002/03/13 13:37:38 fred Exp $
.\" @(#)viewrfmref.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
viewrfmref
.XE
.XS0 \n%
.ti 0.2i
viewrfmref
.XE0 \}
.TH VIEWRFMREF 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
viewrfmref \- displays reference caracteristics in MBK and RDS format.
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rfmnnn.h"
void viewrfmref( Reference, Rectangle )
phref_list \(**Reference;
rdsrec_list \(**Rectangle;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIreference\fP
MBK reference to visualizate.
.TP
\fIRectangle\fP
RDS reference to visualizate.
.SH DESCRIPTION
The \fIviewrfmref\fP function displays caracteristics of a reference in MBK and RDS format.
.SH RETURN VALUE
nothing
.SH ERRORS
none
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rfmnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
phfig_list \(**MbkFigure;
rdsfig_list \(**RdsFigure;
rdsrec_list \(**RdsReference;
mbkenv();
rdsenv();
loadrdsparam();
RdsFigure = addrdsfig ("core",sizeof ( UserStruct ) );
MbkFigure->PHREF = addphref ( MbkFigure, "ref_con", "rc_1", 2, 12);
RdsReference = refmbkrds(RdsFigure, MbkFigure->PHREF);
/\(** \(**/ \fBviewrfmref\fP ( MbkFigure->PHREF, RdsReference);
}
.ft R
.fi
.SH SEE ALSO
.BR librfm,
.BR refmbkrds,
.BR insrefmbkrds
.so man1/alc_bug_report.1

View File

@ -0,0 +1,83 @@
.\" $Id: viewrfmseg.3,v 1.1 2002/03/13 13:37:38 fred Exp $
.\" @(#)viewrfmseg.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
viewrfmseg
.XE
.XS0 \n%
.ti 0.2i
viewrfmseg
.XE0 \}
.TH VIEWRFMSEG 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
viewrfmseg \- displays segment caracteristics in MBK and RDS format.
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rfmnnn.h"
void viewrfmseg( Segment, Rectangle )
phseg_list \(**Segment;
rdsrec_list \(**Rectangle;
.ft R
.fi
.SH PARAMETER
.TP 20
\fISegment\fP
MBK segment to visualizate.
.TP
\fIRectangle\fP
RDS segment to visualizate.
.SH DESCRIPTION
The \fIviewrfmseg\fP function displays caracteristics of a segment in MBK and RDS format.
.SH RETURN VALUE
nothing
.SH ERRORS
none
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rfmnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
phfig_list \(**MbkFigure;
rdsfig_list \(**RdsFigure;
rdsrec_list \(**RdsSegment;
mbkenv();
rdsenv();
loadrdsparam();
RdsFigure =
addrdsfig ("core",sizeof ( UserStruct ) );
MbkFigure->PHSEG =
addphseg ( MbkFigure, ALU1, 1, 1, 1, 2, 12, "seg_alu1");
RdsSegment = segmbkrds(RdsFigure, MbkFigure->PHSEG,0);
/\(** \(**/ \fBviewrfmseg\fP ( MbkFigure->PHSEG, RdsSegment );
}
.ft R
.fi
.SH SEE ALSO
.BR librfm,
.BR segmbkrds,
.BR inssegmbkrds
.so man1/alc_bug_report.1

View File

@ -0,0 +1,81 @@
.\" $Id: viewrfmvia.3,v 1.1 2002/03/13 13:37:38 fred Exp $
.\" @(#)viewrfmvia.1 1.11 93/08/18 ; Labo masi cao-vlsi
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
viewrfmvia
.XE
.XS0 \n%
.ti 0.2i
viewrfmvia
.XE0 \}
.TH VIEWRFMVIA 3 "October 1, 1997" "ASIM/LIP6" "RDS PHYSICAL FUNCTIONS"
.SH NAME
viewrfmvia \- displays contact caracteristics in MBK and RDS format.
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "rfmnnn.h"
void viewrfmvia( Via, Rectangle )
phvia_list \(**Via;
rdsrec_list \(**Rectangle;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIVia\fP
MBK contact to visualizate.
.TP
\fIRectangle\fP
RDS contact Rds to visualizate.
.SH DESCRIPTION
The \fIviewrfmvia\fP function displays caracteristics of a contact in MBK and RDS format.
.SH RETURN VALUE
nothing
.SH ERRORS
none
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "mphnnn.h"
#include "mutnnn.h"
#include "rdsnnn.h"
#include "rfmnnn.h"
#include "rtlnnn.h"
typedef struct UserStruct
{
char \(**STRING;
void \(**USER1;
} UserStruct;
main()
{
phfig_list \(**MbkFigure;
rdsfig_list \(**RdsFigure;
rdsrec_list \(**RdsVia;
mbkenv();
rdsenv();
loadrdsparam();
RdsFigure = addrdsfig ("core",sizeof ( UserStruct ) );
MbkFigure->PHVIA = addphvia ( MbkFigure, CONT_VIA, 3, 7);
RdsVia = viambkrds(RdsFigure, MbkFigure->PHVIA);
/\(** \(**/ \fBviewrfmvia\fP ( MbkFigure->PHVIA, RdsVia );
}
.ft R
.fi
.SH SEE ALSO
.BR librfm,
.BR viambkrds,
.BR insviambkrds
.so man1/alc_bug_report.1

View File

@ -0,0 +1,20 @@
lib_LIBRARIES = libRds.a \
libRut.a \
libRfm.a \
libRpr.a \
libRwi.a \
libRtl.a
CFLAGS = @CFLAGS@ \
-DRTL_DEFAULT_TECHNO=\"etc/cmos_12.rds\" \
-DALLIANCE_TOP=\"${ALLIANCE_TOP}\"
include_HEADERS = rds.h rfm.h rtl.h rwi.h rpr.h rut.h
libRds_a_SOURCES = rdsalloc.c rdsfree.c rdsadd.c rdsdel.c rdsview.c \
rdserror.c rdsdebug.c
libRut_a_SOURCES = rutacces.c rutpoly.c rutequi.c rutunify.c ruterror.c
libRfm_a_SOURCES = rfmacces.c rfmview.c rfmerror.c
libRpr_a_SOURCES = rprparse.c rprview.c rprerror.c
libRwi_a_SOURCES = rwialloc.c rwidel.c rwierror.c rwiget.c rwiadd.c \
rwibuild.c rwidestroy.c rwifree.c rwiview.c
libRtl_a_SOURCES = rtlacces.c rtlenv.c rtlerror.c

View File

@ -0,0 +1,389 @@
# Makefile.in generated automatically by automake 1.4 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
CC = @CC@
INCLUDES = @INCLUDES@
LDFLAGS = @LDFLAGS@
RANLIB = @RANLIB@
lib_LIBRARIES = libRds.a libRut.a libRfm.a libRpr.a libRwi.a libRtl.a
CFLAGS = @CFLAGS@ -DRTL_DEFAULT_TECHNO=\"etc/cmos_12.rds\" -DALLIANCE_TOP=\"${ALLIANCE_TOP}\"
include_HEADERS = rds.h rfm.h rtl.h rwi.h rpr.h rut.h
libRds_a_SOURCES = rdsalloc.c rdsfree.c rdsadd.c rdsdel.c rdsview.c rdserror.c rdsdebug.c
libRut_a_SOURCES = rutacces.c rutpoly.c rutequi.c rutunify.c ruterror.c
libRfm_a_SOURCES = rfmacces.c rfmview.c rfmerror.c
libRpr_a_SOURCES = rprparse.c rprview.c rprerror.c
libRwi_a_SOURCES = rwialloc.c rwidel.c rwierror.c rwiget.c rwiadd.c rwibuild.c rwidestroy.c rwifree.c rwiview.c
libRtl_a_SOURCES = rtlacces.c rtlenv.c rtlerror.c
mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
CONFIG_CLEAN_FILES =
LIBRARIES = $(lib_LIBRARIES)
DEFS = @DEFS@ -I. -I$(srcdir)
CPPFLAGS = @CPPFLAGS@
LIBS = @LIBS@
libRds_a_LIBADD =
libRds_a_OBJECTS = rdsalloc.o rdsfree.o rdsadd.o rdsdel.o rdsview.o \
rdserror.o rdsdebug.o
libRut_a_LIBADD =
libRut_a_OBJECTS = rutacces.o rutpoly.o rutequi.o rutunify.o ruterror.o
libRfm_a_LIBADD =
libRfm_a_OBJECTS = rfmacces.o rfmview.o rfmerror.o
libRpr_a_LIBADD =
libRpr_a_OBJECTS = rprparse.o rprview.o rprerror.o
libRwi_a_LIBADD =
libRwi_a_OBJECTS = rwialloc.o rwidel.o rwierror.o rwiget.o rwiadd.o \
rwibuild.o rwidestroy.o rwifree.o rwiview.o
libRtl_a_LIBADD =
libRtl_a_OBJECTS = rtlacces.o rtlenv.o rtlerror.o
AR = ar
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
HEADERS = $(include_HEADERS)
DIST_COMMON = Makefile.am Makefile.in
PACKAGE = @PACKAGE@
VERSION = @VERSION@
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = gtar
GZIP_ENV = --best
DEP_FILES = .deps/rdsadd.P .deps/rdsalloc.P .deps/rdsdebug.P \
.deps/rdsdel.P .deps/rdserror.P .deps/rdsfree.P .deps/rdsview.P \
.deps/rfmacces.P .deps/rfmerror.P .deps/rfmview.P .deps/rprerror.P \
.deps/rprparse.P .deps/rprview.P .deps/rtlacces.P .deps/rtlenv.P \
.deps/rtlerror.P .deps/rutacces.P .deps/rutequi.P .deps/ruterror.P \
.deps/rutpoly.P .deps/rutunify.P .deps/rwiadd.P .deps/rwialloc.P \
.deps/rwibuild.P .deps/rwidel.P .deps/rwidestroy.P .deps/rwierror.P \
.deps/rwifree.P .deps/rwiget.P .deps/rwiview.P
SOURCES = $(libRds_a_SOURCES) $(libRut_a_SOURCES) $(libRfm_a_SOURCES) $(libRpr_a_SOURCES) $(libRwi_a_SOURCES) $(libRtl_a_SOURCES)
OBJECTS = $(libRds_a_OBJECTS) $(libRut_a_OBJECTS) $(libRfm_a_OBJECTS) $(libRpr_a_OBJECTS) $(libRwi_a_OBJECTS) $(libRtl_a_OBJECTS)
all: all-redirect
.SUFFIXES:
.SUFFIXES: .S .c .o .s
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
mostlyclean-libLIBRARIES:
clean-libLIBRARIES:
-test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)
distclean-libLIBRARIES:
maintainer-clean-libLIBRARIES:
install-libLIBRARIES: $(lib_LIBRARIES)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(libdir)
@list='$(lib_LIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
echo " $(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/$$p"; \
$(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/$$p; \
else :; fi; \
done
@$(POST_INSTALL)
@list='$(lib_LIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
echo " $(RANLIB) $(DESTDIR)$(libdir)/$$p"; \
$(RANLIB) $(DESTDIR)$(libdir)/$$p; \
else :; fi; \
done
uninstall-libLIBRARIES:
@$(NORMAL_UNINSTALL)
list='$(lib_LIBRARIES)'; for p in $$list; do \
rm -f $(DESTDIR)$(libdir)/$$p; \
done
.s.o:
$(COMPILE) -c $<
.S.o:
$(COMPILE) -c $<
mostlyclean-compile:
-rm -f *.o core *.core
clean-compile:
distclean-compile:
-rm -f *.tab.c
maintainer-clean-compile:
libRds.a: $(libRds_a_OBJECTS) $(libRds_a_DEPENDENCIES)
-rm -f libRds.a
$(AR) cru libRds.a $(libRds_a_OBJECTS) $(libRds_a_LIBADD)
$(RANLIB) libRds.a
libRut.a: $(libRut_a_OBJECTS) $(libRut_a_DEPENDENCIES)
-rm -f libRut.a
$(AR) cru libRut.a $(libRut_a_OBJECTS) $(libRut_a_LIBADD)
$(RANLIB) libRut.a
libRfm.a: $(libRfm_a_OBJECTS) $(libRfm_a_DEPENDENCIES)
-rm -f libRfm.a
$(AR) cru libRfm.a $(libRfm_a_OBJECTS) $(libRfm_a_LIBADD)
$(RANLIB) libRfm.a
libRpr.a: $(libRpr_a_OBJECTS) $(libRpr_a_DEPENDENCIES)
-rm -f libRpr.a
$(AR) cru libRpr.a $(libRpr_a_OBJECTS) $(libRpr_a_LIBADD)
$(RANLIB) libRpr.a
libRwi.a: $(libRwi_a_OBJECTS) $(libRwi_a_DEPENDENCIES)
-rm -f libRwi.a
$(AR) cru libRwi.a $(libRwi_a_OBJECTS) $(libRwi_a_LIBADD)
$(RANLIB) libRwi.a
libRtl.a: $(libRtl_a_OBJECTS) $(libRtl_a_DEPENDENCIES)
-rm -f libRtl.a
$(AR) cru libRtl.a $(libRtl_a_OBJECTS) $(libRtl_a_LIBADD)
$(RANLIB) libRtl.a
install-includeHEADERS: $(include_HEADERS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(includedir)
@list='$(include_HEADERS)'; for p in $$list; do \
if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(includedir)/$$p"; \
$(INSTALL_DATA) $$d$$p $(DESTDIR)$(includedir)/$$p; \
done
uninstall-includeHEADERS:
@$(NORMAL_UNINSTALL)
list='$(include_HEADERS)'; for p in $$list; do \
rm -f $(DESTDIR)$(includedir)/$$p; \
done
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP)
list='$(SOURCES) $(HEADERS)'; \
unique=`for i in $$list; do echo $$i; done | \
awk ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
here=`pwd` && cd $(srcdir) \
&& mkid -f$$here/ID $$unique $(LISP)
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS)'; \
unique=`for i in $$list; do echo $$i; done | \
awk ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
mostlyclean-tags:
clean-tags:
distclean-tags:
-rm -f TAGS ID
maintainer-clean-tags:
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
subdir = src
distdir: $(DISTFILES)
here=`cd $(top_builddir) && pwd`; \
top_distdir=`cd $(top_distdir) && pwd`; \
distdir=`cd $(distdir) && pwd`; \
cd $(top_srcdir) \
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign src/Makefile
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
-include $(DEP_FILES)
mostlyclean-depend:
clean-depend:
distclean-depend:
-rm -rf .deps
maintainer-clean-depend:
%.o: %.c
@echo '$(COMPILE) -c $<'; \
$(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
@-cp .deps/$(*F).pp .deps/$(*F).P; \
tr ' ' '\012' < .deps/$(*F).pp \
| sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
>> .deps/$(*F).P; \
rm .deps/$(*F).pp
%.lo: %.c
@echo '$(LTCOMPILE) -c $<'; \
$(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
@-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
< .deps/$(*F).pp > .deps/$(*F).P; \
tr ' ' '\012' < .deps/$(*F).pp \
| sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
>> .deps/$(*F).P; \
rm -f .deps/$(*F).pp
info-am:
info: info-am
dvi-am:
dvi: dvi-am
check-am: all-am
check: check-am
installcheck-am:
installcheck: installcheck-am
install-exec-am: install-libLIBRARIES
install-exec: install-exec-am
install-data-am: install-includeHEADERS
install-data: install-data-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
uninstall-am: uninstall-libLIBRARIES uninstall-includeHEADERS
uninstall: uninstall-am
all-am: Makefile $(LIBRARIES) $(HEADERS)
all-redirect: all-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs:
$(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir)
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
maintainer-clean-generic:
mostlyclean-am: mostlyclean-libLIBRARIES mostlyclean-compile \
mostlyclean-tags mostlyclean-depend mostlyclean-generic
mostlyclean: mostlyclean-am
clean-am: clean-libLIBRARIES clean-compile clean-tags clean-depend \
clean-generic mostlyclean-am
clean: clean-am
distclean-am: distclean-libLIBRARIES distclean-compile distclean-tags \
distclean-depend distclean-generic clean-am
distclean: distclean-am
maintainer-clean-am: maintainer-clean-libLIBRARIES \
maintainer-clean-compile maintainer-clean-tags \
maintainer-clean-depend maintainer-clean-generic \
distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
maintainer-clean: maintainer-clean-am
.PHONY: mostlyclean-libLIBRARIES distclean-libLIBRARIES \
clean-libLIBRARIES maintainer-clean-libLIBRARIES uninstall-libLIBRARIES \
install-libLIBRARIES mostlyclean-compile distclean-compile \
clean-compile maintainer-clean-compile uninstall-includeHEADERS \
install-includeHEADERS tags mostlyclean-tags distclean-tags clean-tags \
maintainer-clean-tags distdir mostlyclean-depend distclean-depend \
clean-depend maintainer-clean-depend info-am info dvi-am dvi check \
check-am installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

146
alliance/src/rds/src/main.c Normal file
View File

@ -0,0 +1,146 @@
# include <stdio.h>
# include <mut.h>
# include <mph.h>
# include "rds.h"
# include "rtl.h"
# include "rpr.h"
# include "rfm.h"
# include "rwi.h"
# include "rut.h"
void Syntax( Name )
char *Name;
{
fprintf( stdout, "%s [options] in out\n", Name );
fprintf( stdout, " -r : real figure\n" );
fprintf( stdout, " -f : flatten figure\n" );
fprintf( stdout, " -v : display figure \n" );
fprintf( stdout, " -s : save figure \n" );
exit( 1 );
}
int main( argc, argv )
int argc;
char *argv[];
{
rdsfig_list *FigureRds;
phfig_list *FigureMbk;
char *InputName;
char *OutputName;
char FlagSymbolic;
char FlagFlatten;
char FlagVerbose;
char FlagSave;
char FlagParam;
int Number;
if ( argc < 2 )
{
Syntax( argv[ 0 ] );
}
mbkenv();
rdsenv();
if ( argc < 2 )
{
Syntax( argv[ 0 ] );
}
FlagSymbolic = 1;
FlagFlatten = 0;
FlagVerbose = 0;
FlagSave = 0;
FlagParam = 0;
rdsbegin();
loadrdsparam();
InputName = (char *)NULL;
OutputName = (char *)NULL;
for ( Number = 1;
Number < argc;
Number++ )
{
if ( ! strcmp( argv[ Number ], "-r" )) FlagSymbolic = 0;
else
if ( ! strcmp( argv[ Number ], "-f" )) FlagFlatten = 1;
else
if ( ! strcmp( argv[ Number ], "-v" )) FlagVerbose = 1;
else
if ( ! strcmp( argv[ Number ], "-s" )) FlagSave = 1;
else
if ( ! strcmp( argv[ Number ], "-p" )) FlagParam = 1;
else
if ( InputName == NULL ) InputName = argv[ Number ];
else
if ( OutputName == NULL ) OutputName = argv[ Number ];
}
if ( InputName == NULL )
{
Syntax( argv[ 0 ] );
}
if ( OutputName == NULL )
{
OutputName = InputName;
}
if ( FlagParam )
{
viewrdsparam();
}
if ( FlagSymbolic )
{
fprintf( stdout, "Load figure MBK\n" );
FigureMbk = getphfig( InputName, 'A' );
if ( FlagFlatten )
{
fprintf( stdout, "Flatten figure MBK\n" );
rflattenphfig( FigureMbk, YES, NO );
}
fprintf( stdout, "Translate figure MBK -> RDS\n" );
FigureRds = figmbkrds( FigureMbk, RDS_EQUI_SIZE, 0 );
fprintf( stdout, "Translate model MBK -> RDS\n" );
modelmbkrds( FigureRds, 0 );
}
else
{
fprintf( stdout, "Load figure RDS\n" );
FigureRds = getrdsfig( InputName, 'A', RDS_EQUI_SIZE );
if ( FlagFlatten )
{
fprintf( stdout, "Flatten figure RDS\n" );
rflattenrdsfig( FigureRds, RDS_YES, RDS_NO );
}
}
if ( FlagVerbose )
{
fprintf( stdout, "Display figure RDS\n" );
viewrdsfig( FigureRds );
}
if ( FlagSave )
{
FigureRds->NAME = namealloc( OutputName );
fprintf( stdout, "Save figure RDS\n" );
saverdsfig( FigureRds );
}
rdsend();
return( 0 );
}

View File

@ -0,0 +1,242 @@
# include <stdio.h>
# include <mut.h>
# include <mph.h>
# include "rds.h"
# include "rtl.h"
# include "rpr.h"
# include "rfm.h"
# include "rwi.h"
# include "rut.h"
rdsrec_list *reverseequi( HeadEqui )
rdsrec_list *HeadEqui;
{
rdsrec_list *PrevEqui;
rdsrec_list *NextEqui;
rdsrec_list *ScanEqui;
unsigned char EndEqui;
PrevEqui = (rdsrec_list *)NULL;
ScanEqui = HeadEqui;
EndEqui = 1;
while ( ScanEqui != (rdsrec_list *)NULL )
{
NextEqui = RDS_EQUI( ScanEqui );
RDS_EQUI( ScanEqui ) = PrevEqui;
PrevEqui = ScanEqui;
if ( IsRdsEndEqui( ScanEqui ) )
{
if ( ! EndEqui )
{
ClearRdsEndEqui( ScanEqui );
EndEqui = 1;
}
}
else
if ( EndEqui )
{
SetRdsEndEqui( ScanEqui );
EndEqui = 0;
}
ScanEqui = NextEqui;
}
return( PrevEqui );
}
void viewrdsequi( HeadEqui )
rdsrec_list *HeadEqui;
{
rdsrec_list *ScanEqui;
for ( ScanEqui = HeadEqui;
ScanEqui != (rdsrec_list *)NULL;
ScanEqui = RDS_EQUI( ScanEqui ) )
{
viewrdsrec( ScanEqui );
if ( IsRdsEndEqui( ScanEqui ) )
{
fprintf( stdout, "EndEqui\n" );
}
}
}
void Syntax( Name )
char *Name;
{
fprintf( stdout, "%s [-r -f -R -u] in out\n", Name );
fprintf( stdout, " -r : real figure\n" );
fprintf( stdout, " -f : flatten figure\n" );
fprintf( stdout, " -R : reverse equi\n" );
fprintf( stdout, " -V : display figure \n" );
fprintf( stdout, " -S : save figure \n" );
fprintf( stdout, " -u : unify\n" );
exit( 1 );
}
int main( argc, argv )
int argc;
char *argv[];
{
rdsfig_list *FigureRds;
phfig_list *FigureMbk;
rdswindow *WindowRds;
rdsrec_list *HeadEqui;
char *InputName;
char *OutputName;
char FlagSymbolic;
char FlagFlatten;
char FlagReverse;
char FlagUnify;
char FlagDebug;
char FlagVerbose;
char FlagSave;
int Number;
if ( argc < 2 )
{
Syntax( argv[ 0 ] );
}
mbkenv();
rdsenv();
if ( argc < 2 )
{
Syntax( argv[ 0 ] );
}
FlagSymbolic = 1;
FlagFlatten = 0;
FlagReverse = 0;
FlagUnify = 0;
FlagDebug = 0;
FlagVerbose = 0;
FlagSave = 0;
InputName = (char *)NULL;
OutputName = (char *)NULL;
for ( Number = 1;
Number < argc;
Number++ )
{
if ( ! strcmp( argv[ Number ], "-r" )) FlagSymbolic = 0;
else
if ( ! strcmp( argv[ Number ], "-f" )) FlagFlatten = 1;
else
if ( ! strcmp( argv[ Number ], "-R" )) FlagReverse = 1;
else
if ( ! strcmp( argv[ Number ], "-u" )) FlagUnify = 1;
else
if ( ! strcmp( argv[ Number ], "-debug" )) FlagDebug = 1;
else
if ( ! strcmp( argv[ Number ], "-R" )) FlagReverse = 1;
else
if ( ! strcmp( argv[ Number ], "-V" )) FlagVerbose = 1;
else
if ( ! strcmp( argv[ Number ], "-S" )) FlagSave = 1;
else
if ( InputName == NULL ) InputName = argv[ Number ];
else
if ( OutputName == NULL ) OutputName = argv[ Number ];
}
if ( InputName == NULL )
{
Syntax( argv[ 0 ] );
}
if ( OutputName == NULL )
{
OutputName = InputName;
}
if ( FlagDebug )
{
rdsdebug();
}
rdsbegin();
loadrdsparam();
if ( FlagSymbolic )
{
fprintf( stdout, "Load figure MBK\n" );
FigureMbk = getphfig( InputName, 'A' );
if ( FlagFlatten )
{
fprintf( stdout, "Flatten figure MBK\n" );
rflattenphfig( FigureMbk, YES, NO );
}
fprintf( stdout, "Translate figure MBK -> RDS\n" );
FigureRds = figmbkrds( FigureMbk, RDS_EQUI_SIZE, 0 );
fprintf( stdout, "Translate model MBK -> RDS\n" );
modelmbkrds( FigureRds, 0 );
}
else
{
fprintf( stdout, "Load figure RDS\n" );
FigureRds = getrdsfig( InputName, 'A', RDS_EQUI_SIZE );
if ( FlagFlatten )
{
fprintf( stdout, "Flatten figure RDS\n" );
rflattenrdsfig( FigureRds, RDS_YES, RDS_NO );
}
}
if ( FlagSave )
{
fprintf( stdout, "Save figure RDS in prout\n" );
FigureRds->NAME = namealloc( "prout" );
saverdsfig( FigureRds );
}
if ( FlagVerbose )
{
viewrdsfig( FigureRds );
}
fprintf( stdout, "Build window RDS\n" );
WindowRds = buildrdswindow( FigureRds );
fprintf( stdout, "Build equi\n" );
HeadEqui = equirdsfig( FigureRds, WindowRds );
fprintf( stdout, "Destroy window RDS\n" );
destroyrdswindow( FigureRds, WindowRds );
if ( FlagReverse )
{
fprintf( stdout, "Reverse equi\n" );
HeadEqui = reverseequi( HeadEqui );
}
if ( FlagUnify )
{
fprintf( stdout, "Unify figure RDS\n" );
unifyrdsfig( FigureRds, HeadEqui );
}
FigureRds->NAME = namealloc( OutputName );
fprintf( stdout, "Save figure RDS\n" );
saverdsfig( FigureRds );
rdsend();
return( 0 );
}

696
alliance/src/rds/src/rds.h Normal file
View File

@ -0,0 +1,696 @@
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rds210.h |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
# ifndef RDS_210_H
# define RDS_210_H
#ifndef __P
# if defined(__STDC__) || defined(__GNUC__)
# define __P(x) x
# else
# define __P(x) ()
# endif
#endif
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Alloc |
| |
\------------------------------------------------------------*/
# define RDS_ALLOC_BLOCK 0
# define RDS_ALLOC_HEAP 1
/*------------------------------------------------------------\
| |
| Allocation Macros |
| |
\------------------------------------------------------------*/
# define rdsallocblock( SizeOf ) \
\
( rdsalloc( ( SizeOf ), RDS_ALLOC_BLOCK ) )
# define rdsallocheap( SizeOf ) \
\
( rdsalloc( ( SizeOf ), RDS_ALLOC_HEAP ) )
# define rdsfreeblock( Pointer ) \
\
( rdsfree( (char *)( Pointer ), (unsigned int)0 ) )
# define rdsfreeheap( Pointer, SizeOf ) \
\
( rdsfree( (char *)( Pointer ), (unsigned int)( SizeOf ) ) )
/*------------------------------------------------------------\
| |
| Instance Symmetry |
| |
\------------------------------------------------------------*/
# define RDS_NOSYM 0
# define RDS_ROT_P 1
# define RDS_SYMXY 2
# define RDS_ROT_M 3
# define RDS_SYM_X 4
# define RDS_SY_RM 5
# define RDS_SYM_Y 6
# define RDS_SY_RP 7
# define RDS_MAX_TRANSF ( RDS_SY_RP + 1 )
/*------------------------------------------------------------\
| |
| Rds Layers |
| |
\------------------------------------------------------------*/
# define RDS_LAYER_NWELL 0
# define RDS_LAYER_PWELL 1
# define RDS_LAYER_NIMP 2
# define RDS_LAYER_PIMP 3
# define RDS_LAYER_ACTIV 4
# define RDS_LAYER_NDIF 5
# define RDS_LAYER_PDIF 6
# define RDS_LAYER_NTIE 7
# define RDS_LAYER_PTIE 8
# define RDS_LAYER_POLY 9
# define RDS_LAYER_GATE 10
# define RDS_LAYER_VPOLY 11
# define RDS_LAYER_TPOLY 12
# define RDS_LAYER_POLY2 13
# define RDS_LAYER_CONT 14
# define RDS_LAYER_TPOLY2 15
# define RDS_LAYER_TCONT 16
# define RDS_LAYER_CONT2 17
# define RDS_LAYER_ALU1 18
# define RDS_LAYER_VALU1 19
# define RDS_LAYER_TALU1 20
# define RDS_LAYER_VIA1 21
# define RDS_LAYER_TVIA1 22
# define RDS_LAYER_ALU2 23
# define RDS_LAYER_VALU2 24
# define RDS_LAYER_TALU2 25
# define RDS_LAYER_VIA2 26
# define RDS_LAYER_TVIA2 27
# define RDS_LAYER_ALU3 28
# define RDS_LAYER_VALU3 29
# define RDS_LAYER_TALU3 30
# define RDS_LAYER_VIA3 31
# define RDS_LAYER_TVIA3 32
# define RDS_LAYER_ALU4 33
# define RDS_LAYER_VALU4 34
# define RDS_LAYER_TALU4 35
# define RDS_LAYER_VIA4 36
# define RDS_LAYER_TVIA4 37
# define RDS_LAYER_ALU5 38
# define RDS_LAYER_VALU5 39
# define RDS_LAYER_TALU5 40
# define RDS_LAYER_VIA5 41
# define RDS_LAYER_TVIA5 42
# define RDS_LAYER_ALU6 43
# define RDS_LAYER_VALU6 44
# define RDS_LAYER_TALU6 45
# define RDS_LAYER_VIA6 46
# define RDS_LAYER_TVIA6 47
# define RDS_LAYER_ALU7 48
# define RDS_LAYER_VALU7 49
# define RDS_LAYER_TALU7 50
# define RDS_LAYER_VIA7 51
# define RDS_LAYER_TVIA7 52
# define RDS_LAYER_ALU8 53
# define RDS_LAYER_VALU8 54
# define RDS_LAYER_TALU8 55
# define RDS_LAYER_VIA8 56
# define RDS_LAYER_TVIA8 57
# define RDS_LAYER_ALU9 58
# define RDS_LAYER_CPAS 59
# define RDS_LAYER_REF 60
# define RDS_LAYER_USER0 61
# define RDS_LAYER_USER1 62
# define RDS_LAYER_USER2 63
# define RDS_LAYER_USER3 64
# define RDS_LAYER_USER4 65
# define RDS_LAYER_USER5 66
# define RDS_LAYER_USER6 67
# define RDS_LAYER_USER7 68
# define RDS_LAYER_USER8 69
# define RDS_LAYER_USER9 70
# define RDS_LAYER_ABOX 71
# define RDS_ALL_LAYER ( RDS_LAYER_ABOX + 1 )
# define RDS_LAYER_UNUSED (unsigned char)255
/*------------------------------------------------------------\
| |
| Dynamic Layers |
| |
\------------------------------------------------------------*/
# define RDS_NWELL RDS_DYNAMIC_LAYER[ RDS_LAYER_NWELL ]
# define RDS_PWELL RDS_DYNAMIC_LAYER[ RDS_LAYER_PWELL ]
# define RDS_NIMP RDS_DYNAMIC_LAYER[ RDS_LAYER_NIMP ]
# define RDS_PIMP RDS_DYNAMIC_LAYER[ RDS_LAYER_PIMP ]
# define RDS_ACTIV RDS_DYNAMIC_LAYER[ RDS_LAYER_ACTIV ]
# define RDS_NDIF RDS_DYNAMIC_LAYER[ RDS_LAYER_NDIF ]
# define RDS_PDIF RDS_DYNAMIC_LAYER[ RDS_LAYER_PDIF ]
# define RDS_NTIE RDS_DYNAMIC_LAYER[ RDS_LAYER_NTIE ]
# define RDS_PTIE RDS_DYNAMIC_LAYER[ RDS_LAYER_PTIE ]
# define RDS_POLY RDS_DYNAMIC_LAYER[ RDS_LAYER_POLY ]
# define RDS_GATE RDS_DYNAMIC_LAYER[ RDS_LAYER_GATE ]
# define RDS_VPOLY RDS_DYNAMIC_LAYER[ RDS_LAYER_VPOLY ]
# define RDS_TPOLY RDS_DYNAMIC_LAYER[ RDS_LAYER_TPOLY ]
# define RDS_POLY2 RDS_DYNAMIC_LAYER[ RDS_LAYER_POLY2 ]
# define RDS_TPOLY2 RDS_DYNAMIC_LAYER[ RDS_LAYER_TPOLY2 ]
# define RDS_CONT RDS_DYNAMIC_LAYER[ RDS_LAYER_CONT ]
# define RDS_TCONT RDS_DYNAMIC_LAYER[ RDS_LAYER_TCONT ]
# define RDS_CONT2 RDS_DYNAMIC_LAYER[ RDS_LAYER_CONT2 ]
# define RDS_ALU1 RDS_DYNAMIC_LAYER[ RDS_LAYER_ALU1 ]
# define RDS_VALU1 RDS_DYNAMIC_LAYER[ RDS_LAYER_VALU1 ]
# define RDS_TALU1 RDS_DYNAMIC_LAYER[ RDS_LAYER_TALU1 ]
# define RDS_VIA1 RDS_DYNAMIC_LAYER[ RDS_LAYER_VIA1 ]
# define RDS_TVIA1 RDS_DYNAMIC_LAYER[ RDS_LAYER_TVIA1 ]
# define RDS_ALU2 RDS_DYNAMIC_LAYER[ RDS_LAYER_ALU2 ]
# define RDS_VALU2 RDS_DYNAMIC_LAYER[ RDS_LAYER_VALU2 ]
# define RDS_TALU2 RDS_DYNAMIC_LAYER[ RDS_LAYER_TALU2 ]
# define RDS_VIA2 RDS_DYNAMIC_LAYER[ RDS_LAYER_VIA2 ]
# define RDS_TVIA2 RDS_DYNAMIC_LAYER[ RDS_LAYER_TVIA2 ]
# define RDS_ALU3 RDS_DYNAMIC_LAYER[ RDS_LAYER_ALU3 ]
# define RDS_VALU3 RDS_DYNAMIC_LAYER[ RDS_LAYER_VALU3 ]
# define RDS_TALU3 RDS_DYNAMIC_LAYER[ RDS_LAYER_TALU3 ]
# define RDS_VIA3 RDS_DYNAMIC_LAYER[ RDS_LAYER_VIA3 ]
# define RDS_TVIA3 RDS_DYNAMIC_LAYER[ RDS_LAYER_TVIA3 ]
# define RDS_ALU4 RDS_DYNAMIC_LAYER[ RDS_LAYER_ALU4 ]
# define RDS_VALU4 RDS_DYNAMIC_LAYER[ RDS_LAYER_VALU4 ]
# define RDS_TALU4 RDS_DYNAMIC_LAYER[ RDS_LAYER_TALU4 ]
# define RDS_VIA4 RDS_DYNAMIC_LAYER[ RDS_LAYER_VIA4 ]
# define RDS_TVIA4 RDS_DYNAMIC_LAYER[ RDS_LAYER_TVIA4 ]
# define RDS_ALU5 RDS_DYNAMIC_LAYER[ RDS_LAYER_ALU5 ]
# define RDS_VALU5 RDS_DYNAMIC_LAYER[ RDS_LAYER_VALU5 ]
# define RDS_TALU5 RDS_DYNAMIC_LAYER[ RDS_LAYER_TALU5 ]
# define RDS_VIA5 RDS_DYNAMIC_LAYER[ RDS_LAYER_VIA5 ]
# define RDS_TVIA5 RDS_DYNAMIC_LAYER[ RDS_LAYER_TVIA5 ]
# define RDS_ALU6 RDS_DYNAMIC_LAYER[ RDS_LAYER_ALU6 ]
# define RDS_VALU6 RDS_DYNAMIC_LAYER[ RDS_LAYER_VALU6 ]
# define RDS_TALU6 RDS_DYNAMIC_LAYER[ RDS_LAYER_TALU6 ]
# define RDS_VIA6 RDS_DYNAMIC_LAYER[ RDS_LAYER_VIA6 ]
# define RDS_TVIA6 RDS_DYNAMIC_LAYER[ RDS_LAYER_TVIA6 ]
# define RDS_ALU7 RDS_DYNAMIC_LAYER[ RDS_LAYER_ALU7 ]
# define RDS_VALU7 RDS_DYNAMIC_LAYER[ RDS_LAYER_VALU7 ]
# define RDS_TALU7 RDS_DYNAMIC_LAYER[ RDS_LAYER_TALU7 ]
# define RDS_VIA7 RDS_DYNAMIC_LAYER[ RDS_LAYER_VIA7 ]
# define RDS_TVIA7 RDS_DYNAMIC_LAYER[ RDS_LAYER_TVIA7 ]
# define RDS_ALU8 RDS_DYNAMIC_LAYER[ RDS_LAYER_ALU8 ]
# define RDS_VALU8 RDS_DYNAMIC_LAYER[ RDS_LAYER_VALU8 ]
# define RDS_TALU8 RDS_DYNAMIC_LAYER[ RDS_LAYER_TALU8 ]
# define RDS_VIA8 RDS_DYNAMIC_LAYER[ RDS_LAYER_VIA8 ]
# define RDS_TVIA8 RDS_DYNAMIC_LAYER[ RDS_LAYER_TVIA8 ]
# define RDS_ALU9 RDS_DYNAMIC_LAYER[ RDS_LAYER_ALU9 ]
# define RDS_CPAS RDS_DYNAMIC_LAYER[ RDS_LAYER_CPAS ]
# define RDS_REF RDS_DYNAMIC_LAYER[ RDS_LAYER_REF ]
# define RDS_USER0 RDS_DYNAMIC_LAYER[ RDS_LAYER_USER0 ]
# define RDS_USER1 RDS_DYNAMIC_LAYER[ RDS_LAYER_USER1 ]
# define RDS_USER2 RDS_DYNAMIC_LAYER[ RDS_LAYER_USER2 ]
# define RDS_USER3 RDS_DYNAMIC_LAYER[ RDS_LAYER_USER3 ]
# define RDS_USER4 RDS_DYNAMIC_LAYER[ RDS_LAYER_USER4 ]
# define RDS_USER5 RDS_DYNAMIC_LAYER[ RDS_LAYER_USER5 ]
# define RDS_USER6 RDS_DYNAMIC_LAYER[ RDS_LAYER_USER6 ]
# define RDS_USER7 RDS_DYNAMIC_LAYER[ RDS_LAYER_USER7 ]
# define RDS_USER8 RDS_DYNAMIC_LAYER[ RDS_LAYER_USER8 ]
# define RDS_USER9 RDS_DYNAMIC_LAYER[ RDS_LAYER_USER9 ]
# define RDS_ABOX RDS_DYNAMIC_LAYER[ RDS_LAYER_ABOX ]
/*------------------------------------------------------------\
| |
| Layer |
| |
\------------------------------------------------------------*/
# define RDS_LAYER_MASK (long)(0x000000FF)
/*------------------------------------------------------------\
| |
| Layer Macros |
| |
\------------------------------------------------------------*/
# define GetRdsLayer( R ) \
\
((unsigned int)( ((R)->FLAGS) & RDS_LAYER_MASK ) )
# define SetRdsLayer( R, L ) \
\
((R)->FLAGS = ((R)->FLAGS & ~RDS_LAYER_MASK) | (L) )
/*------------------------------------------------------------\
| |
| Mbk Type |
| |
\------------------------------------------------------------*/
# define MBK_CONNECTOR_MASK (long)(0x00000100)
# define MBK_SEGMENT_MASK (long)(0x00000200)
# define MBK_REFERENCE_MASK (long)(0x00000300)
# define MBK_VIA_MASK (long)(0x00000400)
# define MBK_INSTANCE_MASK (long)(0x00000500)
# define MBK_FIGURE_MASK (long)(0x00000600)
# define RDS_MBK_TYPE_MASK (long)(0x00000F00)
/*------------------------------------------------------------\
| |
| Mbk Type Macro |
| |
\------------------------------------------------------------*/
# define GetRdsMbkType( R ) \
\
((R)->FLAGS & RDS_MBK_TYPE_MASK )
# define SetRdsMbkType( R, T ) \
\
((R)->FLAGS = ( (R)->FLAGS & ~RDS_MBK_TYPE_MASK) | (T) )
/*------------------------------------------------------------\
| |
| Is Mbk Type |
| |
\------------------------------------------------------------*/
# define IsRdsConnector( R ) \
\
(((R)->FLAGS & RDS_MBK_TYPE_MASK) == MBK_CONNECTOR_MASK )
# define IsRdsSegment( R ) \
\
(((R)->FLAGS & RDS_MBK_TYPE_MASK) == MBK_SEGMENT_MASK )
# define IsRdsReference( R ) \
\
(((R)->FLAGS & RDS_MBK_TYPE_MASK) == MBK_REFERENCE_MASK )
# define IsRdsVia( R ) \
\
(((R)->FLAGS & RDS_MBK_TYPE_MASK) == MBK_VIA_MASK )
# define IsRdsInstance( R ) \
\
(((R)->FLAGS & RDS_MBK_TYPE_MASK) == MBK_INSTANCE_MASK )
# define IsRdsFigure( R ) \
\
(((R)->FLAGS & RDS_MBK_TYPE_MASK) == MBK_FIGURE_MASK )
/*------------------------------------------------------------\
| |
| Set Mbk Type |
| |
\------------------------------------------------------------*/
# define SetRdsConnector( R ) \
\
( (R)->FLAGS = ((R)->FLAGS \
\
& ~RDS_MBK_TYPE_MASK ) | MBK_CONNECTOR_MASK )
# define SetRdsSegment( R ) \
\
( (R)->FLAGS = ((R)->FLAGS \
\
& ~RDS_MBK_TYPE_MASK ) | MBK_SEGMENT_MASK )
# define SetRdsReference( R ) \
\
( (R)->FLAGS = ((R)->FLAGS \
\
& ~RDS_MBK_TYPE_MASK ) | MBK_REFERENCE_MASK )
# define SetRdsVia( R ) \
\
( (R)->FLAGS = ((R)->FLAGS \
\
& ~RDS_MBK_TYPE_MASK ) | MBK_VIA_MASK )
# define SetRdsInstance( R ) \
\
( (R)->FLAGS = ((R)->FLAGS \
\
& ~RDS_MBK_TYPE_MASK ) | MBK_INSTANCE_MASK )
# define SetRdsFigure( R ) \
\
( (R)->FLAGS = ((R)->FLAGS \
\
& ~RDS_MBK_TYPE_MASK ) | MBK_FIGURE_MASK )
/*------------------------------------------------------------\
| |
| Extract Type |
| |
\------------------------------------------------------------*/
# define RDS_FIG_REC_MASK (long)(0x00008000)
# define RDS_CON_EXTER_MASK (long)(0x00001000)
# define RDS_CON_INTER_MASK (long)(0x00002000)
# define RDS_REF_REF_MASK (long)(0x00003000)
# define RDS_REF_CON_MASK (long)(0x00004000)
# define RDS_TRANS_GATE_MASK (long)(0x00005000)
# define RDS_EXTRACT_TYPE_MASK (long)(0x00007000)
/*------------------------------------------------------------\
| |
| Extract Type Macros |
| |
\------------------------------------------------------------*/
# define GetRdsExtractType( R ) \
\
( (R)->FLAGS & RDS_EXTRACT_TYPE_MASK )
# define SetRdsExtractType( R, E ) \
\
( (R)->FLAGS = ((R)->FLAGS \
\
& ~RDS_EXTRACT_TYPE_MASK ) | (E) )
/*------------------------------------------------------------\
| |
| Is Extract Type |
| |
\------------------------------------------------------------*/
# define IsRdsTransGate( R ) \
\
(((R)->FLAGS & RDS_EXTRACT_TYPE_MASK) == RDS_TRANS_GATE_MASK)
# define IsRdsConExter( R ) \
\
(((R)->FLAGS & RDS_EXTRACT_TYPE_MASK) == RDS_CON_EXTER_MASK )
# define IsRdsConInter( R ) \
\
(((R)->FLAGS & RDS_EXTRACT_TYPE_MASK) == RDS_CON_INTER_MASK )
# define IsRdsRefRef( R ) \
\
(((R)->FLAGS & RDS_EXTRACT_TYPE_MASK) == RDS_REF_REF_MASK )
# define IsRdsRefCon( R ) \
\
(((R)->FLAGS & RDS_EXTRACT_TYPE_MASK) == RDS_REF_CON_MASK )
# define IsRdsFigRec( R ) \
\
((R)->FLAGS & RDS_FIG_REC_MASK )
/*------------------------------------------------------------\
| |
| Set Extract Type |
| |
\------------------------------------------------------------*/
# define SetRdsTransGate( R ) \
\
( (R)->FLAGS = ((R)->FLAGS \
\
& ~RDS_EXTRACT_TYPE_MASK ) | RDS_TRANS_GATE_MASK )
# define SetRdsConExter( R ) \
\
( (R)->FLAGS = ((R)->FLAGS \
\
& ~RDS_EXTRACT_TYPE_MASK ) | RDS_CON_EXTER_MASK )
# define SetRdsConInter( R ) \
\
( (R)->FLAGS = ((R)->FLAGS \
\
& ~RDS_EXTRACT_TYPE_MASK ) | RDS_CON_INTER_MASK )
# define SetRdsRefRef( R ) \
\
( (R)->FLAGS = ((R)->FLAGS \
\
& ~RDS_EXTRACT_TYPE_MASK ) | RDS_REF_REF_MASK )
# define SetRdsRefCon( R ) \
\
( (R)->FLAGS = ((R)->FLAGS \
\
& ~RDS_EXTRACT_TYPE_MASK ) | RDS_REF_CON_MASK )
# define SetRdsFigRec( R ) \
\
( (R)->FLAGS |= RDS_FIG_REC_MASK )
# define ClearRdsFigRec( R ) \
\
( (R)->FLAGS &= ~RDS_FIG_REC_MASK )
/*------------------------------------------------------------\
| |
| Debug Macros |
| |
\------------------------------------------------------------*/
# define rdsbegin() \
\
do \
{ \
if ( RDS_DEBUG_ON ) addrdsdebug(__LINE__,__FILE__); \
} \
while ( 0 )
# define rdsend() \
\
do \
{ \
if ( RDS_DEBUG_ON ) delrdsdebug(); \
} \
while ( 0 )
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Rds Rectangle |
| |
\------------------------------------------------------------*/
typedef struct rdsrec_list
{
struct rdsrec_list *NEXT;
long X;
long Y;
long DX;
long DY;
long FLAGS;
char *NAME;
void *USER;
} rdsrec_list;
/*------------------------------------------------------------\
| |
| Rds Instance |
| |
\------------------------------------------------------------*/
typedef struct rdsins_list
{
struct rdsins_list *NEXT;
char *FIGNAME;
char *INSNAME;
long X;
long Y;
char TRANSF;
unsigned short SIZE;
char FLAGS;
struct rdsrec_list **LAYERTAB;
struct rdsrec_list **COURONNE;
void *USER;
} rdsins_list;
/*------------------------------------------------------------\
| |
| Rds Figure |
| |
\------------------------------------------------------------*/
typedef struct rdsfig_list
{
struct rdsfig_list *NEXT;
char *NAME;
struct rdsrec_list **LAYERTAB;
struct rdsins_list *INSTANCE;
char MODE;
unsigned short SIZE;
char FLAGS;
char *FLAGTAB;
struct rdsrec_list **BBOXTAB;
void *USER;
} rdsfig_list;
/*------------------------------------------------------------\
| |
| Rds Debug |
| |
\------------------------------------------------------------*/
typedef struct rdsdebug_list
{
struct rdsdebug_list *NEXT;
int LINE;
char *NAME;
} rdsdebug_list;
/*------------------------------------------------------------\
| |
| Global Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Head List |
| |
\------------------------------------------------------------*/
extern rdsfig_list *HEAD_RDSFIG;
extern rdsdebug_list *HEAD_RDSDEBUG;
/*------------------------------------------------------------\
| |
| Debug Mode |
| |
\------------------------------------------------------------*/
extern char RDS_DEBUG_ON;
/*------------------------------------------------------------\
| |
| Name |
| |
\------------------------------------------------------------*/
extern char **RDS_LAYER_NAME;
extern char *RDS_ALL_LAYER_NAME[ RDS_ALL_LAYER ];
extern char *RDS_TRANSF_NAME [ RDS_MAX_TRANSF ];
/*------------------------------------------------------------\
| |
| Dynamic Layers |
| |
\------------------------------------------------------------*/
extern unsigned char RDS_DYNAMIC_LAYER[ RDS_ALL_LAYER ];
extern unsigned char *RDS_STATIC_LAYER;
extern unsigned char RDS_MAX_LAYER;
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Alloc Functions |
| |
\------------------------------------------------------------*/
extern char * rdsalloc __P((unsigned long Size, char Heap));
extern rdsfig_list * allocrdsfig __P(());
extern rdsins_list * allocrdsins __P(());
extern rdsrec_list * allocrdsrec __P((unsigned long Size));
extern rdsdebug_list * allocrdsdebug __P(());
/*------------------------------------------------------------\
| |
| Free Functions |
| |
\------------------------------------------------------------*/
extern void rdsfree __P((char *Pointer, unsigned int Size));
extern void freerdsfig __P((rdsfig_list *Figure));
extern void freerdsins __P((rdsins_list *Instance));
extern void freerdsrec __P((rdsrec_list *Rectangle, unsigned int Size));
extern void freerdsdebug __P((rdsdebug_list *Debug));
/*------------------------------------------------------------\
| |
| Add Functions |
| |
\------------------------------------------------------------*/
extern rdsrec_list * addrdsfigrec __P((rdsfig_list *Figure, char *Name, char Layer, long X, long Y, long Dx, long Dy));
extern rdsrec_list * addrdsinsrec __P((rdsins_list *Instance, char *Name, char Layer, long X, long Y, long Dx, long Dy));
extern rdsins_list * addrdsins __P((rdsfig_list *Figure, char *Model, char *Name, char Sym, long X, long Y));
extern rdsfig_list * addrdsfig __P((char *Name, unsigned short Size));
extern void addrdsdebug __P((int Line, char *File));
/*------------------------------------------------------------\
| |
| Del Functions |
| |
\------------------------------------------------------------*/
extern int delrdsfigrec __P((rdsfig_list *Figure, rdsrec_list *Rectangle));
extern int delrdsinsrec __P((rdsins_list *Instance, rdsrec_list *Rectangle));
extern int delrdsins __P((rdsfig_list *Figure, char *Name));
extern int delrdsfig __P((char *Name));
extern void delrdsdebug __P(());
/*------------------------------------------------------------\
| |
| View Functions |
| |
\------------------------------------------------------------*/
extern void viewrdsrec __P((rdsrec_list *Rectangle));
extern void viewrdsins __P((rdsins_list *Instance));
extern void viewrdsfig __P((rdsfig_list *Figure));
/*------------------------------------------------------------\
| |
| Debug Functions |
| |
\------------------------------------------------------------*/
extern void rdsdebug __P(());
# endif

View File

@ -0,0 +1,178 @@
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rdsadd.c |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include <stdio.h>
# include <string.h>
# include <mut.h>
# include "rds.h"
# include "rdsadd.h"
# include "rdserror.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Rds Add Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Rds Add Figure |
| |
\------------------------------------------------------------*/
rdsfig_list *addrdsfig( Name, Size )
char *Name;
unsigned short Size;
{
rdsfig_list *Figure;
Figure = allocrdsfig();
Figure->NAME = namealloc( Name );
Figure->SIZE = Size;
Figure->MODE = 'A';
Figure->NEXT = HEAD_RDSFIG;
HEAD_RDSFIG = Figure;
return( Figure );
}
/*------------------------------------------------------------\
| |
| Rds Add Instance |
| |
\------------------------------------------------------------*/
rdsins_list *addrdsins( Figure, Model, Name, Sym, X, Y )
rdsfig_list *Figure;
char *Model;
char *Name;
char Sym;
long X;
long Y;
{
rdsins_list *Instance;
Instance = allocrdsins();
Instance->FIGNAME = namealloc( Model );
Instance->INSNAME = namealloc( Name );
Instance->X = X;
Instance->Y = Y;
Instance->TRANSF = Sym;
Instance->SIZE = Figure->SIZE;
Instance->NEXT = Figure->INSTANCE;
Figure->INSTANCE = Instance;
return( Instance );
}
/*------------------------------------------------------------\
| |
| Rds Add Rectangle in Instance |
| |
\------------------------------------------------------------*/
rdsrec_list *addrdsinsrec( Instance, Name, Layer, X, Y, Dx, Dy )
rdsins_list *Instance;
char *Name;
char Layer;
long X;
long Y;
long Dx;
long Dy;
{
rdsrec_list *Rectangle;
Rectangle = allocrdsrec( Instance->SIZE );
Rectangle->NAME = namealloc( Name );
Rectangle->X = X;
Rectangle->Y = Y;
Rectangle->DX = Dx;
Rectangle->DY = Dy;
Rectangle->FLAGS = (unsigned char)(Layer);
Rectangle->NEXT = Instance->LAYERTAB[ (unsigned int)Layer ];
Instance->LAYERTAB[ (unsigned int)Layer ] = Rectangle;
ClearRdsFigRec( Rectangle );
return( Rectangle );
}
/*------------------------------------------------------------\
| |
| Rds Add Rectangle in Figure |
| |
\------------------------------------------------------------*/
rdsrec_list *addrdsfigrec( Figure, Name, Layer, X, Y, Dx, Dy )
rdsfig_list *Figure;
char *Name;
char Layer;
long X;
long Y;
long Dx;
long Dy;
{
rdsrec_list *Rectangle;
Rectangle = allocrdsrec( Figure->SIZE );
Rectangle->NAME = namealloc( Name );
Rectangle->X = X;
Rectangle->Y = Y;
Rectangle->DX = Dx;
Rectangle->DY = Dy;
Rectangle->FLAGS = (unsigned char)(Layer);
Rectangle->NEXT = Figure->LAYERTAB[ (unsigned int)Layer ];
Figure->LAYERTAB[ (unsigned int)Layer ] = Rectangle;
SetRdsFigRec( Rectangle );
return( Rectangle );
}

View File

@ -0,0 +1,49 @@
#ifndef __P
# if defined(__STDC__) || defined(__GNUC__)
# define __P(x) x
# else
# define __P(x) ()
# endif
#endif
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rdsadd.c |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
# ifndef RDS_ADD_H
# define RDS_ADD_H
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Macro |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

View File

@ -0,0 +1,386 @@
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rdsalloc.c |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include <stdio.h>
# include <stdlib.h>
# include <memory.h>
# include <string.h>
# include <mut.h>
# include "rds.h"
# include "rdsalloc.h"
# include "rdserror.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Head List |
| |
\------------------------------------------------------------*/
rdsfig_list *HEAD_RDSFIG = (rdsfig_list *)NULL;
/*------------------------------------------------------------\
| |
| Name |
| |
\------------------------------------------------------------*/
char *RDS_ALL_LAYER_NAME[ RDS_ALL_LAYER ] =
{
"RDS_NWELL",
"RDS_PWELL",
"RDS_NIMP ",
"RDS_PIMP ",
"RDS_ACTIV",
"RDS_NDIF ",
"RDS_PDIF ",
"RDS_NTIE ",
"RDS_PTIE ",
"RDS_POLY ",
"RDS_GATE ",
"RDS_VPOLY",
"RDS_TPOLY",
"RDS_POLY2",
"RDS_CONT ",
"RDS_TPOLY2",
"RDS_TCONT",
"RDS_CONT2",
"RDS_ALU1 ",
"RDS_VALU1",
"RDS_TALU1",
"RDS_VIA1 ",
"RDS_TVIA1",
"RDS_ALU2 ",
"RDS_VALU2",
"RDS_TALU2",
"RDS_VIA2 ",
"RDS_TVIA2",
"RDS_ALU3 ",
"RDS_VALU3",
"RDS_TALU3",
"RDS_VIA3 ",
"RDS_TVIA3",
"RDS_ALU4 ",
"RDS_VALU4",
"RDS_TALU4",
"RDS_VIA4 ",
"RDS_TVIA4",
"RDS_ALU5 ",
"RDS_VALU5",
"RDS_TALU5",
"RDS_VIA5 ",
"RDS_TVIA5",
"RDS_ALU6 ",
"RDS_VALU6",
"RDS_TALU6",
"RDS_VIA6 ",
"RDS_TVIA6",
"RDS_ALU7 ",
"RDS_VALU7",
"RDS_TALU7",
"RDS_VIA7 ",
"RDS_TVIA7",
"RDS_ALU8 ",
"RDS_VALU8",
"RDS_TALU8",
"RDS_VIA8 ",
"RDS_TVIA8",
"RDS_ALU9 ",
"RDS_CPAS ",
"RDS_REF ",
"RDS_USER0",
"RDS_USER1",
"RDS_USER2",
"RDS_USER3",
"RDS_USER4",
"RDS_USER5",
"RDS_USER6",
"RDS_USER7",
"RDS_USER8",
"RDS_USER9",
"RDS_ABOX"
};
char *RDS_TRANSF_NAME [ RDS_MAX_TRANSF ] =
{
"NOSYM",
"ROT_P",
"SYMXY",
"ROT_M",
"SYM_X",
"SY_RM",
"SYM_Y",
"SY_RP"
};
char **RDS_LAYER_NAME = RDS_ALL_LAYER_NAME;
/*------------------------------------------------------------\
| |
| Dynamic Layers |
| |
\------------------------------------------------------------*/
unsigned char RDS_DYNAMIC_LAYER[ RDS_ALL_LAYER ] =
{
RDS_LAYER_NWELL,
RDS_LAYER_PWELL,
RDS_LAYER_NIMP ,
RDS_LAYER_PIMP ,
RDS_LAYER_ACTIV,
RDS_LAYER_NDIF ,
RDS_LAYER_PDIF ,
RDS_LAYER_NTIE ,
RDS_LAYER_PTIE ,
RDS_LAYER_POLY ,
RDS_LAYER_GATE ,
RDS_LAYER_VPOLY,
RDS_LAYER_TPOLY,
RDS_LAYER_POLY2,
RDS_LAYER_CONT ,
RDS_LAYER_TPOLY2,
RDS_LAYER_TCONT,
RDS_LAYER_CONT2,
RDS_LAYER_ALU1 ,
RDS_LAYER_VALU1,
RDS_LAYER_TALU1,
RDS_LAYER_VIA1 ,
RDS_LAYER_TVIA1,
RDS_LAYER_ALU2 ,
RDS_LAYER_VALU2,
RDS_LAYER_TALU2,
RDS_LAYER_VIA2 ,
RDS_LAYER_TVIA2,
RDS_LAYER_ALU3 ,
RDS_LAYER_VALU3,
RDS_LAYER_TALU3,
RDS_LAYER_VIA3 ,
RDS_LAYER_TVIA3,
RDS_LAYER_ALU4 ,
RDS_LAYER_VALU4,
RDS_LAYER_TALU4,
RDS_LAYER_VIA4 ,
RDS_LAYER_TVIA4,
RDS_LAYER_ALU5 ,
RDS_LAYER_VALU5,
RDS_LAYER_TALU5,
RDS_LAYER_VIA5 ,
RDS_LAYER_TVIA5,
RDS_LAYER_ALU6 ,
RDS_LAYER_VALU6,
RDS_LAYER_TALU6,
RDS_LAYER_VIA6 ,
RDS_LAYER_TVIA6,
RDS_LAYER_ALU7 ,
RDS_LAYER_VALU7,
RDS_LAYER_TALU7,
RDS_LAYER_VIA7 ,
RDS_LAYER_TVIA7,
RDS_LAYER_ALU8 ,
RDS_LAYER_VALU8,
RDS_LAYER_TALU8,
RDS_LAYER_VIA8 ,
RDS_LAYER_TVIA8,
RDS_LAYER_ALU9 ,
RDS_LAYER_CPAS ,
RDS_LAYER_REF ,
RDS_LAYER_USER0,
RDS_LAYER_USER1,
RDS_LAYER_USER2,
RDS_LAYER_USER3,
RDS_LAYER_USER4,
RDS_LAYER_USER5,
RDS_LAYER_USER6,
RDS_LAYER_USER7,
RDS_LAYER_USER8,
RDS_LAYER_USER9,
RDS_LAYER_ABOX
};
unsigned char *RDS_STATIC_LAYER = RDS_DYNAMIC_LAYER;
unsigned char RDS_MAX_LAYER = RDS_ALL_LAYER;
/*------------------------------------------------------------\
| |
| Alloc Heap |
| |
\------------------------------------------------------------*/
char *RdsHeapHeadArray[ 256 ];
static char InitRdsHeapHeadArray = 1;
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Alloc Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Rds Alloc |
| |
\------------------------------------------------------------*/
char *rdsalloc( Size, Heap )
unsigned long Size;
char Heap;
{
long Counter;
unsigned long Index;
char *Pointer;
char **Prev;
char *Scan;
if ( InitRdsHeapHeadArray == 1 )
{
InitRdsHeapHeadArray = 0;
for ( Counter = 0; Counter < 256 ; Counter++ )
{
RdsHeapHeadArray[ Counter ] = (char *)NULL;
}
}
Index = ( Size + 3 ) >> 2;
if ( ( Heap == RDS_ALLOC_BLOCK ) ||
( Index > 255 ) )
{
if ( !( Pointer = malloc( Size ) ) )
{
rdserror( RDS_ALLOC_ERROR, (char *)NULL );
}
bzero( Pointer, Size );
return( Pointer );
}
Size = Index << 2;
if ( RdsHeapHeadArray[ Index ] == (char *)NULL )
{
if ( !( Pointer = malloc( Size << RDS_ALLOC_SHIFT ) ) )
{
rdserror( RDS_ALLOC_ERROR, (char *)NULL );
}
Scan = (char *)(Pointer + Size);
Prev = &RdsHeapHeadArray[ Index ];
for ( Counter = 1; Counter < RDS_ALLOC_SIZE; Counter++ )
{
*Prev = Scan; Prev = (char **)Scan; Scan = (char *)(Scan + Size);
}
*Prev = (char *)NULL;
RdsHeapHeadArray[ Index ] = (char *)(Pointer + Size);
bzero( Pointer, Size );
return( Pointer );
}
Pointer = RdsHeapHeadArray[ Index ];
RdsHeapHeadArray[ Index ] = *((char **)RdsHeapHeadArray[ Index ]);
bzero( Pointer, Size );
return( Pointer );
}
/*------------------------------------------------------------\
| |
| Rds Alloc Figure |
| |
\------------------------------------------------------------*/
rdsfig_list *allocrdsfig()
{
rdsfig_list *Figure;
void *Pointer;
Figure = (rdsfig_list *)rdsallocblock( sizeof( rdsfig_list) );
Pointer = (void *)rdsallocblock( sizeof(rdsrec_list *) * RDS_MAX_LAYER );
Figure->LAYERTAB = (rdsrec_list **)Pointer;
Pointer = (void *)rdsallocblock( sizeof(rdsrec_list *) * RDS_MAX_LAYER );
Figure->BBOXTAB = (rdsrec_list **)Pointer;
Pointer = (void *)rdsallocblock( sizeof( char ) * RDS_MAX_LAYER );
Figure->FLAGTAB = (char *)Pointer;
return( Figure );
}
/*------------------------------------------------------------\
| |
| Rds Alloc Instance |
| |
\------------------------------------------------------------*/
rdsins_list *allocrdsins()
{
rdsins_list *Instance;
void *Pointer;
Instance = (rdsins_list *)rdsallocblock( sizeof( rdsins_list ) );
Pointer = (void *)rdsallocblock( sizeof(rdsrec_list *) * RDS_MAX_LAYER );
Instance->LAYERTAB = (rdsrec_list **)Pointer;
Pointer = (void *)rdsallocblock( sizeof(rdsrec_list *) * RDS_MAX_LAYER );
Instance->COURONNE = (rdsrec_list **)Pointer;
return( Instance );
}
/*------------------------------------------------------------\
| |
| Rds Alloc Rectangle |
| |
\------------------------------------------------------------*/
rdsrec_list *allocrdsrec( Size )
unsigned long Size;
{
return( (rdsrec_list *)( rdsallocheap( sizeof( rdsrec_list ) + Size ) ) );
}

View File

@ -0,0 +1,59 @@
#ifndef __P
# if defined(__STDC__) || defined(__GNUC__)
# define __P(x) x
# else
# define __P(x) ()
# endif
#endif
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rdsalloc.h |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
# ifndef RDS_ALLOC_H
# define RDS_ALLOC_H
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
# define RDS_ALLOC_SIZE 512
# define RDS_ALLOC_SHIFT 9
/*------------------------------------------------------------\
| |
| Macro |
| |
\------------------------------------------------------------*/
# define bzero(b,len) memset((b), 0, (size_t)(len))
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
extern char *RdsHeapHeadArray[ 256 ];
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

View File

@ -0,0 +1,158 @@
/*------------------------------------------------------------\
| |
| Tool : Rds |
| |
| File : rdsadebug.c |
| |
| Date : 25.10.94 |
| |
| Author : Jacomme Ludovic |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include <stdio.h>
# include <signal.h>
# include <mut.h>
# include "rds.h"
# include "rdsdebug.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
rdsdebug_list *HEAD_RDSDEBUG = (rdsdebug_list *)NULL;
char RDS_DEBUG_ON = 0;
/*------------------------------------------------------------\
| |
| Privates |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Rds Alloc Debug |
| |
\------------------------------------------------------------*/
rdsdebug_list *allocrdsdebug()
{
return( (rdsdebug_list *)(rdsallocheap( sizeof( rdsdebug_list ) ) ) );
}
/*------------------------------------------------------------\
| |
| Rds Free Debug |
| |
\------------------------------------------------------------*/
void freerdsdebug( Debug )
rdsdebug_list *Debug;
{
rdsfreeheap( (char *)Debug, sizeof( rdsdebug_list ) );
}
/*------------------------------------------------------------\
| |
| traprdsdebug |
| |
\------------------------------------------------------------*/
void traprdsdebug()
{
rdsdebug_list *ScanDebug;
for ( ScanDebug = HEAD_RDSDEBUG;
ScanDebug != (rdsdebug_list *)NULL;
ScanDebug = ScanDebug->NEXT )
{
fprintf( stdout, "rdsdebug: file %s line %d\n",
ScanDebug->NAME, ScanDebug->LINE );
}
fflush( stdout );
signal( SIGQUIT, traprdsdebug );
signal( SIGSEGV, SIG_DFL );
signal( SIGBUS , SIG_DFL );
signal( SIGILL , SIG_DFL );
}
/*------------------------------------------------------------\
| |
| rdsdebug |
| |
\------------------------------------------------------------*/
void rdsdebug()
{
signal( SIGSEGV, traprdsdebug );
signal( SIGBUS, traprdsdebug );
signal( SIGILL, traprdsdebug );
signal( SIGQUIT, traprdsdebug );
RDS_DEBUG_ON = 1;
}
/*------------------------------------------------------------\
| |
| addrdsdebug |
| |
\------------------------------------------------------------*/
void addrdsdebug( Line, File )
int Line;
char *File;
{
rdsdebug_list *NewDebug;
NewDebug = allocrdsdebug();
NewDebug->NEXT = HEAD_RDSDEBUG;
NewDebug->LINE = Line;
NewDebug->NAME = File;
HEAD_RDSDEBUG = NewDebug;
}
/*------------------------------------------------------------\
| |
| delrdsdebug |
| |
\------------------------------------------------------------*/
void delrdsdebug()
{
rdsdebug_list *DelDebug;
DelDebug = HEAD_RDSDEBUG;
if ( DelDebug != (rdsdebug_list *)NULL )
{
HEAD_RDSDEBUG = DelDebug->NEXT;
freerdsdebug( DelDebug );
}
}

View File

@ -0,0 +1,49 @@
#ifndef __P
# if defined(__STDC__) || defined(__GNUC__)
# define __P(x) x
# else
# define __P(x) ()
# endif
#endif
/*------------------------------------------------------------\
| |
| Tool : Rds |
| |
| File : rdsdebug.h |
| |
| Date : 27.06.95 |
| |
| Author : Jacomme Ludovic |
| |
\------------------------------------------------------------*/
# ifndef RDS_DEBUG_H
# define RDS_DEBUG_H
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Macro |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

View File

@ -0,0 +1,256 @@
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rdsdel.c |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include <stdio.h>
# include <string.h>
# include <mut.h>
# include "rds.h"
# include "rdsdel.h"
# include "rdserror.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Rds Del Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Rds Del Figure |
| |
\------------------------------------------------------------*/
int delrdsfig( Name )
char *Name;
{
rdsfig_list *Figure;
rdsfig_list **Previous;
rdsins_list *Instance;
rdsrec_list *Rectangle;
void *Save;
int Layer;
Name = namealloc( Name );
Previous = &HEAD_RDSFIG;
for ( Figure = HEAD_RDSFIG;
Figure != (rdsfig_list *)NULL;
Figure = Figure->NEXT )
{
if ( Figure->NAME == Name ) break;
Previous = &Figure->NEXT;
}
if ( Figure == (rdsfig_list *)NULL )
return( 0 );
*Previous = Figure->NEXT;
for ( Layer = 0; Layer < RDS_MAX_LAYER; Layer++ )
{
Rectangle = Figure->LAYERTAB[ Layer ];
while ( Rectangle != (rdsrec_list *)NULL )
{
Save = (void *)(Rectangle->NEXT);
freerdsrec( Rectangle, Figure->SIZE );
Rectangle = (rdsrec_list *)Save;
}
}
Instance = Figure->INSTANCE;
while ( Instance != (rdsins_list *)NULL )
{
for ( Layer = 0; Layer < RDS_MAX_LAYER; Layer++ )
{
Rectangle = Instance->LAYERTAB[ Layer ];
while ( Rectangle != (rdsrec_list *)NULL )
{
Save = (void *)(Rectangle->NEXT);
freerdsrec( Rectangle, Figure->SIZE );
Rectangle = (rdsrec_list *)Save;
}
}
Save = (void *)(Instance->NEXT);
freerdsins( Instance );
Instance = (rdsins_list *)Save;
}
freerdsfig( Figure );
return( 1 );
}
/*------------------------------------------------------------\
| |
| Rds Del Instance |
| |
\------------------------------------------------------------*/
int delrdsins( Figure, Name )
rdsfig_list *Figure;
char *Name;
{
rdsins_list **Previous;
rdsins_list *Instance;
rdsrec_list *Rectangle;
void *Save;
int Layer;
Name = namealloc( Name );
Previous = &Figure->INSTANCE;
for ( Instance = Figure->INSTANCE;
Instance != (rdsins_list *)NULL;
Instance = Instance->NEXT )
{
if ( Instance->INSNAME == Name ) break;
Previous = &Instance->NEXT;
}
if ( Instance == (rdsins_list *)NULL )
return( 0 );
*Previous = Instance->NEXT;
for ( Layer = 0; Layer < RDS_MAX_LAYER; Layer++ )
{
Rectangle = Instance->LAYERTAB[ Layer ];
while ( Rectangle != (rdsrec_list *)NULL )
{
Save = (void *)(Rectangle->NEXT);
freerdsrec( Rectangle, Figure->SIZE );
Rectangle = (rdsrec_list *)Save;
}
}
freerdsins( Instance );
return( 1 );
}
/*------------------------------------------------------------\
| |
| Rds Del Rectangle In Instance |
| |
\------------------------------------------------------------*/
int delrdsinsrec( Instance, Rectangle )
rdsins_list *Instance;
rdsrec_list *Rectangle;
{
rdsrec_list **Previous;
rdsrec_list *Scan;
Previous = &Instance->LAYERTAB[ GetRdsLayer( Rectangle ) ];
for ( Scan = Instance->LAYERTAB[ GetRdsLayer( Rectangle ) ];
Scan != (rdsrec_list *)NULL;
Scan = Scan->NEXT )
{
if ( Scan == Rectangle ) break;
Previous = &Scan->NEXT;
}
if ( Scan == (rdsrec_list *)NULL )
return( 0 );
*Previous = Rectangle->NEXT;
freerdsrec( Rectangle, Instance->SIZE );
return( 1 );
}
/*------------------------------------------------------------\
| |
| Rds Del Rectangle In Figure |
| |
\------------------------------------------------------------*/
int delrdsfigrec( Figure, Rectangle )
rdsfig_list *Figure;
rdsrec_list *Rectangle;
{
rdsrec_list **Previous;
rdsrec_list *Scan;
Previous = &Figure->LAYERTAB[ GetRdsLayer( Rectangle ) ];
for ( Scan = Figure->LAYERTAB[ GetRdsLayer( Rectangle ) ];
Scan != (rdsrec_list *)NULL;
Scan = Scan->NEXT )
{
if ( Scan == Rectangle ) break;
Previous = &Scan->NEXT;
}
if ( Scan == (rdsrec_list *)NULL )
return( 0 );
*Previous = Rectangle->NEXT;
freerdsrec( Rectangle, Figure->SIZE );
return( 1 );
}

View File

@ -0,0 +1,49 @@
#ifndef __P
# if defined(__STDC__) || defined(__GNUC__)
# define __P(x) x
# else
# define __P(x) ()
# endif
#endif
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rdsdel.c |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
# ifndef RDS_DEL_H
# define RDS_DEL_H
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Macro |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

View File

@ -0,0 +1,75 @@
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rdserror.c |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include <stdio.h>
# include <string.h>
# include <mut.h>
# include "rds.h"
# include "rdserror.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
void rds_error( Error, Text, File, Line )
char Error;
char *Text;
char *File;
long Line;
{
char Name[ 128 ];
strcpy( Name, File );
Name[ strlen( File ) - 1 ] = '\0';
fprintf( stderr, "rds:%s%ld ", Name, Line );
switch( Error )
{
case RDS_ALLOC_ERROR :
fprintf( stderr, "alloc error, can't continue !\n");
break;
default :
fprintf( stderr, "unknown internal error %d !\n", Error );
}
EXIT( 1 );
}

View File

@ -0,0 +1,57 @@
#ifndef __P
# if defined(__STDC__) || defined(__GNUC__)
# define __P(x) x
# else
# define __P(x) ()
# endif
#endif
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rdserror.c |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
# ifndef RDS_ERROR_H
# define RDS_ERROR_H
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
# define RDS_ALLOC_ERROR 0
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Macros |
| |
\------------------------------------------------------------*/
# define rdserror( E, V ) (rds_error( (E), (V), __FILE__, __LINE__ ))
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
extern void rds_error __P((char Error, char *Text, char *File, long Line));
# endif

View File

@ -0,0 +1,122 @@
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rdsfree.c |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include <stdio.h>
# include <malloc.h>
# include <stdlib.h>
# include <string.h>
# include <mut.h>
# include "rds.h"
# include "rdsalloc.h"
# include "rdsfree.h"
# include "rdserror.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Rds Free |
| |
\------------------------------------------------------------*/
void rdsfree( Pointer, Size )
char *Pointer;
unsigned int Size;
{
unsigned int Index;
Index = ( Size + 3 ) >> 2;
if ( ( Size == 0 ) ||
( Index > 255 ) )
{
free( Pointer );
}
else
{
*((char **)Pointer) = RdsHeapHeadArray[ Index ];
RdsHeapHeadArray[ Index ] = Pointer;
}
}
/*------------------------------------------------------------\
| |
| Rds Free Figure |
| |
\------------------------------------------------------------*/
void freerdsfig( Figure )
rdsfig_list *Figure;
{
rdsfreeblock( (char *)Figure->LAYERTAB );
rdsfreeblock( (char *)Figure->FLAGTAB );
rdsfreeblock( (char *)Figure->BBOXTAB );
rdsfreeblock( (char *)Figure );
}
/*------------------------------------------------------------\
| |
| Rds Free Instance |
| |
\------------------------------------------------------------*/
void freerdsins( Instance )
rdsins_list *Instance;
{
rdsfreeblock( (char *)Instance->LAYERTAB );
rdsfreeblock( (char *)Instance->COURONNE );
rdsfreeblock( (char *)Instance );
}
/*------------------------------------------------------------\
| |
| Rds Free Rectangle |
| |
\------------------------------------------------------------*/
void freerdsrec( Rectangle, Size )
rdsrec_list *Rectangle;
unsigned int Size;
{
rdsfreeheap( (char *)Rectangle, sizeof( rdsrec_list ) + Size);
}

View File

@ -0,0 +1,49 @@
#ifndef __P
# if defined(__STDC__) || defined(__GNUC__)
# define __P(x) x
# else
# define __P(x) ()
# endif
#endif
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rdsfree.c |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
# ifndef RDS_FREE_H
# define RDS_FREE_H
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Macro |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

View File

@ -0,0 +1,160 @@
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rdsview.c |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include <stdio.h>
# include <string.h>
# include <mut.h>
# include <mph.h>
# include "rds.h"
# include "rdsview.h"
# include "rdserror.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| View Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| View Rds Rectangle |
| |
\------------------------------------------------------------*/
void viewrdsrec( Rectangle )
rdsrec_list *Rectangle;
{
char *LayerName;
LayerName = RDS_LAYER_NAME[ GetRdsLayer( Rectangle ) ];
fprintf( stdout, "\n\t--> Rectangle" );
if ( Rectangle->NAME != (char *)NULL )
{
fprintf( stdout, "\n\t\tNAME : %s" , Rectangle->NAME );
}
else
{
fprintf( stdout, "\n\t\tNAME : NO NAME" );
}
fprintf( stdout, "\n\t\tX : %ld" , Rectangle->X );
fprintf( stdout, "\n\t\tY : %ld" , Rectangle->Y );
fprintf( stdout, "\n\t\tDX : %ld" , Rectangle->DX );
fprintf( stdout, "\n\t\tDY : %ld" , Rectangle->DY );
fprintf( stdout, "\n\t\tFLAGS : %0lX", Rectangle->FLAGS );
fprintf( stdout, "\n\t\tLAYER : %s" , LayerName );
}
/*------------------------------------------------------------\
| |
| View Rds Instance |
| |
\------------------------------------------------------------*/
void viewrdsins( Instance )
rdsins_list *Instance;
{
int Layer;
rdsrec_list *Rectangle;
char *TransfName;
TransfName = RDS_TRANSF_NAME[ (int)Instance->TRANSF ];
fprintf( stdout, "\n--> Instance" );
fprintf( stdout, "\n\tINSNAME : %s" , Instance->INSNAME );
fprintf( stdout, "\n\tFIGNAME : %s" , Instance->FIGNAME );
fprintf( stdout, "\n\tX : %ld", Instance->X );
fprintf( stdout, "\n\tY : %ld", Instance->Y );
fprintf( stdout, "\n\tTRANSF : %s" , TransfName );
fprintf( stdout, "\n\tSIZE : %d" , Instance->SIZE );
fprintf( stdout, "\n\tFLAGS : %x" , Instance->FLAGS );
for ( Layer = 0; Layer < RDS_MAX_LAYER; Layer++ )
{
for ( Rectangle = Instance->LAYERTAB[ Layer ];
Rectangle != (rdsrec_list *)NULL;
Rectangle = Rectangle->NEXT )
{
viewrdsrec( Rectangle );
}
}
}
/*------------------------------------------------------------\
| |
| View Rds Figure |
| |
\------------------------------------------------------------*/
void viewrdsfig( Figure )
rdsfig_list *Figure;
{
int Layer;
rdsins_list *Instance;
rdsrec_list *Rectangle;
fprintf( stdout, "\n--> Figure" );
fprintf( stdout, "\n\tNAME : %s", Figure->NAME );
fprintf( stdout, "\n\tMODE : %c", Figure->MODE );
fprintf( stdout, "\n\tSIZE : %d", Figure->SIZE );
fprintf( stdout, "\n\tFLAGS : %x", Figure->FLAGS );
for ( Layer = 0; Layer < RDS_MAX_LAYER; Layer++ )
{
for ( Rectangle = Figure->LAYERTAB[ Layer ];
Rectangle != (rdsrec_list *)NULL;
Rectangle = Rectangle->NEXT )
{
viewrdsrec( Rectangle );
}
}
for ( Instance = Figure->INSTANCE;
Instance != (rdsins_list *)NULL;
Instance = Instance->NEXT )
{
viewrdsins( Instance );
}
}

View File

@ -0,0 +1,49 @@
#ifndef __P
# if defined(__STDC__) || defined(__GNUC__)
# define __P(x) x
# else
# define __P(x) ()
# endif
#endif
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rdsview.c |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
# ifndef RDS_VIEW_H
# define RDS_VIEW_H
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Macro |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

View File

@ -0,0 +1,93 @@
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : Rfm 212 |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 01.08.93 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
# ifndef RFM_212
# define RFM_212
#ifndef __P
# if defined(__STDC__) || defined(__GNUC__)
# define __P(x) x
# else
# define __P(x) ()
# endif
#endif
/*------------------------------------------------------------\
| |
| Special Macros |
| |
\------------------------------------------------------------*/
# define RfmRoundHigh(X) \
\
(((X)>=0) ? ((((X) + ( RDS_PHYSICAL_GRID >> 1 )) \
/ RDS_PHYSICAL_GRID ) * \
RDS_PHYSICAL_GRID ) \
: (((X) / RDS_PHYSICAL_GRID ) * \
RDS_PHYSICAL_GRID ) )
# define RfmRoundLow(X) \
\
(((X)>=0) ? (((X) / RDS_PHYSICAL_GRID ) * \
RDS_PHYSICAL_GRID ) \
: ((((X) - ( RDS_PHYSICAL_GRID >> 1 )) \
/ RDS_PHYSICAL_GRID ) * \
RDS_PHYSICAL_GRID ) )
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
extern rdsrec_list * segmbkrds __P((rdsfig_list *Figure, phseg_list *Segment, char Lynx));
extern rdsrec_list * viambkrds __P((rdsfig_list *Figure, phvia_list *Via, char Lynx));
extern rdsrec_list * refmbkrds __P((rdsfig_list *Figure, phref_list *Reference));
extern rdsrec_list * conmbkrds __P((rdsfig_list *Figure, phcon_list *Connector));
extern rdsrec_list * aboxmbkrds __P((phfig_list *FigureMbk, rdsfig_list *FigureRds));
extern rdsrec_list * insconmbkrds __P((phins_list *InstanceMbk, phfig_list *ModelMbk, rdsins_list *InstanceRds));
extern rdsrec_list * insviambkrds __P((phins_list *InstanceMbk, phfig_list *ModelMbk, rdsins_list *InstanceRds, char Lynx));
extern rdsrec_list * insrefmbkrds __P((phins_list *InstanceMbk, phfig_list *ModelMbk, rdsins_list *InstanceRds));
extern rdsrec_list * inssegmbkrds __P((phins_list *InstanceMbk, phfig_list *ModelMbk, rdsins_list *InstanceRds, char Lynx));
extern rdsins_list * insmbkrds __P((rdsfig_list *FigureRds, phins_list *InstanceMbk, char Mode, char Lynx));
extern rdsfig_list * figmbkrds __P((phfig_list *FigureMbk, unsigned int Size, char Lynx));
extern rdsfig_list * modelmbkrds __P((rdsfig_list *Figure, char Lynx));
extern void viewrfmrec __P((rdsrec_list *Rectangle));
extern void viewrfmseg __P((phseg_list *Segment, rdsrec_list *Rectangle));
extern void viewrfmvia __P((phvia_list *Via, rdsrec_list *Rectangle));
extern void viewrfmref __P((phref_list *Reference, rdsrec_list *Rectangle));
extern void viewrfmcon __P((phcon_list *Connector, rdsrec_list *Rectangle));
extern void viewrfmins __P((phins_list *InstanceMbk, rdsins_list *InstanceRds));
extern void viewrfmfig __P((phfig_list *FigureMbk, rdsfig_list *FigureRds));
extern void roundrdsrec __P((rdsrec_list *Rectangle));
# endif

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,49 @@
#ifndef __P
# if defined(__STDC__) || defined(__GNUC__)
# define __P(x) x
# else
# define __P(x) ()
# endif
#endif
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rfmacces.h |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 01.08.93 |
| |
\------------------------------------------------------------*/
# ifndef RFM_ACCES_H
# define RFM_ACCES_H
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Macros |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

View File

@ -0,0 +1,68 @@
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rfmerror.c |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include <stdio.h>
# include <string.h>
# include <mut.h>
# include "rfmerror.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
void rfm_error( Error, Text, File, Line )
char Error;
char *Text;
char *File;
long Line;
{
char Name[ 128 ];
strcpy( Name, File );
Name[ strlen( File ) - 1 ] = '\0';
fprintf( stderr, "rfm:%s%ld ", Name, Line );
switch( Error )
{
default :
fprintf( stderr, "unknown internal error %d !\n", Error );
}
EXIT( 1 );
}

View File

@ -0,0 +1,54 @@
#ifndef __P
# if defined(__STDC__) || defined(__GNUC__)
# define __P(x) x
# else
# define __P(x) ()
# endif
#endif
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rfmerror.h |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
# ifndef RFM_ERROR_H
# define RFM_ERROR_H
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Macros |
| |
\------------------------------------------------------------*/
# define rfmerror( E, V ) (rfm_error( (E), (V), __FILE__, __LINE__ ))
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
extern void rfm_error __P((char Error, char *Text, char *File, long Line));
# endif

View File

@ -0,0 +1,317 @@
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rfmview.c |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include <mut.h>
# include <mph.h>
# include "rds.h"
# include "rpr.h"
# include "rfm.h"
# include "rwi.h"
# include "rut.h"
# include "rfmview.h"
# include "rfmerror.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| View Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| View Linked Rectangle |
| |
\------------------------------------------------------------*/
void viewrfmrec( Rectangle )
rdsrec_list *Rectangle;
{
rdsrec_list *Scan;
char *LayerName;
long X;
long Y;
long DX;
long DY;
Scan = Rectangle;
if ( Scan != (rdsrec_list *)NULL )
{
do
{
LayerName = RDS_LAYER_NAME[ GetRdsLayer( Scan ) ];
fprintf( stdout, "\n--> in rectangle" );
X = Scan->X * SCALE_X / RDS_LAMBDA;
Y = Scan->Y * SCALE_X / RDS_LAMBDA;
DX = Scan->DX * SCALE_X / RDS_LAMBDA;
DY = Scan->DY * SCALE_X / RDS_LAMBDA;
if ( Scan->NAME != (char *)NULL )
{
fprintf( stdout, "\n\tNAME : %s" , Scan->NAME );
}
else
{
fprintf( stdout, "\n\tNAME : NO NAME" );
}
fprintf( stdout, "\n\tX : %ld" , X );
fprintf( stdout, "\n\tY : %ld" , Y );
fprintf( stdout, "\n\tDX : %ld" , DX );
fprintf( stdout, "\n\tDY : %ld" , DY );
fprintf( stdout, "\n\tFLAGS : %0lX", Scan->FLAGS );
fprintf( stdout, "\n\tLAYER : %s" , LayerName );
Scan = (rdsrec_list *)(Scan->USER);
}
while ( Scan != Rectangle );
}
}
/*------------------------------------------------------------\
| |
| View Segment Translation |
| |
\------------------------------------------------------------*/
void viewrfmseg( Segment, Rectangle )
phseg_list *Segment;
rdsrec_list *Rectangle;
{
char *LayerName;
LayerName = MBK_LAYER_NAME[ (int)Segment->LAYER ];
fprintf( stdout, "\n--> Translate segment" );
if ( Segment->NAME != (char *)NULL )
{
fprintf( stdout, "\n\tNAME : %s" , Segment->NAME );
}
else
{
fprintf( stdout, "\n\tNAME : NO NAME" );
}
fprintf( stdout, "\n\tX1 : %ld", Segment->X1 );
fprintf( stdout, "\n\tY1 : %ld", Segment->Y1 );
fprintf( stdout, "\n\tX2 : %ld", Segment->X2 );
fprintf( stdout, "\n\tY2 : %ld", Segment->Y2 );
fprintf( stdout, "\n\tWIDTH : %ld", Segment->WIDTH );
fprintf( stdout, "\n\tLAYER : %s" , LayerName );
viewrfmrec( Rectangle );
fprintf( stdout, "\n<-- End" );
}
/*------------------------------------------------------------\
| |
| View Via Translation |
| |
\------------------------------------------------------------*/
void viewrfmvia( Via, Rectangle )
phvia_list *Via;
rdsrec_list *Rectangle;
{
char *ViaName;
ViaName = MBK_VIA_NAME[ (int)Via->TYPE ];
fprintf( stdout, "\n--> Translate via" );
fprintf( stdout, "\n\tXVIA : %ld", Via->XVIA );
fprintf( stdout, "\n\tYVIA : %ld", Via->YVIA );
fprintf( stdout, "\n\tTYPE : %s" , ViaName );
viewrfmrec( Rectangle );
fprintf( stdout, "\n<-- End" );
}
/*------------------------------------------------------------\
| |
| View Reference Translation |
| |
\------------------------------------------------------------*/
void viewrfmref( Reference, Rectangle )
phref_list *Reference;
rdsrec_list *Rectangle;
{
fprintf( stdout, "\n--> Translate reference" );
fprintf( stdout, "\n\tXREF : %ld", Reference->XREF );
fprintf( stdout, "\n\tYREF : %ld", Reference->YREF );
fprintf( stdout, "\n\tTYPE : %s" , Reference->FIGNAME );
viewrfmrec( Rectangle );
fprintf( stdout, "\n<-- End" );
}
/*------------------------------------------------------------\
| |
| View Connector Translation |
| |
\------------------------------------------------------------*/
void viewrfmcon( Connector, Rectangle )
phcon_list *Connector;
rdsrec_list *Rectangle;
{
char *LayerName;
LayerName = MBK_LAYER_NAME[ (int)Connector->LAYER ];
fprintf( stdout, "\n--> Translate connector" );
if ( Connector->NAME != (char *)NULL )
{
fprintf( stdout, "\n\tNAME : %s" , Connector->NAME );
}
else
{
fprintf( stdout, "\n\tNAME : NO NAME" );
}
fprintf( stdout, "\n\tXCON : %ld", Connector->XCON );
fprintf( stdout, "\n\tYCON : %ld", Connector->YCON );
fprintf( stdout, "\n\tWIDTH : %ld", Connector->WIDTH );
fprintf( stdout, "\n\tLAYER : %s" , LayerName );
viewrfmrec( Rectangle );
fprintf( stdout, "\n<-- End" );
}
/*------------------------------------------------------------\
| |
| View Instance Translation |
| |
\------------------------------------------------------------*/
void viewrfmins( InstanceMbk, InstanceRds )
phins_list *InstanceMbk;
rdsins_list *InstanceRds;
{
char *TransfName;
long X;
long Y;
TransfName = RDS_TRANSF_NAME[ (int)InstanceMbk->TRANSF ];
fprintf( stdout, "\n--> Translate instance" );
fprintf( stdout, "\n\tINSNAME : %s" , InstanceMbk->INSNAME );
fprintf( stdout, "\n\tFIGNAME : %s" , InstanceMbk->FIGNAME );
fprintf( stdout, "\n\tXINS : %ld", InstanceMbk->XINS );
fprintf( stdout, "\n\tYINS : %ld", InstanceMbk->YINS );
fprintf( stdout, "\n\tTRANSF : %s" , TransfName );
TransfName = RDS_TRANSF_NAME[ (int)InstanceRds->TRANSF ];
fprintf( stdout, "\n--> in instance" );
X = InstanceRds->X * SCALE_X / RDS_LAMBDA;
Y = InstanceRds->Y * SCALE_X / RDS_LAMBDA;
fprintf( stdout, "\n\tINSNAME : %s" , InstanceRds->INSNAME );
fprintf( stdout, "\n\tFIGNAME : %s" , InstanceRds->FIGNAME );
fprintf( stdout, "\n\tX : %ld", X );
fprintf( stdout, "\n\tY : %ld", Y );
fprintf( stdout, "\n\tTRANSF : %s" , TransfName );
fprintf( stdout, "\n\tSIZE : %d" , InstanceRds->SIZE );
fprintf( stdout, "\n<-- End" );
}
/*------------------------------------------------------------\
| |
| View Figure Translation |
| |
\------------------------------------------------------------*/
void viewrfmfig( FigureMbk, FigureRds )
phfig_list *FigureMbk;
rdsfig_list *FigureRds;
{
fprintf( stdout, "\n--> Translate figure" );
fprintf( stdout, "\n\tNAME : %s" , FigureMbk->NAME );
fprintf( stdout, "\n--> in figure" );
fprintf( stdout, "\n\tNAME : %s" , FigureRds->NAME );
fprintf( stdout, "\n\tMODE : %c" , FigureRds->MODE );
fprintf( stdout, "\n\tSIZE : %d" , FigureRds->SIZE );
fprintf( stdout, "\n<-- End" );
}
/*------------------------------------------------------------\
| |
| Round Rds Rectangle |
| |
\------------------------------------------------------------*/
void roundrdsrec( Rectangle )
rdsrec_list *Rectangle;
{
long X2, Y2;
X2 = RfmRoundHigh( Rectangle->X + Rectangle->DX );
Y2 = RfmRoundHigh( Rectangle->Y + Rectangle->DY );
Rectangle->X = RfmRoundLow( Rectangle->X );
Rectangle->Y = RfmRoundLow( Rectangle->Y );
Rectangle->DX = X2 - Rectangle->X;
Rectangle->DY = Y2 - Rectangle->Y;
}

View File

@ -0,0 +1,49 @@
#ifndef __P
# if defined(__STDC__) || defined(__GNUC__)
# define __P(x) x
# else
# define __P(x) ()
# endif
#endif
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rfmview.h |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
# ifndef RFM_VIEW_H
# define RFM_VIEW_H
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Macros |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

460
alliance/src/rds/src/rpr.h Normal file
View File

@ -0,0 +1,460 @@
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rpr214.h |
| |
| Authors : Jacomme Ludovic |
| Picault Stephane *4p* |
| |
| Date : 27.06.95 |
| 15.07.98 *4p* |
| |
\------------------------------------------------------------*/
# ifndef RPR_214_H
# define RPR_214_H
#ifndef __P
# if defined(__STDC__) || defined(__GNUC__)
# define __P(x) x
# else
# define __P(x) ()
# endif
#endif
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Lynx Define |
| |
\------------------------------------------------------------*/
# define RDS_LYNX_GRAPH_FIELD 25
# define RDS_LYNX_GRAPH_EMPTY (unsigned char)255
# define RDS_LYNX_CAPA_FIELD 2
# define RDS_LYNX_CAPA_EMPTY 0.0
# define RDS_LYNX_RESISTOR_FIELD 1
# define RDS_LYNX_RESISTOR_EMPTY 0.0
# define RDS_LYNX_TRANSISTOR_FIELD 6
# define RDS_LYNX_TRANSISTOR_EMPTY (unsigned char)255
# define RDS_LYNX_DIFFUSION_FIELD 25
# define RDS_LYNX_DIFFUSION_EMPTY (unsigned char)255
# define RDS_IMPLICIT 1 /*4p*/
# define RDS_EXPLICIT (unsigned char)255 /*4p*/
# define RDS_LYNX_BULK_IMPLICIT_FIELD 1 /*4p*/
# define RDS_LYNX_BULK_IMPLICIT_EMPTY RDS_EXPLICIT /*4p*/
/*------------------------------------------------------------\
| |
| S2R Define |
| |
\------------------------------------------------------------*/
# define S2R_NOTREAT (unsigned char)255
# define S2R_TREAT 1
# define RDS_S2R_POST_TREAT_FIELD 2
# define RDS_S2R_OVERSIZE_FIELD 1
# define RDS_S2R_RING_WIDTH_FIELD 1
# define RDS_S2R_LAYER_WIDTH_FIELD 1
# define RDS_S2R_POST_TREAT_EMPTY S2R_NOTREAT
# define RDS_S2R_OVERSIZE_EMPTY (long)0
# define RDS_S2R_RING_WIDTH_EMPTY (long)0
# define RDS_S2R_LAYER_WIDTH_EMPTY (long)0
/*------------------------------------------------------------\
| |
| Mbk Define |
| |
\------------------------------------------------------------*/
# define RDS_TRANS_VW (unsigned char)0
# define RDS_TRANS_LCW (unsigned char)1
# define RDS_TRANS_RCW (unsigned char)2
# define RDS_MAX_TRANS ( RDS_TRANS_RCW + 1 )
# define MBK_REF_REF 0
# define MBK_REF_CON 1
# define MBK_MAX_LAYER ( LAST_LAYER + 1 )
# define MBK_MAX_VIA ( LAST_CONTACT + 1 )
# define MBK_MAX_REFERENCE 2
# define MBK_MAX_SYMMETRY ( SY_RP + 1 )
# define MBK_MAX_ORIENT 4
# define RDS_SEGMENT_FIELD 120
# define RDS_VIA_FIELD 60
# define RDS_CONNECTOR_FIELD 3
# define RDS_REFERENCE_FIELD 60
# define RDS_SEGMENT_EMPTY (long)-1
# define RDS_VIA_EMPTY (long)-1
# define RDS_CONNECTOR_EMPTY (long)-1
# define RDS_REFERENCE_EMPTY (long)-1
# define RDS_USE_ALL (unsigned char)0
# define RDS_USE_EXTRACT (unsigned char)1
# define RDS_USE_DRC (unsigned char)2
# define RDS_MAX_USE ( RDS_USE_DRC + 1 )
# define RDS_BIGVIA_HOLE_FIELD 80
# define RDS_BIGVIA_METAL_FIELD 80
# define RDS_TURNVIA_FIELD 60
# define RDS_BIGVIA_HOLE_EMPTY (long)-1
# define RDS_BIGVIA_METAL_EMPTY (long)-1
# define RDS_TURNVIA_EMPTY (long)-1
/*------------------------------------------------------------\
| |
| Parser Define |
| |
\------------------------------------------------------------*/
# define RDS_CIF_LAYER_FIELD 1
# define RDS_GDS_LAYER_FIELD 2
# define RDS_CIF_LAYER_EMPTY (char *)NULL
# define RDS_GDS_LAYER_EMPTY (unsigned char)255
/*------------------------------------------------------------\
| |
| Lynx Macros |
| |
\------------------------------------------------------------*/
# define GET_LYNX_GRAPH_LAYER( Layer, Index ) \
\
( ( Index >= RDS_LYNX_GRAPH_FIELD ) ? \
( RDS_LYNX_GRAPH_EMPTY ) : \
( RDS_LYNX_GRAPH_TABLE [ (int)(Layer) ][ ( Index ) ] ) )
# define GET_LYNX_SURFACE_CAPA_LAYER( Layer ) \
\
( RDS_LYNX_CAPA_TABLE [ (int)(Layer) ][ 0 ] )
# define GET_LYNX_PERIMETER_CAPA_LAYER( Layer ) \
\
( RDS_LYNX_CAPA_TABLE [ (int)(Layer) ][ 1 ] )
# define GET_LYNX_DIFFUSION_LAYER( Layer, Index ) \
\
( ( (int)(Index) * 2 >= RDS_LYNX_DIFFUSION_FIELD ) ? \
( RDS_LYNX_DIFFUSION_EMPTY ) : \
( RDS_LYNX_DIFFUSION_TABLE [ (int)(Layer) ][ (int)(Index)*2 + 0 ] ) )
# define GET_LYNX_DIFFUSION_Y_OR_N( Layer, Index ) \
\
( ( (int)(Index) * 2 >= RDS_LYNX_DIFFUSION_FIELD ) ? \
( RDS_LYNX_DIFFUSION_EMPTY ) : \
( RDS_LYNX_DIFFUSION_TABLE [ (int)(Layer) ][ (int)(Index)*2 + 1 ] ) )
# define GET_LYNX_RESISTOR_LAYER( Layer ) \
\
( RDS_LYNX_RESISTOR_TABLE [ (int)(Layer) ][ 0 ] )
# define GET_LYNX_TRANSISTOR_TYPE( Layer ) \
\
( RDS_LYNX_TRANSISTOR_TABLE [ (int)(Layer) ][ 0 ] )
# define GET_LYNX_TRANSISTOR_CX( Layer ) \
\
( RDS_LYNX_TRANSISTOR_TABLE [ (int)(Layer) ][ 1 ] )
# define GET_LYNX_TRANSISTOR_GATE_LAYER( Layer ) \
\
( RDS_LYNX_TRANSISTOR_TABLE [ (int)(Layer) ][ 2 ] )
# define GET_LYNX_TRANSISTOR_DIFF_LAYER( Layer ) \
\
( RDS_LYNX_TRANSISTOR_TABLE [ (int)(Layer) ][ 3 ] )
# define GET_LYNX_TRANSISTOR_ACTIV_LAYER( Layer ) \
\
( RDS_LYNX_TRANSISTOR_TABLE [ (int)(Layer) ][ 4 ] )
/*4p*/
# define GET_LYNX_TRANSISTOR_BULK_LAYER( Layer ) \
\
( RDS_LYNX_TRANSISTOR_TABLE [ (int)(Layer) ][ 5 ] )
/*4p*/
# define GET_LYNX_BULK_IMPLICIT( Layer ) \
\
( RDS_LYNX_BULK_IMPLICIT_TABLE [ (int)(Layer) ][ 0 ] )
/*------------------------------------------------------------\
| |
| S2R Macros |
| |
\------------------------------------------------------------*/
# define GET_S2R_POST_Y_OR_N( Layer ) \
\
( RDS_S2R_POST_TREAT_TABLE [ (int)(Layer) ][ 0 ] )
# define GET_S2R_POST_COMPLEMENTARY( Layer ) \
\
( RDS_S2R_POST_TREAT_TABLE [ (int)(Layer) ][ 1 ] )
# define GET_S2R_OVERSIZE( Layer ) \
\
( RDS_S2R_OVERSIZE_TABLE [ (int)(Layer) ][ 0 ] )
# define GET_S2R_RING_WIDTH( Layer ) \
\
( RDS_S2R_RING_WIDTH_TABLE [ (int)(Layer) ][ 0 ] )
# define GET_S2R_LAYER_WIDTH( Layer ) \
\
( RDS_S2R_LAYER_WIDTH_TABLE [ (int)(Layer) ][ 0 ] )
/*------------------------------------------------------------\
| |
| Mbk Macros |
| |
\------------------------------------------------------------*/
# define GET_SEGMENT_LAYER( Layer, Index ) \
\
( ( (int)(Index) * 6 >= RDS_SEGMENT_FIELD ) ? \
( RDS_SEGMENT_EMPTY ) : \
( RDS_SEGMENT_TABLE [ (int)(Layer) ][ (int)(Index) * 6 + 0 ] ) )
# define GET_SEGMENT_TRANS( Layer, Index ) \
\
( ( (int)(Index) * 6 >= RDS_SEGMENT_FIELD ) ? \
( RDS_SEGMENT_EMPTY ) : \
( RDS_SEGMENT_TABLE [ (int)(Layer) ][ (int)(Index) * 6 + 1 ] ) )
# define GET_SEGMENT_DLR( Layer, Index ) \
\
( ( (int)(Index) * 6 >= RDS_SEGMENT_FIELD ) ? \
( RDS_SEGMENT_EMPTY ) : \
( RDS_SEGMENT_TABLE [ (int)(Layer) ][ (int)(Index) * 6 + 2 ] ) )
# define GET_SEGMENT_DWR( Layer, Index ) \
\
( ( (int)(Index) * 6 >= RDS_SEGMENT_FIELD ) ? \
( RDS_SEGMENT_EMPTY ) : \
( RDS_SEGMENT_TABLE [ (int)(Layer) ][ (int)(Index) * 6 + 3 ] ) )
# define GET_SEGMENT_OFFSET( Layer, Index ) \
\
( ( (int)(Index) * 6 >= RDS_SEGMENT_FIELD ) ? \
( RDS_SEGMENT_EMPTY ) : \
( RDS_SEGMENT_TABLE [ (int)(Layer) ][ (int)(Index) * 6 + 4 ] ) )
# define GET_SEGMENT_USE( Layer, Index ) \
\
( ( (int)(Index) * 6 >= RDS_SEGMENT_FIELD ) ? \
( RDS_SEGMENT_EMPTY ) : \
( RDS_SEGMENT_TABLE [ (int)(Layer) ][ (int)(Index) * 6 + 5 ] ) )
# define GET_CONNECTOR_LAYER( Layer ) \
\
( RDS_CONNECTOR_TABLE [ (int)(Layer) ][ 0 ] )
# define GET_CONNECTOR_DER( Layer ) \
\
( RDS_CONNECTOR_TABLE [ (int)(Layer) ][ 1 ] )
# define GET_CONNECTOR_DWR( Layer ) \
\
( RDS_CONNECTOR_TABLE [ (int)(Layer) ][ 2 ] )
# define GET_VIA_LAYER( Layer, Index ) \
\
( ( (int)(Index) * 3 >= RDS_VIA_FIELD ) ? \
( RDS_VIA_EMPTY ) : \
( RDS_VIA_TABLE [ (int)(Layer) ][ (int)(Index) * 3 + 0 ] ) )
# define GET_VIA_SIZE( Layer, Index ) \
\
( ( (int)(Index) * 3 >= RDS_VIA_FIELD ) ? \
( RDS_VIA_EMPTY ) : \
( RDS_VIA_TABLE [ (int)(Layer) ][ (int)(Index) * 3 + 1 ] ) )
# define GET_VIA_USE( Layer, Index ) \
\
( ( (int)(Index) * 3 >= RDS_VIA_FIELD ) ? \
( RDS_VIA_EMPTY ) : \
( RDS_VIA_TABLE [ (int)(Layer) ][ (int)(Index) * 3 + 2 ] ) )
# define GET_REFERENCE_LAYER( Layer, Index ) \
\
( ( (int)(Index) * 2 >= RDS_REFERENCE_FIELD ) ? \
( RDS_REFERENCE_EMPTY ) : \
( RDS_REFERENCE_TABLE [ (int)(Layer) ][ (int)(Index) * 2 + 0 ] ))
# define GET_REFERENCE_SIZE( Layer, Index ) \
\
( ( (int)(Index) * 2 >= RDS_REFERENCE_FIELD ) ? \
( RDS_REFERENCE_EMPTY ) : \
( RDS_REFERENCE_TABLE [ (int)(Layer) ][ (int)(Index) * 2 + 1 ] ))
/*------------------------------------------------------------\
| |
| Big Via Macros |
| |
\------------------------------------------------------------*/
# define GET_BIGVIA_HOLE_LAYER( Layer, Index ) \
\
( ( (int)(Index) * 4 >= RDS_BIGVIA_HOLE_FIELD ) ? \
( RDS_BIGVIA_HOLE_EMPTY ) : \
( RDS_BIGVIA_HOLE_TABLE [ (int)(Layer) ][ (int)(Index) * 4 + 0 ] ) )
# define GET_BIGVIA_HOLE_SIDE( Layer, Index ) \
\
( ( (int)(Index) * 4 >= RDS_BIGVIA_HOLE_FIELD ) ? \
( RDS_BIGVIA_HOLE_EMPTY ) : \
( RDS_BIGVIA_HOLE_TABLE [ (int)(Layer) ][ (int)(Index) * 4 + 1 ] ) )
# define GET_BIGVIA_HOLE_STEP( Layer, Index ) \
\
( ( (int)(Index) * 4 >= RDS_BIGVIA_HOLE_FIELD ) ? \
( RDS_BIGVIA_HOLE_EMPTY ) : \
( RDS_BIGVIA_HOLE_TABLE [ (int)(Layer) ][ (int)(Index) * 4 + 2 ] ) )
# define GET_BIGVIA_HOLE_USE( Layer, Index ) \
\
( ( (int)(Index) * 4 >= RDS_BIGVIA_HOLE_FIELD ) ? \
( RDS_BIGVIA_HOLE_EMPTY ) : \
( RDS_BIGVIA_HOLE_TABLE [ (int)(Layer) ][ (int)(Index) * 4 + 3 ] ) )
# define GET_BIGVIA_METAL_LAYER( Layer, Index ) \
\
( ( (int)(Index) * 4 >= RDS_BIGVIA_METAL_FIELD ) ? \
( RDS_BIGVIA_METAL_EMPTY ) : \
( RDS_BIGVIA_METAL_TABLE [ (int)(Layer) ][ (int)(Index) * 4 + 0 ] ) )
# define GET_BIGVIA_METAL_DWR( Layer, Index ) \
\
( ( (int)(Index) * 4 >= RDS_BIGVIA_METAL_FIELD ) ? \
( RDS_BIGVIA_METAL_EMPTY ) : \
( RDS_BIGVIA_METAL_TABLE [ (int)(Layer) ][ (int)(Index) * 4 + 1 ] ) )
# define GET_BIGVIA_METAL_OVERLAP( Layer, Index ) \
\
( ( (int)(Index) * 4 >= RDS_BIGVIA_METAL_FIELD ) ? \
( RDS_BIGVIA_METAL_EMPTY ) : \
( RDS_BIGVIA_METAL_TABLE [ (int)(Layer) ][ (int)(Index) * 4 + 2 ] ) )
# define GET_BIGVIA_METAL_USE( Layer, Index ) \
\
( ( (int)(Index) * 4 >= RDS_BIGVIA_METAL_FIELD ) ? \
( RDS_BIGVIA_METAL_EMPTY ) : \
( RDS_BIGVIA_METAL_TABLE [ (int)(Layer) ][ (int)(Index) * 4 + 3 ] ) )
/*------------------------------------------------------------\
| |
| Turn Via Macros |
| |
\------------------------------------------------------------*/
# define GET_TURNVIA_LAYER( Layer, Index ) \
\
( ( (int)(Index) * 3 >= RDS_TURNVIA_FIELD ) ? \
( RDS_TURNVIA_EMPTY ) : \
( RDS_TURNVIA_TABLE [ (int)(Layer) ][ (int)(Index) * 3 + 0 ] ) )
# define GET_TURNVIA_DWR( Layer, Index ) \
\
( ( (int)(Index) * 3 >= RDS_TURNVIA_FIELD ) ? \
( RDS_TURNVIA_EMPTY ) : \
( RDS_TURNVIA_TABLE [ (int)(Layer) ][ (int)(Index) * 3 + 1 ] ) )
# define GET_TURNVIA_USE( Layer, Index ) \
\
( ( (int)(Index) * 3 >= RDS_TURNVIA_FIELD ) ? \
( RDS_TURNVIA_EMPTY ) : \
( RDS_TURNVIA_TABLE [ (int)(Layer) ][ (int)(Index) * 3 + 2 ] ) )
/*------------------------------------------------------------\
| |
| Parser Macros |
| |
\------------------------------------------------------------*/
# define GET_CIF_LAYER( Layer ) \
\
( RDS_CIF_LAYER_TABLE [ (int)(Layer) ][ 0 ] )
# define GET_GDS_LAYER( Layer ) \
\
( RDS_GDS_LAYER_TABLE [ (int)(Layer) ][ 0 ] )
# define GET_GDS_CONNECTOR_LAYER( Layer ) \
\
( RDS_GDS_LAYER_TABLE [ (int)(Layer) ][ 1 ] )
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
extern long RDS_PHYSICAL_GRID;
extern long RDS_LAMBDA;
extern long RDS_LAMBDA2;
extern long RDS_UNIT;
extern long RDS_UNIT2;
extern unsigned char RDS_S2R_POST_TREAT_TABLE [ RDS_ALL_LAYER ][ RDS_S2R_POST_TREAT_FIELD ];
extern long RDS_S2R_OVERSIZE_TABLE [ RDS_ALL_LAYER ][ RDS_S2R_OVERSIZE_FIELD ];
extern long RDS_S2R_RING_WIDTH_TABLE [ RDS_ALL_LAYER ][ RDS_S2R_RING_WIDTH_FIELD ];
extern long RDS_S2R_LAYER_WIDTH_TABLE [ RDS_ALL_LAYER ][ RDS_S2R_LAYER_WIDTH_FIELD ];
extern long RDS_SEGMENT_TABLE [ MBK_MAX_LAYER ][ RDS_SEGMENT_FIELD ];
extern long RDS_VIA_TABLE [ MBK_MAX_VIA ][ RDS_VIA_FIELD ];
extern long RDS_CONNECTOR_TABLE [ MBK_MAX_LAYER ][ RDS_CONNECTOR_FIELD ];
extern long RDS_REFERENCE_TABLE [ MBK_MAX_REFERENCE ][ RDS_REFERENCE_FIELD ];
extern long RDS_BIGVIA_HOLE_TABLE[ MBK_MAX_VIA ][ RDS_BIGVIA_HOLE_FIELD ];
extern long RDS_BIGVIA_METAL_TABLE[ MBK_MAX_VIA ][ RDS_BIGVIA_METAL_FIELD ];
extern long RDS_TURNVIA_TABLE[ MBK_MAX_VIA ][ RDS_TURNVIA_FIELD ];
extern unsigned char RDS_GDS_LAYER_TABLE [ RDS_ALL_LAYER ][ RDS_GDS_LAYER_FIELD ];
extern char *RDS_CIF_LAYER_TABLE [ RDS_ALL_LAYER ][ RDS_CIF_LAYER_FIELD ];
extern unsigned char RDS_LYNX_BULK_IMPLICIT_TABLE [ RDS_ALL_LAYER ][ RDS_LYNX_BULK_IMPLICIT_FIELD ];
extern float RDS_LYNX_CAPA_TABLE [ RDS_ALL_LAYER ][ RDS_LYNX_CAPA_FIELD ];
extern float RDS_LYNX_RESISTOR_TABLE [ RDS_ALL_LAYER ][ RDS_LYNX_RESISTOR_FIELD ];
extern unsigned char RDS_LYNX_GRAPH_TABLE [ RDS_ALL_LAYER ][ RDS_LYNX_GRAPH_FIELD ];
extern unsigned char RDS_LYNX_TRANSISTOR_TABLE [ MBK_MAX_LAYER ][ RDS_LYNX_TRANSISTOR_FIELD ];
extern unsigned char RDS_LYNX_DIFFUSION_TABLE [ RDS_ALL_LAYER ][ RDS_LYNX_DIFFUSION_FIELD ];
extern char MBK_LAYER_NAME[ MBK_MAX_LAYER ][ 12 ];
extern char MBK_VIA_NAME [ MBK_MAX_VIA ][ 12 ];
extern char RDS_TRANS_NAME [ RDS_MAX_TRANS ][ 4 ];
extern char RDS_USE_NAME [ RDS_MAX_USE ][ 4 ];
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
extern void loadrdsparam __P(());
extern void viewrdsparam __P(());
# endif

View File

@ -0,0 +1,179 @@
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rprerror.c |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include <stdio.h>
# include <string.h>
# include <mut.h>
# include <mph.h>
# include "rds.h"
# include "rtl.h"
# include "rpr.h"
# include "rwi.h"
# include "rut.h"
# include "rprerror.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
void rpr_error( Error, Text, Data, File, Line )
char Error;
char *Text;
long Data;
char *File;
long Line;
{
char Name[ 128 ];
strcpy( Name, File );
Name[ strlen( File ) - 1 ] = '\0';
fprintf( stderr, "rpr:%s%ld error ", Name, Line );
switch( Error )
{
case RPR_DEFINE_MISSING :
fprintf( stderr, "some defines missing\n");
break;
case RPR_TABLE_MISSING :
fprintf( stderr, "some tables missing\n");
break;
case RPR_LINE_EXPECTED :
fprintf( stderr, "%s expected line %lu\n", Text, Data );
break;
case RPR_UNKNOWN_DEFINE :
fprintf( stderr, "unknown define %s line %lu\n",
Text, Data );
break;
case RPR_NOT_DEFINED :
fprintf( stderr, "%s not defined line %lu\n",
Text, Data );
break;
case RPR_MULTIPLE_GRID :
fprintf( stderr, "%s not multiple of physical grid line %lu\n",
Text, Data );
break;
case RPR_TOO_SMAL :
fprintf( stderr, "%s too smal line %lu\n",
Text, Data );
break;
case RPR_MISSING_VALUE :
fprintf( stderr, "missing value line %lu\n", Data );
break;
case RPR_MISSING_NAME :
fprintf( stderr, "missing name of %s line %lu\n",
Text, Data );
break;
case RPR_ILLEGAL_FLOAT :
fprintf( stderr, "illegal floating point number %s line %lu\n",
Text, Data );
break;
case RPR_UNEXPECTED_LINE :
fprintf( stderr, "%s unexpected line %lu\n",
Text, Data );
break;
case RPR_UNEXPECTED_EOF :
fprintf( stderr, "unexpected end of file, missing definitions\n");
break;
case RPR_TOO_MANY_WORDS :
fprintf( stderr, "too many words %s unexpected line %lu\n",
Text, Data );
break;
case RPR_MISSING_TABLE :
fprintf( stderr, "table %s Missing value line %lu\n",
Text, Data );
break;
case RPR_OPEN_FILE :
fprintf( stderr, "can't open file\n" );
break;
case RPR_MISSING_POST :
fprintf( stderr, "missing %s value in postreat table line %lu\n",
Text , Data );
break;
case RPR_NEGATIVE_VALUE :
fprintf( stderr, "%s has to be positive value line %lu\n",
Text , Data );
break;
case RPR_SYNTAX_ERROR :
fprintf( stderr, "syntax Error %s at line %lu\n",
Text , Data );
break;
default :
fprintf( stderr, "unknown internal error %d !\n", Error );
}
fprintf( stderr, "in technological file %s\n", RDS_TECHNO_NAME );
EXIT( 1 );
}

View File

@ -0,0 +1,79 @@
#ifndef __P
# if defined(__STDC__) || defined(__GNUC__)
# define __P(x) x
# else
# define __P(x) ()
# endif
#endif
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rprerror.h |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
# ifndef RPR_ERROR_H
# define RPR_ERROR_H
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Rpr Error Constants |
| |
\------------------------------------------------------------*/
# define RPR_DEFINE_MISSING 0
# define RPR_TABLE_MISSING 1
# define RPR_LINE_EXPECTED 2
# define RPR_UNKNOWN_DEFINE 3
# define RPR_NOT_DEFINED 4
# define RPR_MULTIPLE_GRID 5
# define RPR_TOO_SMAL 6
# define RPR_MISSING_VALUE 7
# define RPR_MISSING_NAME 8
# define RPR_ILLEGAL_FLOAT 9
# define RPR_UNEXPECTED_LINE 10
# define RPR_UNEXPECTED_EOF 11
# define RPR_TOO_MANY_WORDS 12
# define RPR_MISSING_TABLE 13
# define RPR_OPEN_FILE 14
# define RPR_MISSING_POST 15
# define RPR_NEGATIVE_VALUE 16
# define RPR_SYNTAX_ERROR 17
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Macros |
| |
\------------------------------------------------------------*/
# define rprerror( E, V, D ) (rpr_error( (E), (V), (D), __FILE__, __LINE__ ))
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
extern void rpr_error __P((char Error, char *Text, long Data, char *File, long Line));
# endif

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,139 @@
#ifndef __P
# if defined(__STDC__) || defined(__GNUC__)
# define __P(x) x
# else
# define __P(x) ()
# endif
#endif
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rprparse.h |
| |
| Authors : Jacomme Ludovic |
| Picault Stephane *4p* |
| |
| Date : 27.06.95 |
| 15.07.98 *4p* |
| |
\------------------------------------------------------------*/
# ifndef RPR_PARSE_H
# define RPR_PARSE_H
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
# define RPR_MAX_RDS_UNIT 100000L
# define RPR_EPSILON ((double)0.001)
# define RPR_MAX_BUFFER 512
# define RPR_MAX_KEYWORD 149
# define RPR_SEPARATORS_STRING " \t\n"
# define RPR_COMMENT_CHAR '#'
/*------------------------------------------------------------\
| |
| Keyword Constants |
| |
\------------------------------------------------------------*/
# define DEFINE_KEYWORD "DEFINE"
# define TABLE_KEYWORD "TABLE"
# define END_TABLE_KEYWORD "END"
# define END_RECORD_KEYWORD NULL
# define LAMBDA_KEYWORD "LAMBDA"
# define PHYSICAL_GRID_KEYWORD "PHYSICAL_GRID"
# define SEGMENT_KEYWORD "MBK_TO_RDS_SEGMENT"
# define VIA_KEYWORD "MBK_TO_RDS_VIA"
# define BIGVIA_HOLE_KEYWORD "MBK_TO_RDS_BIGVIA_HOLE"
# define BIGVIA_METAL_KEYWORD "MBK_TO_RDS_BIGVIA_METAL"
# define TURNVIA_KEYWORD "MBK_TO_RDS_TURNVIA"
# define CONNECTOR_KEYWORD "MBK_TO_RDS_CONNECTOR"
# define REFERENCE_KEYWORD "MBK_TO_RDS_REFERENCE"
# define CIF_LAYER_KEYWORD "CIF_LAYER"
# define GDS_LAYER_KEYWORD "GDS_LAYER"
# define S2R_POST_TREAT_KEYWORD "S2R_POST_TREAT"
# define S2R_OVERSIZE_KEYWORD "S2R_OVERSIZE_DENOTCH"
# define S2R_RING_WIDTH_KEYWORD "S2R_BLOC_RING_WIDTH"
# define S2R_LAYER_WIDTH_KEYWORD "S2R_MINIMUM_LAYER_WIDTH"
# define LYNX_GRAPH_KEYWORD "LYNX_GRAPH"
# define LYNX_CAPA_KEYWORD "LYNX_CAPA"
# define LYNX_RESISTOR_KEYWORD "LYNX_RESISTOR"
# define LYNX_TRANSISTOR_KEYWORD "LYNX_TRANSISTOR"
# define LYNX_DIFFUSION_KEYWORD "LYNX_DIFFUSION"
# define LYNX_BULK_IMPLICIT_KEYWORD "LYNX_BULK_IMPLICIT" /*4p*/
# define DRC_RULES_KEYWORD "DRC_RULES"
/*------------------------------------------------------------\
| |
| Mask |
| |
\------------------------------------------------------------*/
# define RPR_LAMBDA_MASK 0x000001
# define RPR_PHYSICAL_GRID_MASK 0x000002
# define RPR_SEGMENT_MASK 0x000004
# define RPR_VIA_MASK 0x000008
# define RPR_CONNECTOR_MASK 0x000010
# define RPR_REFERENCE_MASK 0x000020
# define RPR_CIF_LAYER_MASK 0x000040
# define RPR_GDS_LAYER_MASK 0x000080
# define RPR_S2R_POST_TREAT_MASK 0x000100
# define RPR_S2R_OVERSIZE_MASK 0x000200
# define RPR_S2R_RING_WIDTH_MASK 0x000400
# define RPR_S2R_LAYER_WIDTH_MASK 0x000800
# define RPR_LYNX_GRAPH_MASK 0x001000
# define RPR_LYNX_CAPA_MASK 0x002000
# define RPR_LYNX_TRANSISTOR_MASK 0x004000
# define RPR_LYNX_RESISTOR_MASK 0x008000
# define RPR_LYNX_DIFFUSION_MASK 0x010000
# define RPR_LYNX_BULK_IMPLICIT_MASK 0x020000
# define RPR_BIGVIA_HOLE_MASK 0x040000
# define RPR_BIGVIA_METAL_MASK 0x080000
# define RPR_TURNVIA_MASK 0x100000
# define RPR_ALL_DEFINED_MASK 0x1FFFFF
/*------------------------------------------------------------\
| |
| Macros |
| |
\------------------------------------------------------------*/
# define RprEqual(a,b) \
\
((((a)-RPR_EPSILON) <= (b)) && (((b)) <= (a)+RPR_EPSILON))
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
typedef struct keyword
{
char *NAME;
char VALUE;
} keyword;
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

View File

@ -0,0 +1,432 @@
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rprview.c |
| |
| Authors : Jacomme Ludovic |
| Picault Stephane *4p* |
| |
| Date : 27.06.95 |
| 15.07.98 *4p* |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include <math.h>
# include <ctype.h>
# include <stdlib.h>
# include <string.h>
# include <mut.h>
# include <mph.h>
# include "rds.h"
# include "rtl.h"
# include "rpr.h"
# include "rwi.h"
# include "rut.h"
# include "rprerror.h"
# include "rprview.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Rds view Parameters |
| |
\------------------------------------------------------------*/
void viewrdsparam()
{
int Layer;
int Index;
fprintf( stdout, "\n DEFINE PHYSICAL_GRID %ld", RDS_PHYSICAL_GRID );
fprintf( stdout, "\n DEFINE LAMBDA %ld" , RDS_LAMBDA );
fprintf( stdout, "\n# DEFINE RDS_UNIT %ld" , RDS_UNIT );
fprintf( stdout, "\n\nTABLE MBK_TO_RDS_SEGMENT\n" );
for ( Layer = 0; Layer < MBK_MAX_LAYER; Layer++ )
{
fprintf( stdout, "\n%s", MBK_LAYER_NAME[ Layer ] );
Index = 0;
while ( GET_SEGMENT_LAYER( Layer, Index ) != RDS_SEGMENT_EMPTY )
{
fprintf( stdout, " %s %s %2ld %2ld %2ld %s",
RDS_LAYER_NAME[ GET_SEGMENT_LAYER( Layer, Index ) ],
RDS_TRANS_NAME[ GET_SEGMENT_TRANS( Layer, Index ) ],
GET_SEGMENT_DLR ( Layer, Index ),
GET_SEGMENT_DWR ( Layer, Index ),
GET_SEGMENT_OFFSET( Layer, Index ),
RDS_USE_NAME[ GET_SEGMENT_USE( Layer, Index ) ] );
Index = Index + 1;
}
}
fprintf( stdout, "\n\nEND" );
fprintf( stdout, "\n\nTABLE MBK_TO_RDS_CONNECTOR\n" );
for ( Layer = 0; Layer < MBK_MAX_LAYER; Layer++ )
{
fprintf( stdout, "\n%s", MBK_LAYER_NAME[ Layer ] );
if ( GET_CONNECTOR_LAYER( Layer ) != RDS_CONNECTOR_EMPTY )
{
fprintf( stdout, " %s %2ld %2ld",
RDS_LAYER_NAME[ GET_CONNECTOR_LAYER( Layer ) ],
GET_CONNECTOR_DER( Layer ),
GET_CONNECTOR_DWR( Layer ) );
}
}
fprintf( stdout, "\n\nEND" );
fprintf( stdout, "\n\nTABLE MBK_TO_RDS_REFERENCE\n" );
for ( Layer = 0; Layer < MBK_MAX_REFERENCE; Layer++ )
{
if ( Layer == 0 ) fprintf( stdout, "\nREF_REF" );
else fprintf( stdout, "\nREF_CON" );
Index = 0;
while ( GET_REFERENCE_LAYER( Layer, Index ) != RDS_REFERENCE_EMPTY )
{
fprintf( stdout, " %s %2ld",
RDS_LAYER_NAME[ GET_REFERENCE_LAYER( Layer, Index ) ],
GET_REFERENCE_SIZE( Layer, Index ) );
Index = Index + 1;
}
}
fprintf( stdout, "\n\nEND" );
fprintf( stdout, "\n\nTABLE MBK_TO_RDS_VIA\n" );
for ( Layer = 0; Layer < MBK_MAX_VIA; Layer++ )
{
Index = 0;
fprintf( stdout, "\n%s", MBK_VIA_NAME[ Layer ] );
while ( GET_VIA_LAYER( Layer, Index ) != RDS_VIA_EMPTY )
{
fprintf( stdout, " %s %2ld %s",
RDS_LAYER_NAME[ GET_VIA_LAYER( Layer, Index ) ],
GET_VIA_SIZE( Layer, Index ),
RDS_USE_NAME[ GET_VIA_USE( Layer, Index ) ] );
Index = Index + 1;
}
}
fprintf( stdout, "\n\nEND" );
fprintf( stdout, "\n\nTABLE MBK_TO_RDS_BIGVIA_HOLE\n" );
for ( Layer = 0; Layer < MBK_MAX_VIA; Layer++ )
{
Index = 0;
fprintf( stdout, "\n%s", MBK_VIA_NAME[ Layer ] );
while ( GET_BIGVIA_HOLE_LAYER( Layer, Index ) != RDS_BIGVIA_HOLE_EMPTY )
{
fprintf( stdout, " %s %2ld %2ld %s",
RDS_LAYER_NAME[ GET_BIGVIA_HOLE_LAYER( Layer, Index ) ],
GET_BIGVIA_HOLE_SIDE( Layer, Index ),
GET_BIGVIA_HOLE_STEP( Layer, Index ),
RDS_USE_NAME[ GET_BIGVIA_HOLE_USE( Layer, Index ) ] );
Index = Index + 1;
}
}
fprintf( stdout, "\n\nEND" );
fprintf( stdout, "\n\nTABLE MBK_TO_RDS_BIGVIA_METAL\n" );
for ( Layer = 0; Layer < MBK_MAX_VIA; Layer++ )
{
Index = 0;
fprintf( stdout, "\n%s", MBK_VIA_NAME[ Layer ] );
while ( GET_BIGVIA_METAL_LAYER( Layer, Index ) != RDS_BIGVIA_METAL_EMPTY )
{
fprintf( stdout, " %s %2ld %2ld %s",
RDS_LAYER_NAME[ GET_BIGVIA_METAL_LAYER( Layer, Index ) ],
GET_BIGVIA_METAL_DWR( Layer, Index ),
GET_BIGVIA_METAL_OVERLAP( Layer, Index ),
RDS_USE_NAME[ GET_BIGVIA_METAL_USE( Layer, Index ) ] );
Index = Index + 1;
}
}
fprintf( stdout, "\n\nEND" );
fprintf( stdout, "\n\nTABLE MBK_TO_RDS_TURNVIA\n" );
for ( Layer = 0; Layer < MBK_MAX_VIA; Layer++ )
{
Index = 0;
fprintf( stdout, "\n%s", MBK_VIA_NAME[ Layer ] );
while ( GET_TURNVIA_LAYER( Layer, Index ) != RDS_TURNVIA_EMPTY )
{
fprintf( stdout, " %s %2ld %s",
RDS_LAYER_NAME[ GET_TURNVIA_LAYER( Layer, Index ) ],
GET_TURNVIA_DWR( Layer, Index ),
RDS_USE_NAME[ GET_TURNVIA_USE( Layer, Index ) ] );
Index = Index + 1;
}
}
fprintf( stdout, "\n\nEND" );
fprintf( stdout, "\n\nTABLE CIF_LAYER\n" );
for ( Layer = 0; Layer < RDS_MAX_LAYER; Layer++ )
{
fprintf( stdout, "\n%s", RDS_LAYER_NAME[ Layer ] );
if ( GET_CIF_LAYER ( Layer ) != RDS_CIF_LAYER_EMPTY )
{
fprintf( stdout, " %s", GET_CIF_LAYER ( Layer ) );
}
}
fprintf( stdout, "\n\nEND" );
fprintf( stdout, "\n\nTABLE GDS_LAYER\n" );
for ( Layer = 0; Layer < RDS_MAX_LAYER; Layer++ )
{
fprintf( stdout, "\n%s", RDS_LAYER_NAME[ Layer ] );
if ( GET_GDS_LAYER( Layer ) != RDS_GDS_LAYER_EMPTY )
{
fprintf( stdout, " %d", GET_GDS_LAYER ( Layer ) );
}
}
fprintf( stdout, "\n\nEND" );
fprintf( stdout, "\n\nTABLE S2R_OVERSIZE_DENOTCH\n" );
for ( Layer = 0; Layer < RDS_MAX_LAYER; Layer++ )
{
fprintf( stdout, "\n%s", RDS_LAYER_NAME[ Layer ] );
if ( GET_S2R_OVERSIZE( Layer ) != RDS_S2R_OVERSIZE_EMPTY )
{
fprintf( stdout, " %ld", GET_S2R_OVERSIZE ( Layer ) );
}
}
fprintf( stdout, "\n\nEND" );
fprintf( stdout, "\n\nTABLE S2R_BLOC_RING_WIDTH\n" );
for ( Layer = 0; Layer < RDS_MAX_LAYER; Layer++ )
{
fprintf( stdout, "\n%s", RDS_LAYER_NAME[ Layer ] );
if ( GET_S2R_RING_WIDTH( Layer ) != RDS_S2R_RING_WIDTH_EMPTY )
{
fprintf( stdout, " %ld", GET_S2R_RING_WIDTH ( Layer ) );
}
}
fprintf( stdout, "\n\nEND" );
fprintf( stdout, "\n\nTABLE S2R_MINIMUM_LAYER_WIDTH\n" );
for ( Layer = 0; Layer < RDS_MAX_LAYER; Layer++ )
{
fprintf( stdout, "\n%s", RDS_LAYER_NAME[ Layer ] );
if ( GET_S2R_LAYER_WIDTH( Layer ) != RDS_S2R_LAYER_WIDTH_EMPTY )
{
fprintf( stdout, " %ld", GET_S2R_LAYER_WIDTH ( Layer ) );
}
}
fprintf( stdout, "\n\nEND" );
fprintf( stdout, "\n\nTABLE S2R_POST_TREAT\n" );
for ( Layer = 0; Layer < RDS_MAX_LAYER; Layer++ )
{
fprintf( stdout, "\n%s", RDS_LAYER_NAME[ Layer ] );
if ( GET_S2R_POST_Y_OR_N( Layer ) != RDS_S2R_POST_TREAT_EMPTY )
{
fprintf( stdout, " %d", GET_S2R_POST_Y_OR_N ( Layer ) );
if ( GET_S2R_POST_COMPLEMENTARY( Layer ) != RDS_S2R_POST_TREAT_EMPTY )
{
fprintf( stdout, " %s",
RDS_LAYER_NAME[ GET_S2R_POST_COMPLEMENTARY( Layer ) ] );
}
}
}
fprintf( stdout, "\n\nEND" );
fprintf( stdout, "\n\nTABLE LYNX_GRAPH\n" );
for ( Layer = 0; Layer < RDS_MAX_LAYER; Layer++ )
{
fprintf( stdout, "\n%s", RDS_LAYER_NAME[ Layer ] );
Index = 0;
while ( GET_LYNX_GRAPH_LAYER( Layer, Index ) != RDS_LYNX_GRAPH_EMPTY )
{
fprintf( stdout, " %s ",
RDS_LAYER_NAME[ GET_LYNX_GRAPH_LAYER( Layer, Index ) ] );
Index = Index + 1;
}
}
fprintf( stdout, "\n\nEND" );
fprintf( stdout, "\n\nTABLE LYNX_DIFFUSION\n" );
for ( Layer = 0; Layer < RDS_MAX_LAYER; Layer++ )
{
fprintf( stdout, "\n%s", RDS_LAYER_NAME[ Layer ] );
Index = 0;
while ( GET_LYNX_DIFFUSION_LAYER( Layer, Index ) != RDS_LYNX_DIFFUSION_EMPTY )
{
fprintf( stdout, " %s ",
RDS_LAYER_NAME[ GET_LYNX_DIFFUSION_LAYER( Layer, Index ) ] );
fprintf( stdout, " %d ",
GET_LYNX_DIFFUSION_Y_OR_N( Layer, Index ) );
Index = Index + 1;
}
}
fprintf( stdout, "\n\nEND" );
fprintf( stdout, "\n\nTABLE LYNX_CAPA\n" );
for ( Layer = 0; Layer < RDS_MAX_LAYER; Layer++ )
{
fprintf( stdout, "\n%s", RDS_LAYER_NAME[ Layer ] );
fprintf( stdout, " %g ", GET_LYNX_SURFACE_CAPA_LAYER( Layer ) * RDS_UNIT2 );
fprintf( stdout, " %g ", GET_LYNX_PERIMETER_CAPA_LAYER( Layer ) * RDS_UNIT );
}
fprintf( stdout, "\n\nEND" );
fprintf( stdout, "\n\nTABLE LYNX_RESISTOR\n" );
for ( Layer = 0; Layer < RDS_MAX_LAYER; Layer++ )
{
fprintf( stdout, "\n%s", RDS_LAYER_NAME[ Layer ] );
fprintf( stdout, " %g ", GET_LYNX_RESISTOR_LAYER( Layer ) );
}
fprintf( stdout, "\n\nEND" );
fprintf( stdout, "\n\nTABLE LYNX_TRANSISTOR\n" );
for ( Layer = 0; Layer < MBK_MAX_LAYER; Layer++ )
{
fprintf( stdout, "\n%s", MBK_LAYER_NAME[ Layer ] );
if ( GET_LYNX_TRANSISTOR_TYPE( Layer ) != RDS_LYNX_TRANSISTOR_EMPTY )
{
fprintf( stdout, " %s",
MBK_LAYER_NAME[ (int)GET_LYNX_TRANSISTOR_TYPE( Layer ) ] );
fprintf( stdout, " %s",
MBK_VIA_NAME[ (int)GET_LYNX_TRANSISTOR_CX( Layer ) ] );
fprintf( stdout, " %s",
RDS_LAYER_NAME[ (int)GET_LYNX_TRANSISTOR_GATE_LAYER( Layer ) ] );
fprintf( stdout, " %s",
RDS_LAYER_NAME[ (int)GET_LYNX_TRANSISTOR_DIFF_LAYER( Layer ) ] );
if ( GET_LYNX_TRANSISTOR_ACTIV_LAYER( Layer ) != RDS_LYNX_TRANSISTOR_EMPTY )
{
fprintf( stdout, " %s",
RDS_LAYER_NAME[ (int)GET_LYNX_TRANSISTOR_ACTIV_LAYER( Layer ) ] );
}
else
{
fprintf( stdout, " NULL" );
}
/*4p*=============================================================================*4p*/
if ( GET_LYNX_TRANSISTOR_BULK_LAYER( Layer ) != RDS_LYNX_TRANSISTOR_EMPTY )
{
fprintf( stdout, " %s",
RDS_LAYER_NAME[(int)GET_LYNX_TRANSISTOR_BULK_LAYER( Layer ) ] );
}
else
{
fprintf( stdout, " NULL" );
}
/*4p*=============================================================================*4p*/
}
}
fprintf( stdout, "\n\nEND\n\n" );
/*4p*=============================================================================*4p*/
fprintf( stdout, "\n\nTABLE LYNX_BULK_IMPLICIT\n" );
for ( Layer = 0; Layer < RDS_MAX_LAYER; Layer++ )
{
fprintf( stdout, "\n%s", RDS_LAYER_NAME[ Layer ] );
if ( GET_LYNX_BULK_IMPLICIT ( Layer ) != RDS_LYNX_BULK_IMPLICIT_EMPTY )
{
fprintf( stdout, " %d", GET_LYNX_BULK_IMPLICIT ( Layer ) );
}
}
fprintf( stdout, "\n\nEND" );
/*4p*=============================================================================*4p*/
}

View File

@ -0,0 +1,49 @@
#ifndef __P
# if defined(__STDC__) || defined(__GNUC__)
# define __P(x) x
# else
# define __P(x) ()
# endif
#endif
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rprview.h |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
# ifndef RPR_VIEW_H
# define RPR_VIEW_H
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Macros |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

View File

@ -0,0 +1,52 @@
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rtl111.h |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
# ifndef RTL_111_H
# define RTL_111_H
#ifndef __P
# if defined(__STDC__) || defined(__GNUC__)
# define __P(x) x
# else
# define __P(x) ()
# endif
#endif
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
extern char *RDS_IN;
extern char *RDS_OUT;
extern char *RDS_TECHNO_NAME;
extern long RDS_WINDOW_AREA;
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
extern void rdsenv __P(());
extern rdsfig_list * getrdsfig __P((char *Name, char Mode, unsigned int Size));
extern void loadrdsfig __P((rdsfig_list *Figure, char *Name, char Mode));
extern void saverdsfig __P((rdsfig_list *Figure));
# endif

View File

@ -0,0 +1,149 @@
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rtlacces.c |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include <stdlib.h>
# include <mut.h>
# include <mph.h>
# include "rds.h"
# include "rtl.h"
# include "rpr.h"
# include "rwi.h"
# include "rut.h"
# include "rtlacces.h"
# include "rtlenv.h"
# include "rtlerror.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| loadrdsfig |
| |
\------------------------------------------------------------*/
void loadrdsfig( Figure, Name, Mode )
rdsfig_list *Figure;
char *Name;
char Mode;
{
if ( RDS_IN == RDS_GDS_FORMAT )
{
gdsloadrdsfig( Figure, Name, Mode );
}
else
if ( RDS_IN == RDS_CIF_FORMAT )
{
cifloadrdsfig( Figure, Name, Mode );
}
else
{
rtlerror( RTL_UNKNOWN_RDS_IN, RDS_IN );
}
}
/*------------------------------------------------------------\
| |
| saverdsfig |
| |
\------------------------------------------------------------*/
void saverdsfig( Figure )
rdsfig_list *Figure;
{
if ( RDS_OUT == RDS_GDS_FORMAT )
{
gdssaverdsfig( Figure );
}
else
if ( RDS_OUT == RDS_CIF_FORMAT )
{
cifsaverdsfig( Figure );
}
else
{
rtlerror( RTL_UNKNOWN_RDS_OUT, RDS_OUT );
}
}
/*------------------------------------------------------------\
| |
| getrdsfig |
| |
\------------------------------------------------------------*/
rdsfig_list *getrdsfig( Name, Mode, Size )
char *Name;
char Mode;
unsigned int Size;
{
rdsfig_list *Figure;
Name = namealloc( Name );
for ( Figure = HEAD_RDSFIG;
Figure != (rdsfig_list *)NULL;
Figure = Figure->NEXT )
{
if ( Figure->NAME == Name ) break;
}
if ( ( Figure != (rdsfig_list *)NULL ) &&
( Mode != Figure->MODE ) )
{
if ( Figure->MODE == 'P' )
{
delrdsfig( Figure->NAME );
Figure = (rdsfig_list *)NULL;
}
else
{
applyrdsmode( Figure, Mode );
}
}
if ( Figure == (rdsfig_list *)NULL )
{
Figure = addrdsfig( Name, Size );
loadrdsfig( Figure, Name, Mode );
}
return( Figure );
}

View File

@ -0,0 +1,50 @@
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rtlacces.h |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
# ifndef RTL_ACCES_H
# define RTL_ACCES_H
#ifndef __P
# if defined(__STDC__) || defined(__GNUC__)
# define __P(x) x
# else
# define __P(x) ()
# endif
#endif
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
extern void cifloadrdsfig();
extern void gdsloadrdsfig();
extern void cifsaverdsfig();
extern void gdssaverdsfig();
# endif

View File

@ -0,0 +1,116 @@
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rtlenv.c |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include <stdlib.h>
# include <mut.h>
# include <mph.h>
# include "rds.h"
# include "rtl.h"
# include "rpr.h"
# include "rwi.h"
# include "rut.h"
# include "rtlenv.h"
# include "rtlerror.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
char *RDS_IN;
char *RDS_OUT;
char *RDS_TECHNO_NAME;
long RDS_WINDOW_AREA = 0;
char *RDS_CIF_FORMAT = (char *)NULL;
char *RDS_GDS_FORMAT = (char *)NULL;
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| rdsenv |
| |
\------------------------------------------------------------*/
void rdsenv()
{
char *String;
char Buffer[ 512 ];
RDS_TECHNO_NAME = mbkgetenv( "RDS_TECHNO_NAME");
if ( RDS_TECHNO_NAME == (char *)NULL )
{
String = mbkgetenv( "ALLIANCE_TOP" );
if ( String == (char *)NULL ) String = ALLIANCE_TOP;
sprintf( Buffer, "%s/%s", String, RTL_DEFAULT_TECHNO );
RDS_TECHNO_NAME = mbkstrdup( Buffer );
}
RDS_IN = namealloc( mbkgetenv( "RDS_IN") );
if ( RDS_IN == (char *)NULL )
{
RDS_IN = namealloc( RTL_DEFAULT_IN );
}
RDS_OUT = namealloc( mbkgetenv( "RDS_OUT") );
if ( RDS_OUT == (char *)NULL )
{
RDS_OUT = namealloc( RTL_DEFAULT_OUT );
}
String = mbkgetenv( "RDS_WINDOW_AREA") ;
if ( String != (char *)NULL )
{
RDS_WINDOW_AREA = atol( String );
}
if ( RDS_WINDOW_AREA == 0 )
{
RDS_WINDOW_AREA = RTL_DEFAULT_AREA;
}
if( RDS_WINDOW_AREA < 0 )
{
RDS_WINDOW_AREA = 0;
}
RDS_GDS_FORMAT = namealloc( "gds" );
RDS_CIF_FORMAT = namealloc( "cif" );
}

View File

@ -0,0 +1,53 @@
#ifndef __P
# if defined(__STDC__) || defined(__GNUC__)
# define __P(x) x
# else
# define __P(x) ()
# endif
#endif
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rtlenv.h |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
# ifndef RTL_ENV_H
# define RTL_ENV_H
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
# define RTL_DEFAULT_IN "gds"
# define RTL_DEFAULT_OUT "gds"
# define RTL_DEFAULT_AREA 1000
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
extern char *RDS_CIF_FORMAT;
extern char *RDS_GDS_FORMAT;
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
# endif

View File

@ -0,0 +1,80 @@
/*------------------------------------------------------------\
| |
| Tool : RDS |
| |
| File : rtlerror.c |
| |
| Authors : Jacomme Ludovic |
| |
| Date : 27.06.95 |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Include Files |
| |
\------------------------------------------------------------*/
# include <stdio.h>
# include <string.h>
# include <mut.h>
# include "rtlerror.h"
/*------------------------------------------------------------\
| |
| Constants |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Types |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Variables |
| |
\------------------------------------------------------------*/
/*------------------------------------------------------------\
| |
| Functions |
| |
\------------------------------------------------------------*/
void rtl_error( Error, Text, File, Line )
char Error;
char *Text;
char *File;
long Line;
{
char Name[ 128 ];
strcpy( Name, File );
Name[ strlen( File ) - 1 ] = '\0';
fprintf( stderr, "rtl:%s%ld ", Name, Line );
switch( Error )
{
case RTL_UNKNOWN_RDS_OUT :
fprintf( stderr, "Unknown rds output format %s\n", Text );
break;
case RTL_UNKNOWN_RDS_IN :
fprintf( stderr, "Unknown rds input format %s\n", Text );
break;
default :
fprintf( stderr, "unknown internal error %d !\n", Error );
}
EXIT( 1 );
}

Some files were not shown because too many files have changed in this diff Show More