6 struct list __based(__self) *next;
\r
10 void main(int argc, char *argv[])
\r
14 struct list __based(segu) *head;
\r
15 struct list __based(segu) *p;
\r
17 /* allocate based heap */
\r
18 segu = _bheapseg( 1024 );
\r
19 if( segu == _NULLSEG ) {
\r
20 printf( "Unable to allocate based heap\n" );
\r
24 /* create a linked list in the based heap */
\r
26 for( i = 1; i < 10; i++ ) {
\r
27 p = _bmalloc( segu, sizeof( struct list ) );
\r
28 if( p == _NULLOFF ) {
\r
29 printf( "_bmalloc failed\n" );
\r
37 /* traverse the linked list, printing out values */
\r
38 for( p = head; p != 0; p = p->next ) {
\r
39 printf("Segu = %04X %FP", p, p);
\r
40 printf( " Value = %d\n", p->value );
\r
43 /* free all the elements of the linked list */
\r
44 for( ; p = head; ) {
\r
48 /* free the based heap */
\r
50 printf("program=%P\n", *argv[0]);
51 printf("seg=%P\n", segu);
\r