lkml.org 
[lkml]   [2005]   [Nov]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: Compatible fstat()
    Date

    On Nov 8, 2005, at 5:57 PM, Bill Davidsen wrote:

    > Parag Warudkar wrote:
    >> On Nov 8, 2005, at 2:39 PM, Bob Copeland wrote:
    >>> Isn't this just because the device size is > 2**32? What if you
    >>> use fseeko(3)
    >>> and #define _FILE_OFFSET_BITS 64?
    >>>
    >> Yep. I got it to return the correct hard disk size (17Gb) using
    >> lseek64 and
    >> #define _LARGEFILE64_SOURCE
    >> #define _FILE_OFFSET_BITS 64
    >> Here is what I did
    >> -------------------------------------------------
    >> #define _LARGEFILE64_SOURCE
    >> #define _FILE_OFFSET_BITS 64
    >> #include <stdio.h>
    >> #include <unistd.h>
    >> #include <fcntl.h>
    >> int main()
    >> {
    >> int f;
    >> off64_t off=0;
    > Why is this initialized?
    >> f = open("/dev/hda", O_RDONLY );
    >> if(f <= 0){
    >> perror("open");
    >> exit(0);
    >> }
    >> off = lseek64(f, 0, SEEK_SET);
    > Why do this? it always returns zero.
    >> off = lseek64(f, 0, SEEK_END);
    >> perror("llseek");
    >> printf ("Size %lld\n", off);
    >> close(f);
    >> return 0;
    >> }
    > RETURN VALUE
    > Upon successful completion, lseek returns the resulting offset
    > location as measured in bytes from the beginning of the file.
    > Otherwise, a value of (off_t)-1 is returned and errno is
    > set to indicate the error.
    >

    You took it a little too seriously! It was from the scribble-and-
    shuffle-till-it-works department ;) Sole purpose was to figure out a
    way to print the disk size from the device - some how that is!

    But thanks for pointing out anyway - it doesn't hurt to be correct no
    matter what the purpose is.

    Parag
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-11-09 01:16    [W:0.028 / U:32.128 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site