From 5fd83771641d15c418f747bd343ba6738d3875f7 Mon Sep 17 00:00:00 2001 From: Cameron Katri Date: Sun, 9 May 2021 14:20:58 -0400 Subject: Import macOS userland adv_cmds-176 basic_cmds-55 bootstrap_cmds-116.100.1 developer_cmds-66 diskdev_cmds-667.40.1 doc_cmds-53.60.1 file_cmds-321.40.3 mail_cmds-35 misc_cmds-34 network_cmds-606.40.1 patch_cmds-17 remote_cmds-63 shell_cmds-216.60.1 system_cmds-880.60.2 text_cmds-106 --- diskdev_cmds/disklib/dkopen.h | 56 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 diskdev_cmds/disklib/dkopen.h (limited to 'diskdev_cmds/disklib/dkopen.h') diff --git a/diskdev_cmds/disklib/dkopen.h b/diskdev_cmds/disklib/dkopen.h new file mode 100644 index 0000000..eb0bdeb --- /dev/null +++ b/diskdev_cmds/disklib/dkopen.h @@ -0,0 +1,56 @@ +/* + * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ + +/* + * File I/O stubs + * + * Linux and other OSs may use open64, lseek64 instead of defaulting off_t to + * 64-bits like OSX does. This file provides cover functions to always perform + * 64-bit file I/O. + */ + +#ifndef _DKOPEN_H_ +#define _DKOPEN_H_ + +/* Must predefine the large file flags before including sys/types.h */ +#if defined (linux) +#define _LARGEFILE_SOURCE +#define _LARGEFILE64_SOURCE +#elif defined (__APPLE__) +#else +#error Platform not recognized +#endif + +#include + +/* Typedef off64_t for platforms that don't have it declared */ +#if defined (__APPLE__) && !defined (linux) +typedef u_int64_t off64_t; +#endif + +int dkopen (const char *path, int flags, int mode); +int dkclose (int filedes); + +off64_t dklseek (int fileds, off64_t offset, int whence); + +#endif -- cgit v1.2.3-56-ge451