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 14 struct sandbox_cmdline_option; 15 16 static inline struct sandbox_cmdline_option ** __u_boot_sandbox_option_start(void)17__u_boot_sandbox_option_start(void) 18 { 19 static char start[0] __aligned(4) __attribute__((unused)) 20 __section(".u_boot_sandbox_getopt_start"); 21 22 return (struct sandbox_cmdline_option **)&start; 23 } 24 25 static inline struct sandbox_cmdline_option ** __u_boot_sandbox_option_end(void)26__u_boot_sandbox_option_end(void) 27 { 28 static char end[0] __aligned(4) __attribute__((unused)) 29 __section(".u_boot_sandbox_getopt_end"); 30 31 return (struct sandbox_cmdline_option **)&end; 32 } 33 __u_boot_sandbox_option_count(void)34static inline size_t __u_boot_sandbox_option_count(void) 35 { 36 return __u_boot_sandbox_option_end() - __u_boot_sandbox_option_start(); 37 } 38 39 #endif 40