2 #include <Xw_Extension.h>
4 /* ifdef then trace on */
6 #define TRACE_GET_MARKMAP_INFO
10 STATUS Xw_get_markmap_info (amarkmap,mmark,umark,dmark,fmark):
11 XW_EXT_MARKMAP *amarkmap
12 int *mmark Return the maximum marker number of the markmap
13 int *umark Return the User marker number used in the markmap
14 int *dmark Return the User marker number defined in the markmap
15 int *fmark Return the First free marker index in the markmap
16 NOTE than if fmark is < 0 No more Free Marker exist in the markmap
18 Returns ERROR if the Extended Markmap is not defined
19 Returns SUCCESS if successful
24 XW_STATUS Xw_get_markmap_info (void* amarkmap,
25 int* mmark,int* umark,int* dmark,int* fmark)
27 XW_STATUS Xw_get_markmap_info (amarkmap,mmark,umark,dmark,fmark)
29 int *mmark,*umark,*dmark,*fmark ;
30 #endif /*XW_PROTOTYPE*/
32 XW_EXT_MARKMAP *pmarkmap = (XW_EXT_MARKMAP*) amarkmap;
35 if( !Xw_isdefine_markmap(pmarkmap) ) {
36 /*ERROR*Bad EXT_MARKMAP Address */
37 Xw_set_error(46,"Xw_get_markmap_info",pmarkmap) ;
42 *umark = pmarkmap->maxmarker ;
45 for( i=0 ; i< *umark ; i++ ) {
46 if( pmarkmap->marks[i] ) (*dmark)++ ;
47 else if( i && *fmark < 0 ) *fmark = i ;
50 #ifdef TRACE_GET_MARKMAP_INFO
51 if( Xw_get_trace() ) {
52 printf (" Xw_get_markmap_info(%lx,%d,%d,%d,%d)\n",
53 (long ) pmarkmap,*mmark,*umark,*dmark,*fmark) ;