68 lines
3.3 KiB
Erlang
68 lines
3.3 KiB
Erlang
%%
|
|
%% %CopyrightBegin%
|
|
%%
|
|
%% Copyright Ericsson AB 1997-2015. All Rights Reserved.
|
|
%%
|
|
%% Licensed under the Apache License, Version 2.0 (the "License");
|
|
%% you may not use this file except in compliance with the License.
|
|
%% You may obtain a copy of the License at
|
|
%%
|
|
%% http://www.apache.org/licenses/LICENSE-2.0
|
|
%%
|
|
%% Unless required by applicable law or agreed to in writing, software
|
|
%% distributed under the License is distributed on an "AS IS" BASIS,
|
|
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
%% See the License for the specific language governing permissions and
|
|
%% limitations under the License.
|
|
%%
|
|
%% %CopyrightEnd%
|
|
%%
|
|
|
|
-ifndef(FILE_HRL_).
|
|
-define(FILE_HRL_, 1).
|
|
%%--------------------------------------------------------------------------
|
|
|
|
-record(file_info,
|
|
{size :: non_neg_integer() | 'undefined', % Size of file in bytes.
|
|
type :: 'device' | 'directory' | 'other' | 'regular' | 'symlink'
|
|
| 'undefined',
|
|
access :: 'read' | 'write' | 'read_write' | 'none' | 'undefined',
|
|
atime :: file:date_time() | non_neg_integer() | 'undefined',
|
|
% The local time the file was last read:
|
|
% {{Year, Mon, Day}, {Hour, Min, Sec}}.
|
|
% atime, ctime, mtime may also be unix epochs()
|
|
mtime :: file:date_time() | non_neg_integer() | 'undefined',
|
|
% The local time the file was last written.
|
|
ctime :: file:date_time() | non_neg_integer() | 'undefined',
|
|
% The interpretation of this time field
|
|
% is dependent on operating system.
|
|
% On Unix it is the last time the file
|
|
% or the inode was changed. On Windows,
|
|
% it is the creation time.
|
|
mode :: non_neg_integer() | 'undefined',
|
|
% File permissions. On Windows,
|
|
% the owner permissions will be
|
|
% duplicated for group and user.
|
|
links :: non_neg_integer() | 'undefined',
|
|
% Number of links to the file (1 if the
|
|
% filesystem doesn't support links).
|
|
major_device :: non_neg_integer() | 'undefined',
|
|
% Identifies the file system (Unix),
|
|
% or the drive number (A: = 0, B: = 1)
|
|
% (Windows).
|
|
%% The following are Unix specific.
|
|
%% They are set to zero on other operating systems.
|
|
minor_device :: non_neg_integer() | 'undefined',
|
|
% Only valid for devices.
|
|
inode :: non_neg_integer() | 'undefined', % Inode number for file.
|
|
uid :: non_neg_integer() | 'undefined', % User id for owner.
|
|
gid :: non_neg_integer() | 'undefined'}). % Group id for owner.
|
|
|
|
|
|
-record(file_descriptor,
|
|
{module :: module(), % Module that handles this kind of file
|
|
data :: term()}). % Module dependent data
|
|
|
|
%%--------------------------------------------------------------------------
|
|
-endif.
|