Lines Matching refs:file

21 **	The file is split into three sections as follows:
31 ** The header file sfconfig.h MUST be included before the others to ensure
32 ** that large file support is enabled correctly on Unix systems.
69 ** Neat solution to the Win32/OS2 binary file flage requirement.
84 if (strlen (path) > 1 && strlen (path) - 1 >= sizeof (psf->file.path))
89 snprintf (psf->file.path, sizeof (psf->file.path), "%s", path) ;
95 snprintf (psf->file.name, sizeof (psf->file.name), "%s", ccptr) ;
98 snprintf (psf->file.dir, sizeof (psf->file.dir), "%s", path) ;
99 if ((cptr = strrchr (psf->file.dir, '/')) || (cptr = strrchr (psf->file.dir, '\\')))
102 psf->file.dir [0] = 0 ;
110 ** Win32 stuff at the bottom of the file. Unix and other sensible OSes here.
121 psf->file.filedes = psf_open_fd (&psf->file) ;
123 if (psf->file.filedes == - SFE_BAD_OPEN_MODE)
125 psf->file.filedes = -1 ;
129 if (psf->file.filedes == -1)
142 if (psf->file.do_not_close_descriptor)
143 { psf->file.filedes = -1 ;
147 if ((retval = psf_close_fd (psf->file.filedes)) == -1)
150 psf->file.filedes = -1 ;
163 count = snprintf (psf->rsrc.path, sizeof (psf->rsrc.path), "%s/..namedfork/rsrc", psf->file.path) ;
181 ** Now try for a resource fork stored as a separate file in the same
184 count = snprintf (psf->rsrc.path, sizeof (psf->rsrc.path), "%s._%s", psf->file.dir, psf->file.name) ;
192 ** Now try for a resource fork stored in a separate file in the
195 count = snprintf (psf->rsrc.path, sizeof (psf->rsrc.path), "%s.AppleDouble/%s", psf->file.dir, psf->file.name) ;
203 /* No resource file found. */
223 filelen = psf_get_filelen_fd (psf->file.filedes) ;
235 switch (psf->file.mode)
272 switch (psf->file.mode)
278 psf->file.filedes = 0 ;
282 psf->file.filedes = 1 ;
296 { psf->file.filedes = fd ;
301 { return (psf->file.filedes >= 0) ? SF_TRUE : SF_FALSE ;
335 absolute_position = lseek (psf->file.filedes, offset, whence) ;
361 count = read (psf->file.filedes, ((char*) ptr) + total, (size_t) count) ;
405 count = write (psf->file.filedes, ((const char*) ptr) + total, count) ;
438 pos = lseek (psf->file.filedes, 0, SEEK_CUR) ;
467 { count = read (psf->file.filedes, &(buffer [k]), 1) ;
493 if (fstat (psf->file.filedes, &statbuf) == -1)
536 retval = ftruncate (psf->file.filedes, len) ;
546 { psf->file.filedes = -1 ;
548 psf->file.savedes = -1 ;
555 { if (psf->file.filedes != psf->rsrc.filedes)
556 { psf->file.savedes = psf->file.filedes ;
557 psf->file.filedes = psf->rsrc.filedes ;
560 else if (psf->file.filedes == psf->rsrc.filedes)
561 psf->file.filedes = psf->file.savedes ;
626 if (psf->file.mode == SFM_WRITE || psf->file.mode == SFM_RDWR)
627 fsync (psf->file.filedes) ;
635 /* Win32 file i/o functions implemented using native Win32 API */
649 psf->file.handle = psf_open_handle (&psf->file) ;
651 if (psf->file.handle == INVALID_HANDLE_VALUE)
664 if (psf->file.do_not_close_descriptor)
665 { psf->file.handle = INVALID_HANDLE_VALUE ;
669 if ((retval = psf_close_handle (psf->file.handle)) == -1)
672 psf->file.handle = INVALID_HANDLE_VALUE ;
684 snprintf (psf->rsrc.path, sizeof (psf->rsrc.path), "%s/rsrc", psf->file.path) ;
692 ** Now try for a resource fork stored as a separate file in the same
695 snprintf (psf->rsrc.path, sizeof (psf->rsrc.path), "%s._%s", psf->file.dir, psf->file.name) ;
703 ** Now try for a resource fork stored in a separate file in the
706 snprintf (psf->rsrc.path, sizeof (psf->rsrc.path), "%s.AppleDouble/%s", psf->file.dir, psf->file.name) ;
713 /* No resource file found. */
727 filelen = psf_get_filelen_handle (psf->file.handle) ;
739 switch (psf->file.mode)
767 { psf->file.handle = INVALID_HANDLE_VALUE ;
769 psf->file.hsaved = INVALID_HANDLE_VALUE ;
776 { if (psf->file.handle != psf->rsrc.handle)
777 { psf->file.hsaved = psf->file.handle ;
778 psf->file.handle = psf->rsrc.handle ;
781 else if (psf->file.handle == psf->rsrc.handle)
782 psf->file.handle = psf->file.hsaved ;
837 pwszPath, /* pointer to name of the file */
842 FILE_ATTRIBUTE_NORMAL, /* file attributes (could use FILE_FLAG_SEQUENTIAL_SCAN) */
843 NULL /* handle to file with attributes to copy */
890 switch (psf->file.mode)
897 psf->file.do_not_close_descriptor = 1 ;
902 psf->file.do_not_close_descriptor = 1 ;
910 psf->file.handle = handle ;
924 psf->file.handle = handle ;
929 { if (psf->file.handle == INVALID_HANDLE_VALUE)
962 fResult = SetFilePointerEx (psf->file.handle, liDistanceToMove, &liNewFilePointer, dwMoveMethod) ;
998 if (ReadFile (psf->file.handle, ((char*) ptr) + total, count, &dwNumberOfBytesRead, 0) == 0)
1037 if (WriteFile (psf->file.handle, ((const char*) ptr) + total, count, &dwNumberOfBytesWritten, 0) == 0)
1072 fResult = SetFilePointerEx (psf->file.handle, liDistanceToMove, &liNewFilePointer, FILE_CURRENT) ;
1107 { if (ReadFile (psf->file.handle, &(buffer [k]), 1, &dwNumberOfBytesRead, 0) == 0)
1130 if (GetFileType (psf->file.handle) == FILE_TYPE_DISK)
1159 { FlushFileBuffers (psf->file.handle) ;
1170 /* This implementation trashes the current file position.
1172 ** the new end of file?
1181 fResult = SetFilePointerEx (psf->file.handle, liDistanceToMove, NULL, FILE_BEGIN) ;
1191 { /* Note: when SetEndOfFile is used to extend a file, the contents of the
1192 ** new portion of the file is undefined. This is unlike chsize(),
1193 ** which guarantees that the new portion of the file will be zeroed.
1196 if (SetEndOfFile (psf->file.handle) == 0)