1PTYPE(3) MBK UTILITY STRUCTURE DEFINITIONS PTYPE(3)
2
3
4
6 ptype - mbk list of typed pointers
7
9 The ptype is used to save typed pointers in a list. The use of this
10 structure is strongly recommended, when such a need occurs. It is the
11 case in the USER field of all mbk layout and netlist objects, where
12 data specific to different proccessing may be accessed through this
13 unique field. It is the charge of the user to give its pointers a type
14 that will not collide with existing types.
15
16 The declarations needed to work on ptype are available in the header
17 file "/labo/include/mut315.h", where '315' is the actual mbk version.
18
19 The following C structure describes the list of typed pointers :
20 typedef struct ptype {
21 struct ptype ∗NEXT;
22 void ∗DATA;
23 long TYPE;
24 } ptype_list;
25
26 NEXT Pointer to the next ptype of the list.
27
28 DATA Generic pointer that may point where the user wants
29 to.
30
31 TYPE Identifier of the user of the pointed data. One
32 shall not access someone else ptype since it
33 doesn't know what's in it. This means also that a
34 ptype user should free the space taken by its datas
35 since it is the only one to know how to do it.
36
37 Remark 1: a specialized memory allocator has been built in
38 order to create and free ptype_lists, so absolutly
39 avoid to create or free them an other way than
40 through the access functions.
41
42 Remark 2: Now a day, three tools are known to use the USER
43 field of some mbk structures :
44
45 VTIPARSER the parser of vti physical for‐
46 mat '.cp' files uses the
47 phcon(3) USER field.
48
49 LOFIGCHAIN the lofigchain function con‐
50 structs a dual representation
51 of the netlist in the USER
52 field of the losig(3) struc‐
53 ture.
54
55 PLACEABOX Genlib's physical placement
56 functions, in order to have
57 model sizes in instances. It
58 uses the phins(3) USER field.
59
61 mbk(1), addptype(3), freeptype(3), getptype(3), delptype(3).
62
63
64
65
66
67
68ASIM/LIP6 October 1, 1997 PTYPE(3)