![]() |
yumapro
25.10-1
YumaPro SDK
|
Session Control Block. More...
#include <ses.h>

Data Fields | |
| dlq_hdr_t | qhdr |
| queued by manager only | |
| ses_type_t | type |
| session type | |
| uint32 | protocols_requested |
| bitmask | |
| ncx_protocol_t | protocol |
| protocol version in use | |
| ses_transport_t | transport |
| transport type | |
| ncx_msg_encoding_t | encoding |
| HTTP msg encoding. | |
| ses_state_t | state |
| session state | |
| ses_mode_t | mode |
| session mode | |
| ses_id_t | sid |
| session ID | |
| ses_id_t | killedbysid |
| killed-by session ID | |
| ses_id_t | rollback_sid |
| session ID for rollback | |
| ses_term_reason_t | termreason |
| termination reason | |
| time_t | hello_time |
| used for hello timeout | |
| time_t | last_rpc_time |
| used for idle timeout | |
| xmlChar * | start_time |
| dateTime start time | |
| xmlChar * | username |
| user ID | |
| xmlChar * | peeraddr |
| Inet address string. | |
| uint16 | peerport |
| Inet TCP port number. | |
| xmlChar * | subsys_id |
| used for YCONTROL session only More... | |
| int | tid |
| Thread ID representing session. | |
| void * | tcb |
| Thread control block. | |
| boolean | locks_released |
| Signal release point in kill. | |
| boolean | conn_closed |
| T: scb IO closed last buffer. | |
| boolean | active |
| <hello> completed ok | |
| boolean | notif_active |
| subscription active | |
| boolean | stream_output |
| buffer/stream svr | |
| boolean | noxmlns |
| xml-nons display-mode | |
| boolean | framing11 |
| T: base:1.1, F: base:1.0. | |
| boolean | keep_xmlns |
| T: parse extern, F: msg | |
| boolean | warn_xml |
| T: xml warns, F: no warn. | |
| boolean | rawxml_mode |
| T: expand_anyxml, F: normal. | |
| boolean | direct_mode |
| T: yp-shell, F: normal. | |
| boolean | msg_mode |
| T:msg-indent F:indent. | |
| boolean | ycontrol |
| T: is ycontrol session. | |
| boolean | dbapi |
| T: is DB-API session. | |
| boolean | dbapi_system |
| T: is DB-API system session. | |
| boolean | sse_mode |
| T: Server Sent Events, F: normal. | |
| boolean | ypgnmi |
| T: is gNMI ycontrol session. | |
| boolean | restconf_sse_mode |
| T: RESTCONF SSE mode. | |
| boolean | restconf_notif |
| REST SSE notifications in progress. | |
| boolean | json_1line |
| T: output JSON leaf-list on 1 line. | |
| boolean | http_chunk_mode |
| T: send HTTP chunks, F: normal. | |
| boolean | http_waitrn |
| T: wait for EOchunk, F: no wait. | |
| boolean | json_attrs |
| T: use JSON attributes. | |
| boolean | any_leaflist_attrs |
| T: leaf-list has attrs. | |
| boolean | is_ycontrol_scb |
| T: is ycontrol_scb for HA. | |
| boolean | is_ipv6 |
| T: using IPv6 address, F: IPv4. | |
| boolean | is_callhome |
| T: callhome session. | |
| boolean | dropped |
| T: session dropped in a msg. | |
| boolean | free_pending |
| T: dropped SUBSYS waiting free. | |
| boolean | start_tls |
| T: need to start TLS session first. | |
| boolean | checksum_mode |
| T: add out byte to checksum. | |
| uint32 | last_ch |
| save in case cr/lf in SSE mode | |
| struct val_value_t_ * | leaflist |
| JSON attrs backptr. | |
| ncx_display_mode_t | in_encoding |
| input encoding can be different in RESTCONF, set by the Content-Type header | |
| ncx_display_mode_t | out_encoding |
| output encoding can be different in RESTCONF, set by the Accept header. More... | |
| xmlTextReaderPtr | reader |
| input stream reader | |
| FILE * | fp |
| set if output to a file | |
| int | fd |
| set if output to a socket | |
| ses_read_fn_t | rdfn |
| set if external write fn | |
| ses_write_fn_t | wrfn |
| set if external read fn | |
| ses_sendhook_fn_t | sendhook_fn |
| set if Send Hook Callback used: internal for UDP-Notif Publisher session. | |
| uint32 | inendpos |
| inside framing directive | |
| ses_instate_t | instate |
| input state enum | |
| uint32 | buffcnt |
| current buffer count | |
| uint32 | freecnt |
| current freeQ count | |
| dlq_hdr_t | msgQ |
| Q of ses_msg_t input. | |
| dlq_hdr_t | freeQ |
| Q of ses_msg_buff_t. | |
| dlq_hdr_t | outQ |
| Q of ses_msg_buff_t. | |
| ses_msg_buff_t * | outbuff |
| current output buffer | |
| ses_ready_t | inready |
| header for inreadyQ | |
| ses_ready_t | outready |
| header for outreadyQ | |
| ses_stats_t | stats |
| per-session statistics | |
| void * | mgrcb |
| if manager session, mgr_scb_t | |
| struct rpc_msg_t_ * | cur_rpc_msg |
| for SIL-SA get callback | |
| struct yangapi_cb_t_ * | rcb |
| REST-API control block. | |
| xmlChar * | entry_point |
| REST-API entry point. | |
| xmlChar | startchunk [SES_MAX_STARTCHUNK_SIZE+1] |
| base:1.1 chunk state handling; need to store number part of incoming chunk markers in the scb in case they are split across buffers | |
| xmlChar * | readbuff |
| input buffer for session | |
| uint32 | readbuffsize |
| input buffer size | |
| int8 | indent |
| indent N spaces (0..9) | |
| int8 | msg_indent |
| indent N spaces (-1..9) | |
| uint32 | linesize |
| TERM line length. | |
| ncx_withdefaults_t | withdef |
| with-defaults default | |
| uint32 | cache_timeout |
| vir-val cache tmr in sec | |
| struct agt_acm_cache_t_ * | acm_cache |
| agent access control for database reads and writes; for incoming agent <rpc> requests, the access control cache is used to minimize data structure processing during authorization procedures in agt/agt_acm.c there is a back-ptr embedded in the XML header so it can be easily passed to the agt_val and xml_wr functions | |
| xmlChar * | service_name |
| variables for ycontrol sessions More... | |
| boolean | reading_header |
| variables for SSL sessions; used by yangcli-pro More... | |
| boolean | content_length_based |
| content len based msg body | |
| boolean | chunk_based |
| chunked based msg body | |
| int32 | total_length |
| total length | |
| boolean | use_traceid |
| TRUE if OK to use Trace ID attr in the RPC calls. | |
| ses_ypmode_t | yp_mode |
| YANG-PATCH mode: More... | |
| boolean | skip_modnames |
| YPW-888: new restconf cli parameter to turn strict JSON YANG enconding off, do not include module names if a new cli paramerter present and true. | |
| void * | openssl_ctx |
| backptr to TLS context | |
| void * | openssl_ssl |
| malloced with SSL_new | |
| void * | get_cookie |
| this pointer available to pass a cookie to a GET1 callback will not be freed when the scb is deleted | |
| boolean | remote_wait |
| if there is a remote operation in progress then this flag will be set so new input can be held off on this session until the deferred reply is sent | |
| dlq_hdr_t | breadcrumbQ |
| Queue of breadcrumb object back pointers used in XPath GET2 processing of when-stmts in operational state Contains backptr to obj_template_t to prevent loops. More... | |
| ses_msg_t * | curmsg |
| pointer to current message to read set by agt only | |
| boolean | wildcard_ok |
| set by yangcli when parsing an XML file and wildcard strings are allowed; read by mgr_val_parse checking string nodes for the wildcard pattern | |
| boolean | file_override |
| set by server DB-API session to capture <rpc-reply> output to a file. More... | |
| struct cfg_template_t_ * | fake_candidate |
| a fake candidate config for target=running YANG-PATCH | |
| uint16 | rfc8639_notif_cnt |
| New subscriptions allow more than 1 per session. | |
| uint32 | checksum |
| running checksum for YANG Push Simulated Operational mode | |
| uint32 | checksum_cnt |
| byte count | |
| dlq_hdr_t | snmp_getnext_listQ |
| SNMP pointers Q of malloced val_value struct Q of list entries with only keys in it. More... | |
| struct obj_template_t_ * | snmp_table_obj |
| Current SNMP walk table. | |
| boolean | ypgrpc |
| T: is gRPC ycontrol session. | |
| boolean | binary_notifs |
| Flag to indicate Binary Notification Messages are expected to be received on this session. More... | |
| uint32 | yang_sid_tree |
| SID Tree Assignment for this session. More... | |
| xmlChar * | callhome_name |
| set for server NETCONF over TLS callhome sessions so the callhome reconnect can be checked when the session is closed; malloced string in case YANG based callhome server is deleted while session is active | |
| size_t | session_buffsize |
| the session_buffsize parameter is usually based on the ncx_get_chunk_size function which is set from the max-chunk-size CLI parameter on the server. More... | |
| uint8 | cur_dscp |
| UDP-Notif YANG-Push sessions can set the DSCP for the publisher output. More... | |
| boolean | last_outbuff |
| UDP-Notif Send function needs to know if ses_finish_msg is sending the last buff or ses_msg_new_output_buff is sending a full buffer as a segment. | |
| boolean | skip_outmsg |
| UDP-Notif Send function needs to keep a 'skip' state to dkip messages that need to be segmented, but the receiver explicitly requests no segmenting. More... | |
| void * | rcvr_cb |
| UDP-Notif Publisher uses 1 SCB for each receiver this is a backptr to the rcvr_cb_t struct in agt/agt_udp_notif.c this is a static pointer set once when the SCB is created. | |
| ses_udpnotif_cb_t * | udpnotif_cb |
| UDP-Notif Collector control block for this session not used unless client-side SES_TYP_UDPNOTIF Collector session. | |
Session Control Block.
| boolean binary_notifs |
Flag to indicate Binary Notification Messages are expected to be received on this session.
This supports the encode-yang-cbor setting for the establish-subscription operation Used in ycli/yangcli_cmd.cpp
| dlq_hdr_t breadcrumbQ |
Queue of breadcrumb object back pointers used in XPath GET2 processing of when-stmts in operational state Contains backptr to obj_template_t to prevent loops.
Q of ncx_backptr_t to obj_template_t
| uint8 cur_dscp |
UDP-Notif YANG-Push sessions can set the DSCP for the publisher output.
Since the same receiver session CB canbe used for multiple subscriptions, the DSCP must be set on every notification send, if any associated subscription is using DSCP. Save the DSCP value that is currently set; Values should be from the IANA DSCP Registry https://www.iana.org/assignments/dscp-registry/dscp-registry.xhtml
| boolean file_override |
set by server DB-API session to capture <rpc-reply> output to a file.
The session FD IO is not changed. During this mode the session output will go to scb->fp instead of scb->fd
| ncx_display_mode_t out_encoding |
output encoding can be different in RESTCONF, set by the Accept header.
The ncx_msg_encoding_t and msg_encoding field are being used when possible, instead of display_mode
| boolean reading_header |
variables for SSL sessions; used by yangcli-pro
T if reading hdr F if reading body
| xmlChar* service_name |
variables for ycontrol sessions
type of control session
| size_t session_buffsize |
the session_buffsize parameter is usually based on the ncx_get_chunk_size function which is set from the max-chunk-size CLI parameter on the server.
It is set to the default NCX_DEF_CHUNK_SIZE (1400) and may be set differently for UDP-Notif receivers
| boolean skip_outmsg |
UDP-Notif Send function needs to keep a 'skip' state to dkip messages that need to be segmented, but the receiver explicitly requests no segmenting.
In this mode only 1 segment messages can be sent
| dlq_hdr_t snmp_getnext_listQ |
SNMP pointers Q of malloced val_value struct
Q of list entries with only keys in it.
Used to find the best getnext match.
This Queue is getting saved only if the operation is GETNEXT. So the server can reuse the same Queue if the getnext operation is trying to getnext leaf object on the same TABLE
| xmlChar* subsys_id |
used for YCONTROL session only
Matches subsystem config
| uint32 yang_sid_tree |
SID Tree Assignment for this session.
Needed to select the YANG to CBOR mapping set to use
| ses_ypmode_t yp_mode |
YANG-PATCH mode: