solder/
info.rs

1use libc::*;
2use std::ffi::CString;
3
4/// Module with functions to print a PHPInfo table
5///
6/// ```
7/// use php::info::*;
8/// print_table_start();
9/// print_table_row("gpg_keys", "enabled");
10/// print_table_end();
11/// ```
12
13extern {
14    pub fn php_info_print_table_start();
15    pub fn php_info_print_table_row(num_cols: c_int, ...) -> c_void;
16    pub fn php_info_print_table_end();
17}
18
19/// Starts the PHP Info entry
20pub fn print_table_start() {
21    unsafe { php_info_print_table_start() };
22}
23
24/// Print a row with info.
25pub fn print_table_row(key: &str, value: &str) {
26    let v1 = CString::new(key).unwrap();
27    let v2 = CString::new(value).unwrap();
28    unsafe {
29        php_info_print_table_row(2, v1.as_ptr(), v2.as_ptr());
30    };
31}
32
33/// Ends the table
34pub fn print_table_end() {
35    unsafe { php_info_print_table_end() }
36}
37