SW 개발

Linux Device Driver 에서 파일 크기 얻기 / 예제소스

. . . 2014. 1. 6. 11:41
반응형

디바이스 드라이버에서 파일시스템의 파일크기를 얻어야 하는 내용때문에 검색 및 테스트완료



int get_file_size(char* file_name)
{
    // check file...
    struct file *filp;
    mm_segment_t  oldfs;

    int file_size;

    filp = filp_open(file_name, O_RDONLY, 0);

    if (filp == NULL)
        printk("file open error!!!\r\n");

    oldfs = get_fs();
    set_fs(get_ds());
    file_size = filp->f_op->llseek(filp, 0SEEK_END);
    printk("file size is [%d]\r\n",file_size);
    set_fs(oldfs);


    oldfs = get_fs();
    set_fs(get_ds());
    filp->f_op->llseek(filp, 0SEEK_SET);
    set_fs(oldfs);

    filp_close(filp,NULL);

    return file_size;

}


반응형