Cygwin: mmap: allow remapping part of an existing anonymous mapping
[newlib-cygwin.git] / newlib / libc / stdio / rename.c
blob16ef3e35134de4d70d986072ed3ec694cd0079e7
1 /*
2 * Copyright (c) 1990 The Regents of the University of California.
3 * All rights reserved.
5 * Redistribution and use in source and binary forms are permitted
6 * provided that the above copyright notice and this paragraph are
7 * duplicated in all such forms and that any documentation,
8 * and/or other materials related to such
9 * distribution and use acknowledge that the software was developed
10 * by the University of California, Berkeley. The name of the
11 * University may not be used to endorse or promote products derived
12 * from this software without specific prior written permission.
13 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
19 FUNCTION
20 <<rename>>---rename a file
22 INDEX
23 rename
25 SYNOPSIS
26 #include <stdio.h>
27 int rename(const char *<[old]>, const char *<[new]>);
29 DESCRIPTION
30 Use <<rename>> to establish a new name (the string at <[new]>) for a
31 file now known by the string at <[old]>. After a successful
32 <<rename>>, the file is no longer accessible by the string at <[old]>.
34 If <<rename>> fails, the file named <<*<[old]>>> is unaffected. The
35 conditions for failure depend on the host operating system.
37 RETURNS
38 The result is either <<0>> (when successful) or <<-1>> (when the file
39 could not be renamed).
41 PORTABILITY
42 ANSI C requires <<rename>>, but only specifies that the result on
43 failure be nonzero. The effects of using the name of an existing file
44 as <<*<[new]>>> may vary from one implementation to another.
46 Supporting OS subroutines required: <<link>>, <<unlink>>, or <<rename>>.
49 #include <_ansi.h>
50 #include <reent.h>
51 #include <stdio.h>
52 #include <sys/unistd.h>
54 #ifndef _REENT_ONLY
56 int
57 rename (const char *old,
58 const char *new)
60 return _rename_r (_REENT, old, new);
63 #endif