/* adds a new edge to graph */ void graph_add_edge (graph_t *g, int a, int b) { int aa, bb; unsigned long pos = 0; aa = a%g->nodes; bb = b%g->nodes; pos = (unsigned long)BITPOS(aa,bb,g->nodes); BitTrue(g->barray,pos); }
int XEStartTrapRequest(XETC *tc) { int status = True; Display *dpy = tc->dpy; CARD32 X_XTrap = tc->extOpcode; xXTrapReq *reqptr; status = XEFlushConfig(tc); /* Flushout any pending configuration first */ if (status == True) { /* Add our event handler for the XLib transport */ XETrapSetEventHandler(tc, XETrapData, XETrapDispatchXLib); GetReq(XTrap,reqptr); reqptr->minor_opcode = XETrap_StartTrap; XFlush(dpy); SyncHandle(); BitTrue(tc->values.tc_flags, XETCTrapActive); } return(status); }
int main(int argc, char *argv[]) { XETrapGetAvailRep ret_avail; XETrapGetStatsRep ret_stats; Widget appW; XtAppContext app; char *tmp = NULL; XETC *tc; Display *dpy; Bool done; char buffer[10]; ReqFlags requests; EventFlags events; int i; /* Connect to Server */ appW = XtAppInitialize(&app,"XTrap",NULL,(Cardinal)0L, (int *)&argc, (String *)argv, (String *)NULL,(ArgList)&tmp, (Cardinal)NULL); dpy = XtDisplay(appW); #ifdef DEBUG XSynchronize(dpy, True); #endif printf("Display: %s \n", DisplayString(dpy)); if ((tc = XECreateTC(dpy,0L, NULL)) == False) { fprintf(stderr,"%s: could not initialize extension\n",argv[0]); exit(1L); } (void)XEGetAvailableRequest(tc,&ret_avail); if (BitIsFalse(ret_avail.valid, XETrapStatistics)) { printf("\nStatistics not available from '%s'.\n", DisplayString(dpy)); exit(1L); } XETrapSetStatistics(tc, True); for (i=0; i<256L; i++) { BitTrue(requests, i); } XETrapSetRequests(tc, True, requests); for (i=KeyPress; i<=MotionNotify; i++) { BitTrue(events, i); } XETrapSetEvents(tc, True, events); done = False; while(done == False) { fprintf(stderr,"Stats Command (Zero, Quit, [Show])? "); fgets(buffer, sizeof(buffer), stdin); switch(toupper(buffer[0])) { case '\n': /* Default command */ case 'S': /* Request fresh counters & display */ (void)XEGetStatisticsRequest(tc,&ret_stats); (void)XEPrintStatistics(stdout,&ret_stats,tc); break; case 'Z': /* Zero out counters */ XETrapSetStatistics(tc, False); break; case 'Q': done = True; break; default: printf("Invalid command, reenter!\n"); break; } } (void)XEFreeTC(tc); (void)XCloseDisplay(dpy); exit(0L); }