003 File Manager
Current Path:
/usr/src/contrib/libxo/libxo
usr
/
src
/
contrib
/
libxo
/
libxo
/
📁
..
📄
Makefile.am
(1.9 KB)
📄
add.man.in
(523 B)
📄
gen-wide.sh
(1.01 KB)
📄
libxo.3
(8.18 KB)
📄
libxo.c
(205.77 KB)
📄
xo.h
(18.36 KB)
📄
xo_attr.3
(1.88 KB)
📄
xo_buf.h
(3.54 KB)
📄
xo_create.3
(1.59 KB)
📄
xo_emit.3
(2.92 KB)
📄
xo_emit_err.3
(2 KB)
📄
xo_emit_f.3
(3.27 KB)
📄
xo_encoder.c
(8.97 KB)
📄
xo_encoder.h
(5.46 KB)
📄
xo_err.3
(1.97 KB)
📄
xo_error.3
(1.06 KB)
📄
xo_explicit.h
(2.1 KB)
📄
xo_finish.3
(1.05 KB)
📄
xo_flush.3
(1.01 KB)
📄
xo_format.5
(33.64 KB)
📄
xo_humanize.h
(5.02 KB)
📄
xo_message.3
(2.02 KB)
📄
xo_no_setlocale.3
(1.12 KB)
📄
xo_open_container.3
(4.85 KB)
📄
xo_open_list.3
(4.77 KB)
📄
xo_open_marker.3
(3.22 KB)
📄
xo_options.7
(4.06 KB)
📄
xo_parse_args.3
(3.77 KB)
📄
xo_set_allocator.3
(1.33 KB)
📄
xo_set_flags.3
(3.48 KB)
📄
xo_set_info.3
(2.61 KB)
📄
xo_set_options.3
(944 B)
📄
xo_set_style.3
(1.47 KB)
📄
xo_set_syslog_enterprise_id.3
(1.06 KB)
📄
xo_set_version.3
(1.09 KB)
📄
xo_set_writer.3
(1.48 KB)
📄
xo_syslog.3
(2.32 KB)
📄
xo_syslog.c
(19.3 KB)
📄
xo_wcwidth.h
(13.69 KB)
Editing: xo_explicit.h
/* * Copyright (c) 2019, Juniper Networks, Inc. * All rights reserved. * This SOFTWARE is licensed under the LICENSE provided in the * ../Copyright file. By downloading, installing, copying, or otherwise * using the SOFTWARE, you agree to be bound by the terms of that * LICENSE. * * Phil Shafer, March 2019 */ #ifndef XO_EXPLICIT_H #define XO_EXPLICIT_H /* * NOTE WELL: This file is needed to software that implements an * explicit transition between libxo states on its internal stack. * General libxo code should _never_ include this header file. */ /* * A word about states: We use a finite state machine (FMS) approach * to help remove fragility from the caller's code. Instead of * requiring a specific order of calls, we'll allow the caller more * flexibility and make the library responsible for recovering from * missed steps. The goal is that the library should not be capable * of emitting invalid xml or json, but the developer shouldn't need * to know or understand all the details about these encodings. * * You can think of states as either states or events, since they * function rather like both. None of the XO_CLOSE_* events will * persist as states, since the matching stack frame will be popped. * Same is true of XSS_EMIT, which is an event that asks us to * prep for emitting output fields. */ /* Stack frame states */ typedef unsigned xo_state_t; /* XSS_* values */ #define XSS_INIT 0 /* Initial stack state */ #define XSS_OPEN_CONTAINER 1 #define XSS_CLOSE_CONTAINER 2 #define XSS_OPEN_LIST 3 #define XSS_CLOSE_LIST 4 #define XSS_OPEN_INSTANCE 5 #define XSS_CLOSE_INSTANCE 6 #define XSS_OPEN_LEAF_LIST 7 #define XSS_CLOSE_LEAF_LIST 8 #define XSS_DISCARDING 9 /* Discarding data until recovered */ #define XSS_MARKER 10 /* xo_open_marker's marker */ #define XSS_EMIT 11 /* xo_emit has a leaf field */ #define XSS_EMIT_LEAF_LIST 12 /* xo_emit has a leaf-list ({l:}) */ #define XSS_FINISH 13 /* xo_finish was called */ #define XSS_MAX 13 void xo_explicit_transition (xo_handle_t *xop, xo_state_t new_state, const char *tag, xo_xof_flags_t flags); #endif /* XO_EXPLICIT_H */
Upload File
Create Folder