summaryrefslogtreecommitdiffstats
path: root/libc/misc/file
diff options
context:
space:
mode:
Diffstat (limited to 'libc/misc/file')
-rw-r--r--libc/misc/file/Makefile.in22
-rw-r--r--libc/misc/file/lockf.c20
-rw-r--r--libc/misc/file/lockf64.c39
3 files changed, 36 insertions, 45 deletions
diff --git a/libc/misc/file/Makefile.in b/libc/misc/file/Makefile.in
index 9410a887a..bc3b2f124 100644
--- a/libc/misc/file/Makefile.in
+++ b/libc/misc/file/Makefile.in
@@ -1,27 +1,25 @@
# Makefile for uClibc
#
# Copyright (C) 2000 by Lineo, inc.
-# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+# Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
#
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#
-MISC_FILE_DIR:=$(top_srcdir)libc/misc/file
-MISC_FILE_OUT:=$(top_builddir)libc/misc/file
+MISC_FILE_DIR := $(top_srcdir)libc/misc/file
+MISC_FILE_OUT := $(top_builddir)libc/misc/file
-MISC_FILE_SRC:=$(wildcard $(MISC_FILE_DIR)/*.c)
+MISC_FILE_SRC := $(wildcard $(MISC_FILE_DIR)/*.c)
ifneq ($(UCLIBC_HAS_LFS),y)
-MISC_FILE_SRC:=$(filter-out $(MISC_FILE_DIR)/lockf64.c,$(MISC_FILE_SRC))
+MISC_FILE_SRC := $(filter-out $(MISC_FILE_DIR)/lockf64.c,$(MISC_FILE_SRC))
endif
-MISC_FILE_OBJ:=$(patsubst $(MISC_FILE_DIR)/%.c,$(MISC_FILE_OUT)/%.o,$(MISC_FILE_SRC))
+MISC_FILE_OBJ := $(patsubst $(MISC_FILE_DIR)/%.c,$(MISC_FILE_OUT)/%.o,$(MISC_FILE_SRC))
-libc-a-y+=$(MISC_FILE_OBJ)
-libc-so-y+=$(MISC_FILE_OBJ:.o=.os)
+libc-y += $(MISC_FILE_OBJ)
-libc-multi-y+=$(MISC_FILE_DIR)/lockf.c
-libc-nomulti-$(UCLIBC_HAS_LFS)+=$(MISC_FILE_OUT)/lockf64.o
+libc-nomulti-$(UCLIBC_HAS_LFS) += $(MISC_FILE_OUT)/lockf64.o
-objclean-y+=misc_file_objclean
+objclean-y += misc_file_objclean
misc_file_objclean:
- $(RM) $(MISC_FILE_OUT)/*.{o,os}
+ $(RM) $(MISC_FILE_OUT)/*.{o,os,oS}
diff --git a/libc/misc/file/lockf.c b/libc/misc/file/lockf.c
index 2ba81de9a..6c1184be2 100644
--- a/libc/misc/file/lockf.c
+++ b/libc/misc/file/lockf.c
@@ -17,7 +17,6 @@
Boston, MA 02111-1307, USA. */
#include <features.h>
-#undef __lockf
#include <sys/types.h>
#include <unistd.h>
@@ -25,14 +24,19 @@
#include <errno.h>
#include <string.h>
+libc_hidden_proto(lockf)
+
+libc_hidden_proto(memset)
+libc_hidden_proto(fcntl)
+libc_hidden_proto(getpid)
+
/* lockf is a simplified interface to fcntl's locking facilities. */
-#undef lockf
-int attribute_hidden __lockf (int fd, int cmd, off_t len)
+int lockf (int fd, int cmd, off_t len)
{
struct flock fl;
- __memset ((char *) &fl, '\0', sizeof (fl));
+ memset ((char *) &fl, '\0', sizeof (fl));
/* lockf is always relative to the current file position. */
fl.l_whence = SEEK_CUR;
@@ -45,9 +49,9 @@ int attribute_hidden __lockf (int fd, int cmd, off_t len)
/* Test the lock: return 0 if FD is unlocked or locked by this process;
return -1, set errno to EACCES, if another process holds the lock. */
fl.l_type = F_RDLCK;
- if (__fcntl (fd, F_GETLK, &fl) < 0)
+ if (fcntl (fd, F_GETLK, &fl) < 0)
return -1;
- if (fl.l_type == F_UNLCK || fl.l_pid == __getpid ())
+ if (fl.l_type == F_UNLCK || fl.l_pid == getpid ())
return 0;
__set_errno(EACCES);
return -1;
@@ -70,6 +74,6 @@ int attribute_hidden __lockf (int fd, int cmd, off_t len)
return -1;
}
- return __fcntl(fd, cmd, &fl);
+ return fcntl(fd, cmd, &fl);
}
-strong_alias(__lockf,lockf)
+libc_hidden_def(lockf)
diff --git a/libc/misc/file/lockf64.c b/libc/misc/file/lockf64.c
index 1e294d9a6..48983d448 100644
--- a/libc/misc/file/lockf64.c
+++ b/libc/misc/file/lockf64.c
@@ -16,23 +16,7 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#include <features.h>
-#undef __lockf64
-
-#ifdef __UCLIBC_HAS_LFS__
-#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS != 64
-#undef _FILE_OFFSET_BITS
-#define _FILE_OFFSET_BITS 64
-#endif
-#ifndef __USE_FILE_OFFSET64
-# define __USE_FILE_OFFSET64 1
-#endif
-#ifndef __USE_LARGEFILE64
-# define __USE_LARGEFILE64 1
-#endif
-#endif
-
-#define __USE_GNU
+#include <_lfs_64.h>
#include <sys/types.h>
#include <unistd.h>
@@ -43,17 +27,23 @@
#ifdef __NR_fcntl64
#define flock flock64
-#define fcntl __fcntl64
+#define fcntl fcntl64
+#undef F_GETLK
#define F_GETLK F_GETLK64
+#undef F_SETLK
#define F_SETLK F_SETLK64
+libc_hidden_proto(fcntl64)
#else
-#define fcntl __fcntl
+libc_hidden_proto(fcntl)
#endif
+libc_hidden_proto(memset)
+libc_hidden_proto(getpid)
+
/* lockf is a simplified interface to fcntl's locking facilities. */
-#undef lockf64
-int attribute_hidden __lockf64 (int fd, int cmd, off64_t len64)
+libc_hidden_proto(lockf64)
+int lockf64 (int fd, int cmd, off64_t len64)
{
struct flock fl;
off_t len = (off_t) len64;
@@ -65,7 +55,7 @@ int attribute_hidden __lockf64 (int fd, int cmd, off64_t len64)
return -1;
}
- __memset((char *) &fl, '\0', sizeof (fl));
+ memset((char *) &fl, '\0', sizeof (fl));
/* lockf is always relative to the current file position. */
fl.l_whence = SEEK_CUR;
@@ -80,7 +70,7 @@ int attribute_hidden __lockf64 (int fd, int cmd, off64_t len64)
fl.l_type = F_RDLCK;
if (fcntl (fd, F_GETLK, &fl) < 0)
return -1;
- if (fl.l_type == F_UNLCK || fl.l_pid == __getpid ())
+ if (fl.l_type == F_UNLCK || fl.l_pid == getpid ())
return 0;
__set_errno(EACCES);
return -1;
@@ -105,5 +95,4 @@ int attribute_hidden __lockf64 (int fd, int cmd, off64_t len64)
return fcntl(fd, cmd, &fl);
}
-
-strong_alias(__lockf64,lockf64)
+libc_hidden_def(lockf64)