struct OdevAttributes * config_odev_allocate_attributes(void) { struct OdevAttributes *attribs = XNFcalloc(sizeof (struct OdevAttributes)); attribs->fd = -1; return attribs; }
Bool NestedAddMode(ScrnInfoPtr pScrn, int width, int height) { DisplayModePtr mode; char nameBuf[64]; int rc; size_t len; if (snprintf(nameBuf, 64, "%dx%d", width, height) >= 64) return FALSE; mode = XNFcalloc(sizeof(DisplayModeRec)); mode->status = MODE_OK; mode->type = M_T_DRIVER; mode->HDisplay = width; mode->VDisplay = height; len = strlen(nameBuf); mode->name = XNFalloc(len+1); strcpy(mode->name, nameBuf); xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Adding mode %s\n", mode->name); /* Now add mode to pScrn->modes. We'll keep the list non-circular for now, * but we'll maintain pScrn->modes->prev to know the last element */ mode->next = NULL; if (!pScrn->modes) { pScrn->modes = mode; mode->prev = mode; } else { mode->prev = pScrn->modes->prev; pScrn->modes->prev->next = mode; pScrn->modes->prev = mode; } return TRUE; }