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)35 static 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