int xf86validateLayout (XF86ConfigPtr p) { XF86ConfLayoutPtr layout = p->conf_layout_lst; XF86ConfAdjacencyPtr adj; XF86ConfInactivePtr iptr; XF86ConfInputrefPtr inptr; XF86ConfScreenPtr screen; XF86ConfDevicePtr device; XF86ConfInputPtr input; while (layout) { adj = layout->lay_adjacency_lst; while (adj) { /* the first one can't be "" but all others can */ screen = xf86findScreen (adj->adj_screen_str, p->conf_screen_lst); if (!screen) { xf86validationError (UNDEFINED_SCREEN_MSG, adj->adj_screen_str, layout->lay_identifier); return (FALSE); } else adj->adj_screen = screen; #if 0 CheckScreen (adj->adj_top_str, adj->adj_top); CheckScreen (adj->adj_bottom_str, adj->adj_bottom); CheckScreen (adj->adj_left_str, adj->adj_left); CheckScreen (adj->adj_right_str, adj->adj_right); #endif adj = adj->list.next; } iptr = layout->lay_inactive_lst; while (iptr) { device = xf86findDevice (iptr->inactive_device_str, p->conf_device_lst); if (!device) { xf86validationError (UNDEFINED_DEVICE_LAY_MSG, iptr->inactive_device_str, layout->lay_identifier); return (FALSE); } else iptr->inactive_device = device; iptr = iptr->list.next; } inptr = layout->lay_input_lst; while (inptr) { input = xf86findInput (inptr->iref_inputdev_str, p->conf_input_lst); if (!input) { xf86validationError (UNDEFINED_INPUT_MSG, inptr->iref_inputdev_str, layout->lay_identifier); return (FALSE); } else inptr->iref_inputdev = input; inptr = inptr->list.next; } layout = layout->list.next; } return (TRUE); }
/*------------------------------------------------------*/ void ListToPc (char *s) { int i; lib *l; command *c; #ifndef WIN32 void heap_start(void); static long *p; char cc[32]; #endif uchar r[LINK_LEN],rr[16]; switch(*s) { case 'l': l=Ln; do { l->check=null; l=l->next; } while(l != Ln); c=CP; if(c) do { c->chk=null; c=c->next; } while(c != CP); SetTask(CheckScreen,0,RTC_task); SetTask(CheckLib,0,RTC_task); break; case 's': CheckScr=null; if(!CheckTask(CheckScreen,RTC_task)) CheckScreen(); else SetTask(CheckScreen,0,RTC_task); break; case 'o': sprintf(r,"=o %s,%d\r\n>",LinkAddrText(LinkAddr(OBP),rr),targets_xn(OBP)); puts_pc(r); break; case 'p': puts_pc("=p "); putsLLA(OBP); puts_pc("\r\n"); break; case 'm': for(i=0; _MenuCode[i]; ++i) { sprintf(r,"=m[%d] ",i); for(s=_MenuCode[i]; *s; ++s) if(*s == ' ') sprintf(strchr(r,0)," "); else { /* if(*s < ENTER) sprintf(strchr(r,0),"%c",*s); else */ sprintf(strchr(r,0),"%02X",*s); } sprintf(strchr(r,0),"\r\n"); puts_pc(r); } break; case 't': for(i=0; _TextCode[i]; ++i) { sprintf(r,"=t[%d] ",i); for(s=_TextCode[i]; *s; ++s) sprintf(strchr(r,0),"%02X",*s); sprintf(strchr(r,0),"\r\n"); puts_pc(r); } break; case 'h': for(i=0; _MenuHead[i]; ++i) { sprintf(r,"=h[%d] ",i); for(s=_MenuHead[i]; *s; ++s) sprintf(strchr(r,0),"%02X",*s); sprintf(strchr(r,0),"\r\n"); puts_pc(r); } break; #ifndef WIN32 case 'H': for(p=(long *)heap_start; *p; p=(long *)labs(*p)) { if(*p>0) sprintf(cc,"=H %08lX,%08lX,!\r\n",p,*p); else sprintf(cc,"=H %08lX,%08lX,-\r\n",p,-(*p)); puts_pc(cc); } break; #endif case 'f': ListPar(); break; case 'z': ListZone(NULL); break; case 'v': puts_pc(">=v"); SysMessage(CHPC); break; case 'G': WriteGunData(Guns,NULL); break; case 'D': ListDatum(); break; case 'e': shaft_enable(); break; default: ReadLib(s); break; } }