source: trunk/src/emx/src/lib/sys/b_fsFileModeSet.c@ 1940

Last change on this file since 1940 was 1940, checked in by bird, 21 years ago

Added fchmod and reimplemented chmod and lchmod.

  • Property cvs2svn:cvs-rev set to 1.1
  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 1.9 KB
Line 
1/* $Id: b_fsFileModeSet.c 1940 2005-05-01 03:42:35Z bird $ */
2/** @file
3 *
4 * LIBC SYS Backend - chmod().
5 *
6 * Copyright (c) 2005 knut st. osmundsen <[email protected]>
7 *
8 *
9 * This file is part of InnoTek LIBC.
10 *
11 * InnoTek LIBC is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License as published
13 * by the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
15 *
16 * InnoTek LIBC is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License for more details.
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * along with InnoTek LIBC; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 *
25 */
26
27/*******************************************************************************
28* Header Files *
29*******************************************************************************/
30#include "b_fs.h"
31#include <sys/stat.h>
32#include <InnoTekLIBC/backend.h>
33#define __LIBC_LOG_GROUP __LIBC_LOG_GRP_BACK_FS
34#include <InnoTekLIBC/logstrict.h>
35
36
37/**
38 * Sets the file access mode of a file.
39 *
40 * @returns 0 on success.
41 * @returns Negative error code (errno.h) on failure.
42 * @param pszPath The path to the file to set the mode of.
43 * @param Mode The filemode.
44 */
45int __libc_Back_fsFileModeSet(const char *pszPath, mode_t Mode)
46{
47 LIBCLOG_ENTER("pszPath=%p:{%s} Mode=%#x\n", (void *)pszPath, pszPath, Mode);
48
49 /*
50 * Resolve the path.
51 */
52 char szNativePath[PATH_MAX];
53 int rc = __libc_back_fsResolve(pszPath, BACKFS_FLAGS_RESOLVE_FULL | BACKFS_FLAGS_RESOLVE_DIR_MAYBE, szNativePath, NULL);
54 if (!rc)
55 rc = __libc_back_fsNativeFileModeSet(szNativePath, Mode);
56
57 LIBCLOG_RETURN_INT(rc);
58}
59
Note: See TracBrowser for help on using the repository browser.