1 /* 2 * decls for symbols defined in the linker script 3 * 4 * Copyright (c) 2012 The Chromium OS Authors. 5 * 6 * Licensed under the GPL-2 or later. 7 */ 8 9 #ifndef __SANDBOX_SECTIONS_H 10 #define __SANDBOX_SECTIONS_H 11 12 #include <asm-generic/sections.h> 13 #include <linux/compiler_attributes.h> 14 15 struct sandbox_cmdline_option; 16 17 static inline struct sandbox_cmdline_option ** __u_boot_sandbox_option_start(void)18__u_boot_sandbox_option_start(void) 19 { 20 static char start[0] __aligned(4) __attribute__((unused)) 21 __section("_u_boot_sandbox_getopt_start"); 22 23 return (struct sandbox_cmdline_option **)&start; 24 } 25 26 static inline struct sandbox_cmdline_option ** __u_boot_sandbox_option_end(void)27__u_boot_sandbox_option_end(void) 28 { 29 static char end[0] __aligned(4) __attribute__((unused)) 30 __section("_u_boot_sandbox_getopt_end"); 31 32 return (struct sandbox_cmdline_option **)&end; 33 } 34 __u_boot_sandbox_option_count(void)35static inline size_t __u_boot_sandbox_option_count(void) 36 { 37 return __u_boot_sandbox_option_end() - __u_boot_sandbox_option_start(); 38 } 39 40 #endif 41