Patches to enable FreeBSD build
platform.h: fix wrong check for endianness, fix lchown aliasing to chown on uclibc. Code seems to not be affected in my testing. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
39
libbb/loop.c
39
libbb/loop.c
@ -7,27 +7,35 @@
|
||||
*
|
||||
* Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
|
||||
*/
|
||||
|
||||
#include "libbb.h"
|
||||
#include <linux/version.h>
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
|
||||
|
||||
/* For 2.6, use the cleaned up header to get the 64 bit API. */
|
||||
#include <linux/version.h>
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
|
||||
#include <linux/loop.h>
|
||||
/* linux/loop.h relies on __u64. Make sure we have that as a proper type
|
||||
* until userspace is widely fixed. */
|
||||
# if (defined __INTEL_COMPILER && !defined __GNUC__) \
|
||||
|| (defined __GNUC__ && defined __STRICT_ANSI__)
|
||||
__extension__ typedef long long __s64;
|
||||
__extension__ typedef unsigned long long __u64;
|
||||
# endif
|
||||
# include <linux/loop.h>
|
||||
typedef struct loop_info64 bb_loop_info;
|
||||
#define BB_LOOP_SET_STATUS LOOP_SET_STATUS64
|
||||
#define BB_LOOP_GET_STATUS LOOP_GET_STATUS64
|
||||
# define BB_LOOP_SET_STATUS LOOP_SET_STATUS64
|
||||
# define BB_LOOP_GET_STATUS LOOP_GET_STATUS64
|
||||
|
||||
#else
|
||||
|
||||
/* For 2.4 and earlier, use the 32 bit API (and don't trust the headers) */
|
||||
#else
|
||||
/* Stuff stolen from linux/loop.h for 2.4 and earlier kernels*/
|
||||
#include <linux/posix_types.h>
|
||||
#define LO_NAME_SIZE 64
|
||||
#define LO_KEY_SIZE 32
|
||||
#define LOOP_SET_FD 0x4C00
|
||||
#define LOOP_CLR_FD 0x4C01
|
||||
#define BB_LOOP_SET_STATUS 0x4C02
|
||||
#define BB_LOOP_GET_STATUS 0x4C03
|
||||
/* Stuff stolen from linux/loop.h for 2.4 and earlier kernels */
|
||||
# include <linux/posix_types.h>
|
||||
# define LO_NAME_SIZE 64
|
||||
# define LO_KEY_SIZE 32
|
||||
# define LOOP_SET_FD 0x4C00
|
||||
# define LOOP_CLR_FD 0x4C01
|
||||
# define BB_LOOP_SET_STATUS 0x4C02
|
||||
# define BB_LOOP_GET_STATUS 0x4C03
|
||||
typedef struct {
|
||||
int lo_number;
|
||||
__kernel_dev_t lo_device;
|
||||
@ -60,7 +68,6 @@ char* FAST_FUNC query_loop(const char *device)
|
||||
return dev;
|
||||
}
|
||||
|
||||
|
||||
int FAST_FUNC del_loop(const char *device)
|
||||
{
|
||||
int fd, rc;
|
||||
|
Reference in New Issue
Block a user