Initial version of donated sources by Avertec, 3.4p5.
[tas-yagle.git] / distrib / sources / beh / beh / beh_addbefig.c
1
2 /* ###--------------------------------------------------------------### */
3 /* file : beh_addbefig.c */
4 /* date : Mar 10 1997 */
5 /* version : v110 */
6 /* authors : Pirouz BAZARGAN SABET */
7 /* content : low-level function */
8 /* ###--------------------------------------------------------------### */
9
10 #include <stdio.h>
11 #include MUT_H
12 #include LOG_H
13 #include BEH_H
14
15 /* ###--------------------------------------------------------------### */
16 /* function : beh_addbefig */
17 /* description : create an empty BEFIG structure at the top of the list*/
18 /* called func. : namealloc, mbkalloc */
19 /* ###--------------------------------------------------------------### */
20
21 struct befig *beh_addbefig (lastbefig, name)
22
23 struct befig *lastbefig; /* pointer on the last befig structure */
24 char *name ; /* figure's name */
25
26 {
27 struct befig *ptfig ;
28 unsigned char err_flg = 0;
29
30 ptfig = (struct befig *) mbkalloc (sizeof(struct befig));
31
32 switch (BEH_TIMEUNIT)
33 {
34 case BEH_TU__FS:
35 BEH_CNV_FS = 1.0 ;
36 BEH_CNV_PS = 1.0E3 ;
37 BEH_CNV_NS = 1.0E6 ;
38 BEH_CNV_US = 1.0E9 ;
39 BEH_CNV_MS = 1.0E12 ;
40 break;
41 case BEH_TU__PS:
42 BEH_CNV_FS = 1.0E-3 ;
43 BEH_CNV_PS = 1.0 ;
44 BEH_CNV_NS = 1.0E3 ;
45 BEH_CNV_US = 1.0E6 ;
46 BEH_CNV_MS = 1.0E9 ;
47 break;
48 case BEH_TU__NS:
49 BEH_CNV_FS = 1.0E-6 ;
50 BEH_CNV_PS = 1.0E-3 ;
51 BEH_CNV_NS = 1.0 ;
52 BEH_CNV_US = 1.0E3 ;
53 BEH_CNV_MS = 1.0E6 ;
54 break;
55 case BEH_TU__US:
56 BEH_CNV_FS = 1.0E-9 ;
57 BEH_CNV_PS = 1.0E-6 ;
58 BEH_CNV_NS = 1.0E-3 ;
59 BEH_CNV_US = 1.0 ;
60 BEH_CNV_MS = 1.0E3 ;
61 break;
62 case BEH_TU__MS:
63 BEH_CNV_FS = 1.0E-12;
64 BEH_CNV_PS = 1.0E-9 ;
65 BEH_CNV_NS = 1.0E-6 ;
66 BEH_CNV_US = 1.0E-3 ;
67 BEH_CNV_MS = 1.0 ;
68 break;
69 default:
70 err_flg = beh_error (200, NULL);
71 }
72
73 ptfig->NAME = namealloc (name);
74 ptfig->BEREG = NULL ;
75 ptfig->BEVECTREG = NULL ;
76 ptfig->BEMSG = NULL ;
77 ptfig->BERIN = NULL ;
78 ptfig->BEOUT = NULL ;
79 ptfig->BEVECTOUT = NULL ;
80 ptfig->BEBUS = NULL ;
81 ptfig->BEVECTBUS = NULL ;
82 ptfig->BEAUX = NULL ;
83 ptfig->BEVECTAUX = NULL ;
84 ptfig->BEDLY = NULL ;
85 ptfig->BEBUX = NULL ;
86 ptfig->BEVECTBUX = NULL ;
87 ptfig->BEPOR = NULL ;
88 ptfig->BEVECTPOR = NULL ;
89 ptfig->CIRCUI = NULL ;
90 ptfig->USER = NULL ;
91 ptfig->BEGEN = NULL ;
92 ptfig->ERRFLG = err_flg ;
93 ptfig->TYPE = 0 ;
94 ptfig->FLAG = 0 ;
95 ptfig->TIME_UNIT = BEH_TIMEUNIT ;
96 ptfig->NEXT = lastbefig ;
97
98 return (ptfig);
99 }