Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(105)

Unified Diff: third_party/apple_cctools/cctools/include/mach-o/getsect.h

Issue 564853002: Add third_party/apple_cctools containing virgin upstream code (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/apple_cctools/cctools/include/mach-o/getsect.h
diff --git a/third_party/apple_cctools/cctools/include/mach-o/getsect.h b/third_party/apple_cctools/cctools/include/mach-o/getsect.h
new file mode 100644
index 0000000000000000000000000000000000000000..caa980de821ea1165682837c680131803d6bdf1e
--- /dev/null
+++ b/third_party/apple_cctools/cctools/include/mach-o/getsect.h
@@ -0,0 +1,143 @@
+/*
+ * Copyright (c) 2004 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@
+ */
+#ifndef _MACH_O_GETSECT_H_
+#define _MACH_O_GETSECT_H_
+
+#include <stdint.h>
+#include <mach-o/loader.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+/*
+ * Runtime interfaces for Mach-O programs. For both 32-bit and 64-bit programs,
+ * where the sizes returned will be 32-bit or 64-bit based on the size of
+ * 'unsigned long'.
+ */
+extern char *getsectdata(
+ const char *segname,
+ const char *sectname,
+ unsigned long *size);
+
+extern char *getsectdatafromFramework(
+ const char *FrameworkName,
+ const char *segname,
+ const char *sectname,
+ unsigned long *size);
+
+extern unsigned long get_end(void);
+extern unsigned long get_etext(void);
+extern unsigned long get_edata(void);
+
+#ifndef __LP64__
+/*
+ * Runtime interfaces for 32-bit Mach-O programs.
+ */
+extern const struct section *getsectbyname(
+ const char *segname,
+ const char *sectname);
+
+extern uint8_t *getsectiondata(
+ const struct mach_header *mhp,
+ const char *segname,
+ const char *sectname,
+ unsigned long *size);
+
+extern const struct segment_command *getsegbyname(
+ const char *segname);
+
+extern uint8_t *getsegmentdata(
+ const struct mach_header *mhp,
+ const char *segname,
+ unsigned long *size);
+
+#else /* defined(__LP64__) */
+/*
+ * Runtime interfaces for 64-bit Mach-O programs.
+ */
+extern const struct section_64 *getsectbyname(
+ const char *segname,
+ const char *sectname);
+
+extern uint8_t *getsectiondata(
+ const struct mach_header_64 *mhp,
+ const char *segname,
+ const char *sectname,
+ unsigned long *size);
+
+extern const struct segment_command_64 *getsegbyname(
+ const char *segname);
+
+extern uint8_t *getsegmentdata(
+ const struct mach_header_64 *mhp,
+ const char *segname,
+ unsigned long *size);
+
+#endif /* defined(__LP64__) */
+
+/*
+ * Interfaces for tools working with 32-bit Mach-O files.
+ */
+extern char *getsectdatafromheader(
+ const struct mach_header *mhp,
+ const char *segname,
+ const char *sectname,
+ uint32_t *size);
+
+extern const struct section *getsectbynamefromheader(
+ const struct mach_header *mhp,
+ const char *segname,
+ const char *sectname);
+
+extern const struct section *getsectbynamefromheaderwithswap(
+ struct mach_header *mhp,
+ const char *segname,
+ const char *sectname,
+ int fSwap);
+
+/*
+ * Interfaces for tools working with 64-bit Mach-O files.
+ */
+extern char *getsectdatafromheader_64(
+ const struct mach_header_64 *mhp,
+ const char *segname,
+ const char *sectname,
+ uint64_t *size);
+
+extern const struct section_64 *getsectbynamefromheader_64(
+ const struct mach_header_64 *mhp,
+ const char *segname,
+ const char *sectname);
+
+extern const struct section *getsectbynamefromheaderwithswap_64(
+ struct mach_header_64 *mhp,
+ const char *segname,
+ const char *sectname,
+ int fSwap);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* _MACH_O_GETSECT_H_ */
« no previous file with comments | « third_party/apple_cctools/cctools/APPLE_LICENSE ('k') | third_party/apple_cctools/cctools/libmacho/getsecbyname.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698