Example #1
0
/*
 * Get system information
 */
int
sys_info(int type, void *buf)
{
    struct info_memory infomem;
    struct info_timer infotmr;
    struct info_thread infothr;
    struct info_device infodev;
    int err = 0;

    if (buf == NULL || !user_area(buf))
        return EFAULT;

    sched_lock();

    switch (type) {
    case INFO_KERNEL:
        err = umem_copyout(&infokern, buf, sizeof(infokern));
        break;

    case INFO_MEMORY:
        page_info(&infomem);
        kpage_info(&infomem);
        err = umem_copyout(&infomem, buf, sizeof(infomem));
        break;

    case INFO_THREAD:
        if (umem_copyin(buf, &infothr, sizeof(infothr))) {
            err = EFAULT;
            break;
        }
        if ((err = thread_info(&infothr)))
            break;
        infothr.cookie++;
        err = umem_copyout(&infothr, buf, sizeof(infothr));
        break;

    case INFO_DEVICE:
        if (umem_copyin(buf, &infodev, sizeof(infodev))) {
            err = EFAULT;
            break;
        }
        if ((err = device_info(&infodev)))
            break;
        infodev.cookie++;
        err = umem_copyout(&infodev, buf, sizeof(infodev));
        break;

    case INFO_TIMER:
        timer_info(&infotmr);
        err = umem_copyout(&infotmr, buf, sizeof(infotmr));
        break;

    default:
        err = EINVAL;
        break;
    }
    sched_unlock();
    return err;
}
inline GPGC_PageInfo* GPGC_PageInfo::page_info(oopDesc *obj)
{
  PageNum page = GPGC_Layout::addr_to_PageNum(obj);

  if ( GPGC_Layout::mid_space_page(page) ) {
    page = GPGC_Layout::page_to_MidSpaceBasePageNum(page);
  }

  return page_info(page);
}
Example #3
0
void
ImageView::unremoveRightPage()
{
	PageInfo page_info(
		m_ptrPages->unremovePage(PageId(m_imageId, PageId::RIGHT_PAGE))
	);
	m_rightUnremoveButton.unlink();
	m_rightPageRemoved = false;
	
	update();
	
	// We need invalidateThumbnail(PageInfo) rather than (PageId),
	// as we are updating page removal status.
	page_info.setId(PageId(m_imageId, PageId::SINGLE_PAGE));
	emit invalidateThumbnail(page_info);
}