3 #include "../core/nsmalloc.h"
8 trustgroup_t
*trustgroup_freelist
;
9 trustgroupidentcount_t
*trustgroupidentcount_freelist
;
10 trusthost_t
*trusthost_freelist
;
11 trustblock_t
*trustblock_freelist
;
13 trustgroup_t
*newtrustgroup() {
14 trustgroup_t
*trustgroup
;
17 if( trustgroup_freelist
==NULL
) {
18 trustgroup_freelist
=(trustgroup_t
*)nsmalloc(POOL_TRUSTS
,ALLOCUNIT
*sizeof(trustgroup_t
));
20 for (i
=0;i
<(ALLOCUNIT
-1);i
++) {
21 trustgroup_freelist
[i
].nextbyid
=(trustgroup_t
*)&(trustgroup_freelist
[i
+1]);
23 trustgroup_freelist
[ALLOCUNIT
-1].nextbyid
=NULL
;
26 trustgroup
=trustgroup_freelist
;
27 trustgroup_freelist
=(trustgroup_t
*)trustgroup
->nextbyid
;
32 void freetrustgroup (trustgroup_t
*trustgroup
) {
33 trustgroup
->nextbyid
=(trustgroup_t
*)trustgroup_freelist
;
34 trustgroup_freelist
=trustgroup
;
37 trusthost_t
*newtrusthost() {
38 trusthost_t
*trusthost
;
41 if( trusthost_freelist
==NULL
) {
42 trusthost_freelist
=(trusthost_t
*)nsmalloc(POOL_TRUSTS
,ALLOCUNIT
*sizeof(trusthost_t
));
44 for (i
=0;i
<(ALLOCUNIT
-1);i
++) {
45 trusthost_freelist
[i
].nextbyid
=(trusthost_t
*)&(trusthost_freelist
[i
+1]);
47 trusthost_freelist
[ALLOCUNIT
-1].nextbyid
=NULL
;
50 trusthost
=trusthost_freelist
;
51 trusthost_freelist
=(trusthost_t
*)trusthost
->nextbyid
;
56 void freetrusthost (trusthost_t
*trusthost
) {
57 trusthost
->nextbyid
=(trusthost_t
*)trusthost_freelist
;
58 trusthost_freelist
=trusthost
;
62 trustgroupidentcount_t
*newtrustgroupidentcount() {
63 trustgroupidentcount_t
*trustgroupidentcount
;
66 if( trustgroupidentcount_freelist
==NULL
) {
67 trustgroupidentcount_freelist
=(trustgroupidentcount_t
*)nsmalloc(POOL_TRUSTS
,ALLOCUNIT
*sizeof(trustgroupidentcount_t
));
69 for (i
=0;i
<(ALLOCUNIT
-1);i
++) {
70 trustgroupidentcount_freelist
[i
].next
=(trustgroupidentcount_t
*)&(trustgroupidentcount_freelist
[i
+1]);
72 trustgroupidentcount_freelist
[ALLOCUNIT
-1].next
=NULL
;
75 trustgroupidentcount
=trustgroupidentcount_freelist
;
76 trustgroupidentcount_freelist
=(trustgroupidentcount_t
*)trustgroupidentcount
->next
;
78 return trustgroupidentcount
;
81 void freetrustgroupidentcount (trustgroupidentcount_t
*trustgroupidentcount
) {
82 trustgroupidentcount
->next
=(trustgroupidentcount_t
*)trustgroupidentcount_freelist
;
83 trustgroupidentcount_freelist
=trustgroupidentcount
;
86 trustblock_t
*newtrustblock() {
87 trustblock_t
*trustblock
;
90 if( trustblock_freelist
==NULL
) {
91 trustblock_freelist
=(trustblock_t
*)nsmalloc(POOL_TRUSTS
,ALLOCUNIT
*sizeof(trustblock_t
));
93 for (i
=0;i
<(ALLOCUNIT
-1);i
++) {
94 trustblock_freelist
[i
].next
=(trustblock_t
*)&(trustblock_freelist
[i
+1]);
96 trustblock_freelist
[ALLOCUNIT
-1].next
=NULL
;
99 trustblock
=trustblock_freelist
;
100 trustblock_freelist
=(trustblock_t
*)trustblock
->next
;
105 void freetrustblock (trustblock_t
*trustblock
) {
106 trustblock
->next
=(trustblock_t
*)trustblock_freelist
;
107 trustblock_freelist
=trustblock
;