Files
mars-dosutils/trustee.h
Mario Fetka f3e77819d8 dosutils: use shared option helper functions
Replace small local option helper wrappers with the shared tools.c helpers.

SLIST now uses tool_is_help_arg() directly, and REMOVE/REVOKE use
tool_is_files_option() and tool_is_subdirs_option() instead of Trustee-specific
wrappers. This keeps trustee.c focused on Rights/Trustee behavior and leaves
generic command-line option handling in tools.c.

No behavior change.
2026-05-29 12:27:02 +02:00

52 lines
1.9 KiB
C

/*
* mars-nwe-dosutils - NetWare/DOS utility tools.
*
* Copyright (C) 2026 Mario Fetka
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
/*
* Purpose: Public declarations for shared trustee and rights helper routines.
* Depends on: trustee.c implementation and command modules such as grant.c, remove.c and revoke.c.
*/
#ifndef TRUSTEE_H
#define TRUSTEE_H
#define TRUSTEE_BINDERY_USER 0x0001
#define TRUSTEE_BINDERY_GROUP 0x0002
#define TRUSTEE_RIGHT_READ 0x0001
#define TRUSTEE_RIGHT_WRITE 0x0002
#define TRUSTEE_RIGHT_OPEN 0x0004
#define TRUSTEE_RIGHT_CREATE 0x0008
#define TRUSTEE_RIGHT_DELETE 0x0010
#define TRUSTEE_RIGHT_OWNER 0x0020
#define TRUSTEE_RIGHT_SEARCH 0x0040
#define TRUSTEE_RIGHT_MODIFY 0x0080
#define TRUSTEE_RIGHT_SUPER 0x0100
#define TRUSTEE_RIGHT_ALL_386 (TRUSTEE_RIGHT_SUPER | TRUSTEE_RIGHT_READ | \
TRUSTEE_RIGHT_WRITE | TRUSTEE_RIGHT_CREATE | \
TRUSTEE_RIGHT_DELETE | TRUSTEE_RIGHT_MODIFY | \
TRUSTEE_RIGHT_SEARCH | TRUSTEE_RIGHT_OWNER)
int trustee_parse_right_word(char *s, uint16 *rights);
void trustee_rights_bracket(uint16 rights, char *out);
uint32 trustee_lookup_object(char *name, uint16 *objtype, int objtype_given);
int trustee_path_is_dir(char *path);
#endif