Subversion Repositories tendra.SVN

Rev

Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2 Rev 7
Line 35... Line 35...
35
#ifndef LINK_OPS_H_INCLUDED
35
#ifndef LINK_OPS_H_INCLUDED
36
#define LINK_OPS_H_INCLUDED
36
#define LINK_OPS_H_INCLUDED
37
 
37
 
38
/* Operations for union LINKAGE */
38
/* Operations for union LINKAGE */
39
 
39
 
40
#define TAG_link( P )			( ( unsigned ) 0 )
40
#define TAG_link(P)			((unsigned) 0)
41
 
41
 
42
 
42
 
43
/* Operations for component name of union LINKAGE */
43
/* Operations for component name of union LINKAGE */
44
 
44
 
45
#define link_name( P )			( CHECK_NULL ( P ) + 0 )
45
#define link_name(P)			(CHECK_NULL(P) + 0)
46
 
46
 
47
 
47
 
48
/* Operations for component type of union LINKAGE */
48
/* Operations for component type of union LINKAGE */
49
 
49
 
50
#define link_type( P )			( CHECK_NULL ( P ) + 1 )
50
#define link_type(P)			(CHECK_NULL(P) + 1)
51
 
51
 
52
 
52
 
53
/* Operations for field basic of union LINKAGE */
53
/* Operations for field basic of union LINKAGE */
54
 
54
 
55
#define link_basic_tag			( ( unsigned ) 0 )
55
#define link_basic_tag			((unsigned)0)
56
#define IS_link_basic( P )		1
56
#define IS_link_basic(P)		1
57
 
57
 
58
 
58
 
59
#define MAKE_link_basic( name_, type_, tdf_link )\
59
#define MAKE_link_basic(name_, type_, tdf_link)\
60
    {\
60
    {\
61
	tdf *x96_ = GEN_tdf ( 2, TYPEID_link ) ;\
61
	tdf *x96_ = GEN_tdf(2, TYPEID_link);\
62
	COPY_string ( x96_ + 0, ( name_ ) ) ;\
62
	COPY_string(x96_ + 0, (name_));\
63
	COPY_sort ( x96_ + 1, ( type_ ) ) ;\
63
	COPY_sort(x96_ + 1, (type_));\
64
	( tdf_link ) = x96_ ;\
64
	(tdf_link) = x96_;\
65
    }
65
    }
66
 
66
 
67
#define DECONS_link_basic( name_, type_, tdf_link )\
67
#define DECONS_link_basic(name_, type_, tdf_link)\
68
    {\
68
    {\
69
	tdf *x97_ = ( tdf_link ) ;\
69
	tdf *x97_ = (tdf_link);\
70
	( name_ ) = DEREF_string ( x97_ + 0 ) ;\
70
	(name_) = DEREF_string(x97_ + 0);\
71
	( type_ ) = DEREF_sort ( x97_ + 1 ) ;\
71
	(type_) = DEREF_sort(x97_ + 1);\
72
    }
72
    }
73
 
73
 
74
#define DESTROY_link_basic( destroyer_, name_, type_, tdf_link )\
74
#define DESTROY_link_basic(destroyer_, name_, type_, tdf_link)\
75
    {\
75
    {\
76
	tdf *x98_ = ( tdf_link ) ;\
76
	tdf *x98_ = (tdf_link);\
77
	( name_ ) = DEREF_string ( x98_ + 0 ) ;\
77
	(name_) = DEREF_string(x98_ + 0);\
78
	( type_ ) = DEREF_sort ( x98_ + 1 ) ;\
78
	(type_) = DEREF_sort(x98_ + 1);\
79
	( destroyer_ ) ( x98_, ( unsigned ) 2 ) ;\
79
	(destroyer_)(x98_, (unsigned)2);\
80
    }
80
    }
81
 
81
 
82
 
82
 
83
#endif
83
#endif