debug.library: use quick sort to sort the segments
[AROS.git] / rom / dos / setprotection.c
blobaca35931258c7526cf865b8a1a115ec9f2fb29a0
1 /*
2 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: Set the protection bits of a file.
6 Lang: English
7 */
8 #include <aros/debug.h>
9 #include <proto/exec.h>
10 #include <dos/dosextens.h>
11 #include <proto/dos.h>
12 #include "dos_intern.h"
14 /*****************************************************************************
16 NAME */
17 #include <proto/dos.h>
19 AROS_LH2(LONG, SetProtection,
21 /* SYNOPSIS */
22 AROS_LHA(CONST_STRPTR, name, D1),
23 AROS_LHA(ULONG, protect, D2),
25 /* LOCATION */
26 struct DosLibrary *, DOSBase, 31, Dos)
28 /* FUNCTION
30 INPUTS
31 name - name of the file
32 protect - new protection bits
34 RESULT
35 != 0 if all went well, 0 else. IoErr() gives additional
36 information in that case.
38 NOTES
40 EXAMPLE
42 BUGS
44 SEE ALSO
46 INTERNALS
48 *****************************************************************************/
50 AROS_LIBFUNC_INIT
52 LONG status = 0;
53 struct PacketHelperStruct phs;
55 D(bug("[SetProtection] '%s':%x\n", name, protect));
57 if (getpacketinfo(DOSBase, name, &phs)) {
58 status = dopacket4(DOSBase, NULL, phs.port, ACTION_SET_PROTECT, BNULL, phs.lock, phs.name, protect);
59 freepacketinfo(DOSBase, &phs);
62 return status;
64 AROS_LIBFUNC_EXIT
65 } /* SetProtection */