2022-03-24 16:38:46 +03:00
/*
* Samba Unix / Linux SMB client library
* Json output
* Copyright ( C ) Jule Anger 2022
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation ; either version 3 of the License , or
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program . If not , see < http : //www.gnu.org/licenses/>.
*/
# include "status.h"
2022-08-01 12:19:37 +03:00
# include "smbd/notifyd/notifyd_db.h"
2022-03-24 16:38:46 +03:00
# ifndef STATUS_JSON_H
# define STATUS_JSON_H
2022-03-31 11:17:47 +03:00
int add_section_to_json ( struct traverse_state * state ,
const char * key ) ;
2022-03-31 12:04:52 +03:00
int add_general_information_to_json ( struct traverse_state * state ) ;
2022-08-05 14:05:26 +03:00
int add_profile_item_to_json ( struct traverse_state * state ,
const char * section ,
const char * subsection ,
const char * key ,
uintmax_t value ) ;
2022-03-31 11:20:20 +03:00
int traverse_connections_json ( struct traverse_state * state ,
2022-05-09 11:11:38 +03:00
const struct connections_data * crec ,
const char * encryption_cipher ,
enum crypto_degree encryption_degree ,
const char * signing_cipher ,
enum crypto_degree signing_degree ) ;
2022-03-31 11:20:20 +03:00
2022-03-24 16:09:35 +03:00
int traverse_sessionid_json ( struct traverse_state * state ,
struct sessionid * session ,
char * uid_str ,
char * gid_str ,
2022-05-09 13:26:30 +03:00
const char * encryption_cipher ,
enum crypto_degree encryption_degree ,
const char * signing_cipher ,
enum crypto_degree signing_degree ,
2022-03-24 16:09:35 +03:00
const char * connection_dialect ) ;
2022-03-30 16:11:11 +03:00
int print_share_mode_json ( struct traverse_state * state ,
const struct share_mode_data * d ,
2022-03-30 16:36:13 +03:00
const struct share_mode_entry * e ,
2022-03-30 16:14:13 +03:00
struct file_id fid ,
2022-03-30 16:36:13 +03:00
const char * uid_str ,
2022-03-30 16:40:56 +03:00
const char * op_str ,
2022-03-30 18:05:02 +03:00
uint32_t lease_type ,
2022-03-30 16:11:11 +03:00
const char * filename ) ;
2022-03-31 11:30:30 +03:00
int print_brl_json ( struct traverse_state * state ,
2022-05-02 11:57:28 +03:00
const struct server_id server_id ,
2022-08-01 12:15:44 +03:00
struct file_id fid ,
2022-03-31 11:31:31 +03:00
const char * type ,
enum brl_flavour flavour ,
intmax_t start ,
intmax_t size ,
2022-03-31 11:30:30 +03:00
const char * sharepath ,
const char * filename ) ;
2022-08-01 12:19:37 +03:00
bool print_notify_rec_json ( struct traverse_state * state ,
const struct notify_instance * instance ,
2022-05-02 11:58:24 +03:00
const struct server_id server_id ,
2022-08-01 12:19:37 +03:00
const char * path ) ;
2022-03-24 16:38:46 +03:00
# endif