LibreOffice
LibreOffice 5.4 SDK C/C++ API Reference
file.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 #ifndef INCLUDED_OSL_FILE_H
21 #define INCLUDED_OSL_FILE_H
22 
23 #include <sal/config.h>
24 
25 #include <osl/time.h>
26 #include <rtl/ustring.h>
27 #include <sal/saldllapi.h>
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
85 /* Error codes according to errno */
86 
87 typedef enum {
137 } oslFileError;
138 
139 typedef void *oslDirectory;
140 typedef void *oslDirectoryItem;
141 
142 
167 SAL_DLLPUBLIC oslFileError SAL_CALL osl_openDirectory(
168  rtl_uString *pustrDirectoryURL, oslDirectory *pDirectory);
169 
170 
201 SAL_DLLPUBLIC oslFileError SAL_CALL osl_getNextDirectoryItem(
202  oslDirectory Directory,
203  oslDirectoryItem *pItem,
204  sal_uInt32 uHint
205  );
206 
207 
222 SAL_DLLPUBLIC oslFileError SAL_CALL osl_closeDirectory(
223  oslDirectory Directory);
224 
225 
261 SAL_DLLPUBLIC oslFileError SAL_CALL osl_getDirectoryItem(
262  rtl_uString *pustrFileURL,
263  oslDirectoryItem *pItem
264  );
265 
266 
283 SAL_DLLPUBLIC oslFileError SAL_CALL osl_acquireDirectoryItem(
284  oslDirectoryItem Item );
285 
286 
305 SAL_DLLPUBLIC oslFileError SAL_CALL osl_releaseDirectoryItem(
306  oslDirectoryItem Item );
307 
328  oslDirectoryItem pItemA,
329  oslDirectoryItem pItemB );
330 
331 /* File types */
332 
333 typedef enum {
342 } oslFileType;
343 
344 /* File attributes */
345 #define osl_File_Attribute_ReadOnly 0x00000001
346 #define osl_File_Attribute_Hidden 0x00000002
347 #define osl_File_Attribute_Executable 0x00000010
348 #define osl_File_Attribute_GrpWrite 0x00000020
349 #define osl_File_Attribute_GrpRead 0x00000040
350 #define osl_File_Attribute_GrpExe 0x00000080
351 #define osl_File_Attribute_OwnWrite 0x00000100
352 #define osl_File_Attribute_OwnRead 0x00000200
353 #define osl_File_Attribute_OwnExe 0x00000400
354 #define osl_File_Attribute_OthWrite 0x00000800
355 #define osl_File_Attribute_OthRead 0x00001000
356 #define osl_File_Attribute_OthExe 0x00002000
357 
358 /* Flags specifying which fields to retrieve by osl_getFileStatus */
359 
360 #define osl_FileStatus_Mask_Type 0x00000001
361 #define osl_FileStatus_Mask_Attributes 0x00000002
362 #define osl_FileStatus_Mask_CreationTime 0x00000010
363 #define osl_FileStatus_Mask_AccessTime 0x00000020
364 #define osl_FileStatus_Mask_ModifyTime 0x00000040
365 #define osl_FileStatus_Mask_FileSize 0x00000080
366 #define osl_FileStatus_Mask_FileName 0x00000100
367 #define osl_FileStatus_Mask_FileURL 0x00000200
368 #define osl_FileStatus_Mask_LinkTargetURL 0x00000400
369 #define osl_FileStatus_Mask_All 0x7FFFFFFF
370 #define osl_FileStatus_Mask_Validate 0x80000000
371 
372 
373 typedef
374 
383  sal_uInt32 uStructSize;
385  sal_uInt32 uValidFields;
387  oslFileType eType;
389  sal_uInt64 uAttributes;
399  sal_uInt64 uFileSize;
402  rtl_uString *ustrFileName;
405  rtl_uString *ustrFileURL;
409  rtl_uString *ustrLinkTargetURL;
410 } oslFileStatus;
411 
412 
451 SAL_DLLPUBLIC oslFileError SAL_CALL osl_getFileStatus(
452  oslDirectoryItem Item, oslFileStatus *pStatus, sal_uInt32 uFieldMask );
453 
454 
455 typedef void *oslVolumeDeviceHandle;
456 
475 SAL_DLLPUBLIC oslFileError SAL_CALL osl_releaseVolumeDeviceHandle(
476  oslVolumeDeviceHandle Handle );
477 
496 SAL_DLLPUBLIC oslFileError SAL_CALL osl_acquireVolumeDeviceHandle(
497  oslVolumeDeviceHandle Handle );
498 
499 
525 SAL_DLLPUBLIC oslFileError SAL_CALL osl_getVolumeDeviceMountPath(
526  oslVolumeDeviceHandle Handle, rtl_uString **ppustrDirectoryURL);
527 
528 /* Volume attributes */
529 
530 #define osl_Volume_Attribute_Removeable 0x00000001L
531 #define osl_Volume_Attribute_Remote 0x00000002L
532 #define osl_Volume_Attribute_CompactDisc 0x00000004L
533 #define osl_Volume_Attribute_FixedDisk 0x00000008L
534 #define osl_Volume_Attribute_RAMDisk 0x00000010L
535 #define osl_Volume_Attribute_FloppyDisk 0x00000020L
536 
537 #define osl_Volume_Attribute_Case_Is_Preserved 0x00000040L
538 #define osl_Volume_Attribute_Case_Sensitive 0x00000080L
539 
540 /* Flags specifying which fields to retrieve by osl_getVolumeInfo */
541 
542 #define osl_VolumeInfo_Mask_Attributes 0x00000001L
543 #define osl_VolumeInfo_Mask_TotalSpace 0x00000002L
544 #define osl_VolumeInfo_Mask_UsedSpace 0x00000004L
545 #define osl_VolumeInfo_Mask_FreeSpace 0x00000008L
546 #define osl_VolumeInfo_Mask_MaxNameLength 0x00000010L
547 #define osl_VolumeInfo_Mask_MaxPathLength 0x00000020L
548 #define osl_VolumeInfo_Mask_FileSystemName 0x00000040L
549 #define osl_VolumeInfo_Mask_DeviceHandle 0x00000080L
550 #define osl_VolumeInfo_Mask_FileSystemCaseHandling 0x00000100L
551 
552 typedef
553 
562  sal_uInt32 uStructSize;
564  sal_uInt32 uValidFields;
566  sal_uInt32 uAttributes;
568  sal_uInt64 uTotalSpace;
570  sal_uInt64 uUsedSpace;
572  sal_uInt64 uFreeSpace;
574  sal_uInt32 uMaxNameLength;
576  sal_uInt32 uMaxPathLength;
579  rtl_uString *ustrFileSystemName;
581  oslVolumeDeviceHandle *pDeviceHandle;
582 } oslVolumeInfo;
583 
584 
620 SAL_DLLPUBLIC oslFileError SAL_CALL osl_getVolumeInformation(
621  rtl_uString *pustrDirectoryURL,
622  oslVolumeInfo *pInfo,
623  sal_uInt32 uFieldMask );
624 
625 typedef void *oslFileHandle;
626 
627 /* Open flags */
628 
629 #define osl_File_OpenFlag_Read 0x00000001L
630 #define osl_File_OpenFlag_Write 0x00000002L
631 #define osl_File_OpenFlag_Create 0x00000004L
632 #define osl_File_OpenFlag_NoLock 0x00000008L
633 /* larger bit-fields reserved for internal use cf. detail/file.h */
634 
689 SAL_DLLPUBLIC oslFileError SAL_CALL osl_openFile(
690  rtl_uString *pustrFileURL, oslFileHandle *pHandle, sal_uInt32 uFlags );
691 
692 #define osl_Pos_Absolut 1
693 #define osl_Pos_Current 2
694 #define osl_Pos_End 3
695 
715 SAL_DLLPUBLIC oslFileError SAL_CALL osl_setFilePos(
716  oslFileHandle Handle, sal_uInt32 uHow, sal_Int64 uPos ) SAL_WARN_UNUSED_RESULT;
717 
718 
737 SAL_DLLPUBLIC oslFileError SAL_CALL osl_getFilePos(
738  oslFileHandle Handle, sal_uInt64 *pPos );
739 
740 
762 SAL_DLLPUBLIC oslFileError SAL_CALL osl_setFileSize(
763  oslFileHandle Handle, sal_uInt64 uSize );
764 
765 
786 SAL_DLLPUBLIC oslFileError SAL_CALL osl_getFileSize(
787  oslFileHandle Handle, sal_uInt64 *pSize );
788 
789 
794 #define osl_File_MapFlag_RandomAccess ((sal_uInt32)(0x1))
795 
802 #define osl_File_MapFlag_WillNeed ((sal_uInt32)(0x2))
803 
817 SAL_DLLPUBLIC oslFileError SAL_CALL osl_mapFile (
818  oslFileHandle Handle,
819  void** ppAddr,
820  sal_uInt64 uLength,
821  sal_uInt64 uOffset,
822  sal_uInt32 uFlags
823 );
824 
825 
826 #ifndef ANDROID
827 
841 SAL_DLLPUBLIC oslFileError SAL_CALL osl_unmapFile (
842  void* pAddr,
843  sal_uInt64 uLength
844 );
845 
846 #endif
847 
859 SAL_DLLPUBLIC oslFileError SAL_CALL osl_unmapMappedFile (
860  oslFileHandle Handle,
861  void* pAddr,
862  sal_uInt64 uLength
863 );
864 
865 
900 SAL_DLLPUBLIC oslFileError SAL_CALL osl_readFile(
901  oslFileHandle Handle, void *pBuffer, sal_uInt64 uBytesRequested, sal_uInt64 *pBytesRead );
902 
903 
928 SAL_DLLPUBLIC oslFileError SAL_CALL osl_isEndOfFile(
929  oslFileHandle Handle, sal_Bool *pIsEOF );
930 
931 
968 SAL_DLLPUBLIC oslFileError SAL_CALL osl_writeFile(
969  oslFileHandle Handle, const void *pBuffer, sal_uInt64 uBytesToWrite, sal_uInt64 *pBytesWritten );
970 
977 SAL_DLLPUBLIC oslFileError SAL_CALL osl_readFileAt(
978  oslFileHandle Handle,
979  sal_uInt64 uOffset,
980  void* pBuffer,
981  sal_uInt64 uBytesRequested,
982  sal_uInt64* pBytesRead
983 );
984 
985 
992 SAL_DLLPUBLIC oslFileError SAL_CALL osl_writeFileAt(
993  oslFileHandle Handle,
994  sal_uInt64 uOffset,
995  const void* pBuffer,
996  sal_uInt64 uBytesToWrite,
997  sal_uInt64* pBytesWritten
998 );
999 
1000 
1027 SAL_DLLPUBLIC oslFileError SAL_CALL osl_readLine(
1028  oslFileHandle Handle, sal_Sequence** ppSequence );
1029 
1051 SAL_DLLPUBLIC oslFileError SAL_CALL osl_syncFile( oslFileHandle Handle );
1052 
1069 SAL_DLLPUBLIC oslFileError SAL_CALL osl_closeFile( oslFileHandle Handle );
1070 
1071 
1098 SAL_DLLPUBLIC oslFileError SAL_CALL osl_createDirectory( rtl_uString* pustrDirectoryURL );
1099 
1114 SAL_DLLPUBLIC oslFileError SAL_CALL osl_createDirectoryWithFlags(
1115  rtl_uString * url, sal_uInt32 flags);
1116 
1143 SAL_DLLPUBLIC oslFileError SAL_CALL osl_removeDirectory( rtl_uString* pustrDirectoryURL );
1144 
1160 typedef void (SAL_CALL *oslDirectoryCreationCallbackFunc)(void* pData, rtl_uString* aDirectoryUrl);
1161 
1204 SAL_DLLPUBLIC oslFileError SAL_CALL osl_createDirectoryPath(
1205  rtl_uString* aDirectoryUrl,
1206  oslDirectoryCreationCallbackFunc aDirectoryCreationCallbackFunc,
1207  void* pData);
1208 
1236 SAL_DLLPUBLIC oslFileError SAL_CALL osl_removeFile(
1237  rtl_uString* pustrFileURL );
1238 
1239 
1267 SAL_DLLPUBLIC oslFileError SAL_CALL osl_copyFile(
1268  rtl_uString* pustrSourceFileURL, rtl_uString *pustrDestFileURL );
1269 
1270 
1296 SAL_DLLPUBLIC oslFileError SAL_CALL osl_moveFile(
1297  rtl_uString* pustrSourceFileURL, rtl_uString *pustrDestFileURL );
1298 
1299 
1320 SAL_DLLPUBLIC oslFileError SAL_CALL osl_getCanonicalName(
1321  rtl_uString *pustrRequestedURL, rtl_uString **ppustrValidURL);
1322 
1323 
1358 SAL_DLLPUBLIC oslFileError SAL_CALL osl_getAbsoluteFileURL(
1359  rtl_uString* pustrBaseDirectoryURL,
1360  rtl_uString *pustrRelativeFileURL,
1361  rtl_uString **ppustrAbsoluteFileURL );
1362 
1363 
1378 SAL_DLLPUBLIC oslFileError SAL_CALL osl_getFileURLFromSystemPath(
1379  rtl_uString *pustrSystemPath, rtl_uString **ppustrFileURL);
1380 
1381 
1409 SAL_DLLPUBLIC oslFileError SAL_CALL osl_searchFileURL(
1410  rtl_uString *pustrFileName, rtl_uString *pustrSearchPath, rtl_uString **ppustrFileURL );
1411 
1412 
1427 SAL_DLLPUBLIC oslFileError SAL_CALL osl_getSystemPathFromFileURL(
1428  rtl_uString *pustrFileURL, rtl_uString **ppustrSystemPath);
1429 
1430 
1443 typedef sal_uInt32 (SAL_CALL *oslCalcTextWidthFunc)( rtl_uString *ustrText );
1444 
1445 
1466 SAL_DLLPUBLIC oslFileError SAL_CALL osl_abbreviateSystemPath(
1467  rtl_uString *ustrSystemPath,
1468  rtl_uString **pustrCompacted,
1469  sal_uInt32 uMaxWidth,
1470  oslCalcTextWidthFunc pCalcWidth );
1471 
1472 
1487 SAL_DLLPUBLIC oslFileError SAL_CALL osl_setFileAttributes(
1488  rtl_uString *pustrFileURL, sal_uInt64 uAttributes );
1489 
1490 
1512 SAL_DLLPUBLIC oslFileError SAL_CALL osl_setFileTime(
1513  rtl_uString *pustrFileURL,
1514  const TimeValue *aCreationTime,
1515  const TimeValue *aLastAccessTime,
1516  const TimeValue *aLastWriteTime);
1517 
1518 
1528 SAL_DLLPUBLIC oslFileError SAL_CALL osl_getTempDirURL(
1529  rtl_uString **pustrTempDirURL );
1530 
1531 
1582 SAL_DLLPUBLIC oslFileError SAL_CALL osl_createTempFile(
1583  rtl_uString* pustrDirectoryURL,
1584  oslFileHandle* pHandle,
1585  rtl_uString** ppustrTempFileURL);
1586 
1587 #ifdef __cplusplus
1588 }
1589 #endif
1590 
1591 #endif // INCLUDED_OSL_FILE_H
1592 
1593 
1594 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
SAL_DLLPUBLIC oslFileError osl_copyFile(rtl_uString *pustrSourceFileURL, rtl_uString *pustrDestFileURL)
Copy a file to a new destination.
Definition: file.h:337
SAL_DLLPUBLIC oslFileError osl_createTempFile(rtl_uString *pustrDirectoryURL, oslFileHandle *pHandle, rtl_uString **ppustrTempFileURL)
Creates a temporary file in the directory provided by the caller or the directory returned by osl_get...
SAL_DLLPUBLIC oslFileError osl_readFileAt(oslFileHandle Handle, sal_uInt64 uOffset, void *pBuffer, sal_uInt64 uBytesRequested, sal_uInt64 *pBytesRead)
Read a number of bytes from a specified offset in a file.
sal_uInt64 uAttributes
File attributes.
Definition: file.h:389
SAL_DLLPUBLIC oslFileError osl_closeFile(oslFileHandle Handle)
Close an open file.
Definition: file.h:101
void * oslFileHandle
Definition: file.h:625
Definition: file.h:93
SAL_DLLPUBLIC oslFileError osl_releaseVolumeDeviceHandle(oslVolumeDeviceHandle Handle)
Release a volume device handle.
SAL_DLLPUBLIC oslFileError osl_createDirectory(rtl_uString *pustrDirectoryURL)
Create a directory.
oslFileType eType
The type of the file (file, directory, volume).
Definition: file.h:387
Definition: file.h:115
Definition: file.h:102
SAL_DLLPUBLIC oslFileError osl_openDirectory(rtl_uString *pustrDirectoryURL, oslDirectory *pDirectory)
Open a directory for enumerating its contents.
Definition: file.h:114
SAL_DLLPUBLIC oslFileError osl_setFileAttributes(rtl_uString *pustrFileURL, sal_uInt64 uAttributes)
Set file attributes.
sal_uInt32 uMaxPathLength
Maximum length of a full qualified path in system notation.
Definition: file.h:576
SAL_DLLPUBLIC oslFileError osl_getVolumeInformation(rtl_uString *pustrDirectoryURL, oslVolumeInfo *pInfo, sal_uInt32 uFieldMask)
Retrieve information about a volume.
SAL_DLLPUBLIC oslFileError osl_acquireVolumeDeviceHandle(oslVolumeDeviceHandle Handle)
Acquire a volume device handle.
Definition: file.h:97
Definition: file.h:338
SAL_DLLPUBLIC oslFileError osl_getSystemPathFromFileURL(rtl_uString *pustrFileURL, rtl_uString **ppustrSystemPath)
Convert a file URL into a system dependent path.
Definition: time.h:66
Definition: file.h:334
Definition: file.h:127
SAL_DLLPUBLIC oslFileError osl_writeFile(oslFileHandle Handle, const void *pBuffer, sal_uInt64 uBytesToWrite, sal_uInt64 *pBytesWritten)
Write a number of bytes to a file.
SAL_DLLPUBLIC oslFileError osl_removeFile(rtl_uString *pustrFileURL)
Remove a regular file.
struct _oslVolumeInfo oslVolumeInfo
#define SAL_DLLPUBLIC
Definition: saldllapi.h:30
sal_uInt64 uUsedSpace
Used space on the volume for the current process/user.
Definition: file.h:570
SAL_DLLPUBLIC oslFileError osl_getVolumeDeviceMountPath(oslVolumeDeviceHandle Handle, rtl_uString **ppustrDirectoryURL)
Get the full qualified URL where a device is mounted to.
void * oslVolumeDeviceHandle
Definition: file.h:455
SAL_DLLPUBLIC oslFileError osl_createDirectoryPath(rtl_uString *aDirectoryUrl, oslDirectoryCreationCallbackFunc aDirectoryCreationCallbackFunc, void *pData)
Create a directory path.
SAL_DLLPUBLIC oslFileError osl_setFileTime(rtl_uString *pustrFileURL, const TimeValue *aCreationTime, const TimeValue *aLastAccessTime, const TimeValue *aLastWriteTime)
Set the file time.
Definition: file.h:336
struct _oslFileStatus oslFileStatus
TimeValue aAccessTime
Last access time in nanoseconds since 1/1/1970.
Definition: file.h:395
Definition: file.h:103
SAL_DLLPUBLIC oslFileError osl_getFilePos(oslFileHandle Handle, sal_uInt64 *pPos)
Retrieve the current position of the internal pointer of an open file.
Definition: file.h:100
sal_uInt64 uFileSize
Size in bytes of the file.
Definition: file.h:399
Definition: file.h:129
Definition: file.h:340
void * oslDirectoryItem
Definition: file.h:140
sal_uInt64 uFreeSpace
Free space on the volume for the current process/user.
Definition: file.h:572
SAL_DLLPUBLIC oslFileError osl_acquireDirectoryItem(oslDirectoryItem Item)
Increase the refcount of a directory item handle.
rtl_uString * ustrLinkTargetURL
Full URL of the target file if the file itself is a link.
Definition: file.h:409
sal_uInt32 uStructSize
Must be initialized with the size in bytes of the structure before passing it to any function...
Definition: file.h:383
Definition: file.h:132
Definition: file.h:130
Definition: file.h:110
rtl_uString * ustrFileSystemName
Points to a string that receives the name of the file system type.
Definition: file.h:579
SAL_DLLPUBLIC oslFileError osl_setFileSize(oslFileHandle Handle, sal_uInt64 uSize)
Set the file size of an open file.
Definition: file.h:136
void(* oslDirectoryCreationCallbackFunc)(void *pData, rtl_uString *aDirectoryUrl)
Function pointer representing a function that will be called by osl_createDirectoryPath if a director...
Definition: file.h:1160
SAL_DLLPUBLIC oslFileError osl_getFileStatus(oslDirectoryItem Item, oslFileStatus *pStatus, sal_uInt32 uFieldMask)
Retrieve information about a single file or directory.
Definition: file.h:133
Definition: file.h:112
Definition: file.h:125
Definition: file.h:131
SAL_DLLPUBLIC oslFileError osl_mapFile(oslFileHandle Handle, void **ppAddr, sal_uInt64 uLength, sal_uInt64 uOffset, sal_uInt32 uFlags)
Map a shared file into memory.
sal_uInt32 uValidFields
Determines which members of the structure contain valid data.
Definition: file.h:564
SAL_DLLPUBLIC oslFileError osl_createDirectoryWithFlags(rtl_uString *url, sal_uInt32 flags)
Create a directory, passing flags.
unsigned char sal_Bool
Definition: types.h:39
Definition: file.h:126
SAL_DLLPUBLIC oslFileError osl_closeDirectory(oslDirectory Directory)
Release a directory handle.
TimeValue aCreationTime
First creation time in nanoseconds since 1/1/1970.
Definition: file.h:392
SAL_DLLPUBLIC oslFileError osl_getFileSize(oslFileHandle Handle, sal_uInt64 *pSize)
Get the file size of an open file.
SAL_DLLPUBLIC oslFileError osl_getFileURLFromSystemPath(rtl_uString *pustrSystemPath, rtl_uString **ppustrFileURL)
Convert a system dependent path into a file URL.
Definition: file.h:105
SAL_DLLPUBLIC oslFileError osl_getTempDirURL(rtl_uString **pustrTempDirURL)
Retrieves the file URL of the system&#39;s temporary directory path.
SAL_DLLPUBLIC oslFileError osl_readFile(oslFileHandle Handle, void *pBuffer, sal_uInt64 uBytesRequested, sal_uInt64 *pBytesRead)
Read a number of bytes from a file.
SAL_DLLPUBLIC sal_Bool osl_identicalDirectoryItem(oslDirectoryItem pItemA, oslDirectoryItem pItemB)
Determine if two directory items point the same underlying file.
Structure containing information about files and directories.
Definition: file.h:381
SAL_DLLPUBLIC oslFileError osl_readLine(oslFileHandle Handle, sal_Sequence **ppSequence)
Read a line from a file.
Definition: file.h:118
SAL_DLLPUBLIC oslFileError osl_getNextDirectoryItem(oslDirectory Directory, oslDirectoryItem *pItem, sal_uInt32 uHint)
Retrieve the next item of a previously opened directory.
Definition: file.h:89
Definition: file.h:119
Definition: file.h:116
SAL_DLLPUBLIC oslFileError osl_abbreviateSystemPath(rtl_uString *ustrSystemPath, rtl_uString **pustrCompacted, sal_uInt32 uMaxWidth, oslCalcTextWidthFunc pCalcWidth)
Abbreviate a system notation path.
Definition: file.h:128
Definition: file.h:113
Definition: file.h:122
Definition: file.h:94
SAL_DLLPUBLIC oslFileError osl_getAbsoluteFileURL(rtl_uString *pustrBaseDirectoryURL, rtl_uString *pustrRelativeFileURL, rtl_uString **ppustrAbsoluteFileURL)
Convert a path relative to a given directory into an full qualified file URL.
oslVolumeDeviceHandle * pDeviceHandle
Pointer to handle the receives underlying device.
Definition: file.h:581
sal_uInt32 uAttributes
Attributes of the volume (remote and/or removable)
Definition: file.h:566
rtl_uString * ustrFileName
Case correct name of the file.
Definition: file.h:402
Definition: file.h:104
Definition: file.h:117
Definition: file.h:111
TimeValue aModifyTime
Last modify time in nanoseconds since 1/1/1970.
Definition: file.h:397
Definition: file.h:108
Definition: file.h:106
oslFileError
Definition: file.h:87
Definition: file.h:121
SAL_DLLPUBLIC oslFileError osl_getCanonicalName(rtl_uString *pustrRequestedURL, rtl_uString **ppustrValidURL)
Determine a valid unused canonical name for a requested name.
SAL_DLLPUBLIC oslFileError osl_syncFile(oslFileHandle Handle)
Synchronize the memory representation of a file with that on the physical medium. ...
Definition: file.h:135
Definition: file.h:120
SAL_DLLPUBLIC oslFileError osl_searchFileURL(rtl_uString *pustrFileName, rtl_uString *pustrSearchPath, rtl_uString **ppustrFileURL)
Searche a full qualified system path or a file URL.
Definition: file.h:335
Definition: file.h:134
SAL_DLLPUBLIC oslFileError osl_unmapMappedFile(oslFileHandle Handle, void *pAddr, sal_uInt64 uLength)
Unmap a file segment from memory.
This is the binary specification of a SAL sequence.
Definition: types.h:327
#define SAL_WARN_UNUSED_RESULT
Use this as markup for functions and methods whose return value must be checked.
Definition: types.h:307
Definition: file.h:123
sal_uInt32 uMaxNameLength
Maximum length of file name of a single item.
Definition: file.h:574
Definition: file.h:96
oslFileType
Definition: file.h:333
Definition: file.h:91
SAL_DLLPUBLIC oslFileError osl_removeDirectory(rtl_uString *pustrDirectoryURL)
Remove an empty directory.
SAL_DLLPUBLIC oslFileError osl_setFilePos(oslFileHandle Handle, sal_uInt32 uHow, sal_Int64 uPos) SAL_WARN_UNUSED_RESULT
Set the internal position pointer of an open file.
SAL_DLLPUBLIC oslFileError osl_moveFile(rtl_uString *pustrSourceFileURL, rtl_uString *pustrDestFileURL)
Move a file or directory to a new destination or renames it.
Definition: file.h:98
Definition: file.h:92
Definition: file.h:339
rtl_uString * ustrFileURL
Full URL of the file.
Definition: file.h:405
void * oslDirectory
Definition: file.h:139
#define SAL_MAX_ENUM
Definition: types.h:228
Definition: file.h:341
sal_uInt32(* oslCalcTextWidthFunc)(rtl_uString *ustrText)
Function pointer representing the function called back from osl_abbreviateSystemPath.
Definition: file.h:1443
sal_uInt32 uValidFields
Determines which members of the structure contain valid data.
Definition: file.h:385
SAL_DLLPUBLIC oslFileError osl_releaseDirectoryItem(oslDirectoryItem Item)
Decrease the refcount of a directory item handle.
SAL_DLLPUBLIC oslFileError osl_getDirectoryItem(rtl_uString *pustrFileURL, oslDirectoryItem *pItem)
Retrieve a single directory item.
Definition: file.h:107
SAL_DLLPUBLIC oslFileError osl_writeFileAt(oslFileHandle Handle, sal_uInt64 uOffset, const void *pBuffer, sal_uInt64 uBytesToWrite, sal_uInt64 *pBytesWritten)
Write a number of bytes to a specified offset in a file.
Definition: file.h:90
Definition: file.h:99
Definition: file.h:124
Definition: file.h:109
Structure containing information about volumes.
Definition: file.h:560
SAL_DLLPUBLIC oslFileError osl_openFile(rtl_uString *pustrFileURL, oslFileHandle *pHandle, sal_uInt32 uFlags)
Open a regular file.
sal_uInt64 uTotalSpace
Total available space on the volume for the current process/user.
Definition: file.h:568
Definition: file.h:95
sal_uInt32 uStructSize
Must be initialized with the size in bytes of the structure before passing it to any function...
Definition: file.h:562
Definition: file.h:88
SAL_DLLPUBLIC oslFileError osl_unmapFile(void *pAddr, sal_uInt64 uLength)
Unmap a shared file from memory.
SAL_DLLPUBLIC oslFileError osl_isEndOfFile(oslFileHandle Handle, sal_Bool *pIsEOF)
Test if the end of a file is reached.