(********************************************************************)
(*                                                                  *)
(*  filebits.s7i  File mode bits used by archive file systems.      *)
(*  Copyright (C) 2020  Thomas Mertes                               *)
(*                                                                  *)
(*  This file is part of the Seed7 Runtime Library.                 *)
(*                                                                  *)
(*  The Seed7 Runtime Library is free software; you can             *)
(*  redistribute it and/or modify it under the terms of the GNU     *)
(*  Lesser General Public License as published by the Free Software *)
(*  Foundation; either version 2.1 of the License, or (at your      *)
(*  option) any later version.                                      *)
(*                                                                  *)
(*  The Seed7 Runtime Library is distributed in the hope that it    *)
(*  will be useful, but WITHOUT ANY WARRANTY; without even the      *)
(*  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR *)
(*  PURPOSE.  See the GNU Lesser General Public License for more    *)
(*  details.                                                        *)
(*                                                                  *)
(*  You should have received a copy of the GNU Lesser General       *)
(*  Public License along with this program; if not, write to the    *)
(*  Free Software Foundation, Inc., 51 Franklin Street,             *)
(*  Fifth Floor, Boston, MA  02110-1301, USA.                       *)
(*                                                                  *)
(********************************************************************)


include "bin32.s7i";


const bin32: MODE_FILE_TYPE_MASK is bin32(8#170000); # Mask for the file type bits.
const bin32: MODE_FILE_REGULAR   is bin32(8#100000);
const bin32: MODE_FILE_DIR       is bin32(8#040000);
const bin32: MODE_FILE_CHAR      is bin32(8#020000);
const bin32: MODE_FILE_BLOCK     is bin32(8#060000);
const bin32: MODE_FILE_FIFO      is bin32(8#010000);
const bin32: MODE_FILE_SYMLINK   is bin32(8#120000);
const bin32: MODE_FILE_SOCKET    is bin32(8#140000);

const bin32: MODE_SUID_BIT             is bin32(8#004000);
const bin32: MODE_SGID_BIT             is bin32(8#002000);
const bin32: MODE_STICKY_BIT           is bin32(8#001000);

const bin32: MODE_FILE_PERMISSION_MASK is bin32(8#000777);