1 /*
2  * Copyright (c) 2013, Google, Inc. All rights reserved
3  *
4  * Use of this source code is governed by a MIT-style
5  * license that can be found in the LICENSE file or at
6  * https://opensource.org/licenses/MIT
7  */
8 #pragma once
9 
10 #include <stdbool.h>
11 #include <sys/types.h>
12 #include <lib/bio.h>
13 
14 #ifndef SYSPARAM_ALLOW_WRITE
15 #define SYSPARAM_ALLOW_WRITE 0
16 #endif
17 
18 status_t sysparam_scan(bdev_t *bdev, off_t offset, size_t len);
19 status_t sysparam_reload(void);
20 
21 void sysparam_dump(bool show_all);
22 
23 ssize_t sysparam_length(const char *name);
24 ssize_t sysparam_read(const char *name, void *data, size_t len);
25 status_t sysparam_get_ptr(const char *name, const void **ptr, size_t *len);
26 
27 #if SYSPARAM_ALLOW_WRITE
28 status_t sysparam_add(const char *name, const void *value, size_t len);
29 status_t sysparam_remove(const char *name);
30 status_t sysparam_lock(const char *name);
31 status_t sysparam_write(void);
32 #endif
33 
34