yumapro  23.10T-9
YumaPro SDK
Loading...
Searching...
No Matches
agt_not.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2008 - 2012, Andy Bierman, All Rights Reserved.
3 * Copyright (c) 2012 - 2021, YumaWorks, Inc., All Rights Reserved.
4 *
5 * Unless required by applicable law or agreed to in writing,
6 * software distributed under the License is distributed on an
7 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8 * KIND, either express or implied. See the License for the
9 * specific language governing permissions and limitations
10 * under the License.
11 */
12#ifndef _H_agt_not
13#define _H_agt_not
14/* FILE: agt_not.h
15*********************************************************************
16* *
17* P U R P O S E *
18* *
19*********************************************************************/
20
27/*********************************************************************
28* *
29* C H A N G E H I S T O R Y *
30* *
31*********************************************************************
32
33date init comment
34----------------------------------------------------------------------
3530-may-09 abb Begun.
36*/
37
38#include <xmlstring.h>
39
40#ifndef _H_dlq
41#include "dlq.h"
42#endif
43
44#ifndef _H_ncxtypes
45#include "ncxtypes.h"
46#endif
47
48#ifndef _H_obj
49#include "obj.h"
50#endif
51
52#ifndef _H_ses
53#include "ses.h"
54#endif
55
56#ifndef _H_status
57#include "status.h"
58#endif
59
60#ifndef _H_tstamp
61#include "tstamp.h"
62#endif
63
64#ifndef _H_val
65#include "val.h"
66#endif
67
68#ifndef _H_yang_patch
69#include "yang_patch.h"
70#endif
71
72#ifdef __cplusplus
73extern "C" {
74#endif
75
76/* header only */
77
78
103/********************************************************************
104* *
105* C O N S T A N T S *
106* *
107*********************************************************************/
108
110#define AGT_NOT_MODULE1 (const xmlChar *)"notifications"
111
113#define AGT_NOT_MODULE2 (const xmlChar *)"nc-notifications"
114
115
116/********************************************************************
117* *
118* T Y P E S *
119* *
120*********************************************************************/
121
123typedef uint32 agt_not_subid_t;
124
125
127typedef enum agt_not_subevent_t_ {
130
133
137
138
143typedef struct agt_not_msg_t_ {
145 dlq_hdr_t qhdr;
146
149
162 dlq_hdr_t keyQ;
163
164 /* payload set by caller: Q of val_value_t */
165 dlq_hdr_t payloadQ;
166
168 uint32 msgid;
169
171 xmlChar eventTime[TSTAMP_MIN_SIZE];
172
178
181
183 boolean usemsgid;
184
190
197
204
206
207
209typedef enum agt_not_filtertyp_t_ {
217
220
224
225
229typedef enum agt_not_sterr_t_ {
240
241
243typedef enum agt_not_push_change_t_ {
251
252
256typedef enum agt_not_suspend_reason_t_ {
259
262
265
268
271
275
276
280typedef enum agt_not_term_reason_t_ {
283
286
289
292
295
298
301
303
304
321typedef void
323 agt_not_subid_t subid,
324 agt_not_filtertyp_t filtyp,
325 const val_value_t *new_filter);
326
327
341typedef void
343 boolean kill_pending);
344
345
346
355typedef void
357
358
367typedef void
369
370
371
433typedef void
434 (*agt_not_stream_cbfn_t) (const xmlChar *event_stream,
435 agt_not_subevent_t subevent,
436 void *cookie);
437
438
442/********************************************************************
443* *
444* F U N C T I O N S *
445* *
446*********************************************************************/
447
448
489extern status_t
490 agt_not_init (void);
491
492
500extern status_t
501 agt_not_init_sil_sa (void);
502
503
511extern status_t
512 agt_not_init2 (void);
513
514
520extern void
521 agt_not_cleanup (void);
522
523
530extern void
532
533
534
535#ifdef PTHREADS
554extern uint32
556
557#else
558
574extern uint32
576
577#endif // PTHREADS
578
579
586extern void
588
589
597extern void
599
600
607extern agt_not_msg_t *
609
610
619extern agt_not_msg_t *
621 const xmlChar *eventTime);
622
623
633extern void
635
636
655extern void
657 val_value_t *val);
658
659
660
679extern void
681 val_value_t *val);
682
683
700extern void
702
703
728extern void
729 agt_not_queue_notification_stream (const xmlChar *stream_name,
730 agt_not_msg_t *notif);
731
732
743extern boolean
744 agt_not_is_replay_event (const obj_template_t *notifobj);
745
746
752extern void
754
755
776extern status_t
778 const xmlChar *stream,
779 xmlChar *startTime,
780 xmlChar *stopTime,
781 boolean futurestop,
782 op_filtertyp_t filtertype,
783 val_value_t *filterval,
784 val_value_t *selectval);
785
786
787#ifdef WITH_YP_HA
793extern void
794 agt_not_go_active (void);
795#endif // WITH_YP_HA
796
797#ifdef WITH_YP_HA
803extern void
804 agt_not_go_standby (void);
805#endif // WITH_YP_HA
806
807
808#ifdef WITH_YANG_PUSH
815extern status_t
817#endif // WITH_YANG_PUSH
818
819
829extern status_t
830 agt_not_set_filter (const xmlChar *name,
831 ncx_nmda_filtyp_t nmda_filtyp,
832 agt_not_filtertyp_t filtyp,
833 const val_value_t *filval);
834
835
836
850extern status_t
852 const xmlChar *name,
853 agt_not_filtertyp_t *filtyp,
854 val_value_t **filval);
855
856
864extern status_t
865 agt_not_delete_filter (const xmlChar *name,
866 ncx_nmda_filtyp_t nmda_filtyp);
867
868
869
878extern status_t
879 agt_not_delete_all_filters (boolean force);
880
881
910extern status_t
912 ses_cb_t *scb,
913 const xmlChar *stream_filter_name,
914 const val_value_t *stream_subtree_filter,
915 const val_value_t *stream_xpath_filter,
916 const xmlChar *stream,
917 const xmlChar *replay_start_time,
918 const xmlChar *stop_time,
919 const val_value_t *encoding,
920 agt_not_subid_t *subid,
921 agt_not_sterr_t *errnum);
922
923
961 ses_cb_t *scb,
962 agt_not_subid_t subid,
963 const xmlChar *stream_filter_name,
964 const val_value_t *stream_subtree_filter,
965 const val_value_t *stream_xpath_filter,
966 const xmlChar *stop_time,
967 agt_not_sterr_t *errnum);
968
969
981extern status_t
983 agt_not_subid_t subid);
984
985
995extern status_t
997
998
999#ifdef WITH_YANG_PUSH
1021extern status_t
1023 ses_cb_t *scb,
1024 const xmlChar *selection_filter_ref,
1025 const xmlChar *stop_time,
1026 const val_value_t *encoding,
1027 agt_not_modify_filter_cbfn_t modify_cbfn,
1029 agt_not_subid_t *subid,
1030 agt_not_sterr_t *errnum,
1031 boolean *isbinary);
1032
1033
1049extern status_t
1051 ses_id_t sid,
1052 agt_not_subid_t cur_subid,
1053 const xmlChar *selection_filter_ref,
1054 const xmlChar *stop_time,
1055 agt_not_sterr_t *errnum);
1056
1057
1065extern status_t
1068
1069
1085extern status_t
1087 obj_template_t *subscription_completed,
1088 obj_template_t *subscription_modified,
1089 obj_template_t *subscription_resumed,
1090 obj_template_t *subscription_started,
1091 obj_template_t *subscription_suspended,
1092 obj_template_t *subscription_terminated);
1093
1094
1106extern status_t
1108 ses_id_t sid,
1109 obj_template_t *notif_obj,
1110 rpc_msg_t *msg,
1111 boolean *subscription_deleted);
1112
1113
1133extern status_t
1135 ses_id_t sid,
1136 const xmlChar *filespec,
1137 rpc_msg_t *msg,
1138 boolean *subscription_deleted,
1139 uint32 *checksum,
1140 uint32 *bytecnt);
1141
1142
1158extern status_t
1160 ses_id_t sid,
1161 const xmlChar *filespec,
1162 rpc_msg_t *msg,
1163 obj_template_t *notif_obj,
1164 boolean *subscription_deleted);
1165
1166
1175extern void
1178
1179
1180
1189extern void
1191
1192
1202extern void
1204 agt_not_term_reason_t term_reason);
1205
1206
1217extern status_t
1219 ses_id_t sid,
1220 obj_template_t *notif_obj,
1221 yang_patch_cb_t *pcb,
1222 boolean *subscription_deleted);
1223
1224
1225#endif // WITH_YANG_PUSH
1226
1227
1237extern void
1239
1240
1241#ifdef WITH_YANG_PUSH
1249extern obj_template_t *
1251
1252
1260extern status_t
1262 agt_not_msg_t *notif);
1263
1264#endif // WITH_YANG_PUSH
1265
1266
1276extern status_t
1277 agt_not_create_event_stream (const xmlChar *name,
1278 uint32 eventlog_size,
1279 const xmlChar *description);
1280
1281
1289extern status_t
1291 const xmlChar *name);
1292
1293
1302extern status_t
1303 agt_not_edit_module_map (const xmlChar *modname,
1304 const xmlChar *stream_name,
1305 boolean is_create);
1306
1307
1314extern status_t
1315 agt_not_delete_module_map (const xmlChar *modname);
1316
1317
1324extern boolean
1325 agt_not_event_stream_exists (const xmlChar *stream_name);
1326
1327
1339extern status_t
1340 agt_not_clear_event_stream_log (const xmlChar *stream_name);
1341
1342
1343
1397extern status_t
1398 agt_not_register_stream_cbfn (const xmlChar *modname,
1399 const xmlChar *stream_name,
1400 boolean all_streams,
1402 void *cookie);
1403
1404
1416extern void
1417 agt_not_unregister_stream_cbfn (const xmlChar *modname,
1419
1420
1421
1422
1423#ifdef WITH_YCONTROL
1459extern status_t
1460 agt_not_register_stream_cbfn_subsys (const xmlChar *subsys_id,
1461 const xmlChar *modname,
1462 const xmlChar *stream_name,
1463 boolean all_streams);
1464
1465
1474extern void
1475 agt_not_unregister_stream_cbfn_subsys (const xmlChar *subsys_id,
1476 const xmlChar *modname);
1477
1478
1479
1480
1491extern status_t
1492 agt_not_check_register_add (const xmlChar *modname,
1493 val_value_t *request_val);
1494
1495
1505extern boolean
1506 agt_not_any_unregistered (const xmlChar *modname);
1507
1508
1509
1520extern void
1521 agt_not_subsys_gone (const xmlChar *subsys_id);
1522
1523
1541extern status_t
1542 agt_not_stream_callback_subsys (const xmlChar *stream_name,
1543 agt_not_subevent_t subevent,
1544 const xmlChar *modname,
1545 boolean all_streams);
1546
1547
1548#endif // WITH_YCONTROL
1549
1550
1551
1566extern void
1567 agt_not_unload_module (const xmlChar *modname);
1568
1569
1570
1587extern status_t
1589 const ncx_sm_mpid_t *mpid);
1590
1591
1592#ifdef WITH_RESTCONF
1601extern status_t
1603 obj_template_t *streamobj);
1604
1605#endif // WITH_RESTCONF
1606
1607
1611#ifdef __cplusplus
1612} /* end extern 'C' */
1613#endif
1614
1615#endif /* _H_agt_not */
dlq provides general double-linked list and queue support:
void agt_not_suspend_push_subscription(agt_not_subid_t subid, agt_not_suspend_reason_t reason)
Suspend a subscription and stop sending notifications to it.
Definition: agt_not.c:9151
void agt_not_add_key(agt_not_msg_t *notif, val_value_t *val)
Queue the specified value node into the keyQ for the specified notification.
Definition: agt_not.c:6800
status_t agt_not_register_stream_cbfn(const xmlChar *modname, const xmlChar *stream_name, boolean all_streams, agt_not_stream_cbfn_t cbfn, void *cookie)
Register a SIL event-stream callback function.
Definition: agt_not.c:9666
status_t agt_not_create_event_stream(const xmlChar *name, uint32 eventlog_size, const xmlChar *description)
Create an event-stream from a YANG module interface.
Definition: agt_not.c:9405
void agt_not_clean_eventlog(void)
Remove any delivered notifications when the replay buffer size is set to zero.
Definition: agt_not.c:6632
void agt_not_queue_notification_stream(const xmlChar *stream_name, agt_not_msg_t *notif)
Queue the specified notification in the replay log.
Definition: agt_not.c:7078
status_t agt_not_set_notif_mpid(agt_not_msg_t *msg, const ncx_sm_mpid_t *mpid)
Set the MPID to use for sending the schema-mounted notification.
Definition: agt_not.c:10292
status_t agt_not_establish_subscription(ses_cb_t *scb, const xmlChar *stream_filter_name, const val_value_t *stream_subtree_filter, const val_value_t *stream_xpath_filter, const xmlChar *stream, const xmlChar *replay_start_time, const xmlChar *stop_time, const val_value_t *encoding, agt_not_subid_t *subid, agt_not_sterr_t *errnum)
Create a RFC 8639 stream subscription.
Definition: agt_not.c:8397
agt_not_msg_t * agt_not_new_notification_ex(obj_template_t *eventType, const xmlChar *eventTime)
@ brief Malloc and initialize the fields in an agt_not_msg_t Use provided eventTime (extended)
Definition: agt_not.c:6697
status_t agt_not_modify_subscription(ses_cb_t *scb, agt_not_subid_t subid, const xmlChar *stream_filter_name, const val_value_t *stream_subtree_filter, const val_value_t *stream_xpath_filter, const xmlChar *stop_time, agt_not_sterr_t *errnum)
Modify a RFC 8639 stream subscription.
Definition: agt_not.c:8467
status_t agt_not_init2(void)
INIT 2: Initialize the monitoring data structures This must be done after the <running> config is loa...
Definition: agt_not.c:5665
agt_not_msg_t * agt_not_new_notification(obj_template_t *eventType)
Malloc and initialize the fields in an agt_not_msg_t.
Definition: agt_not.c:6673
status_t agt_not_init(void)
INIT 1: Initialize the server notification module data structures.
Definition: agt_not.c:5479
void agt_not_queue_notification(agt_not_msg_t *notif)
Queue the specified notification in the replay log.
Definition: agt_not.c:6832
boolean agt_not_any_unregistered(const xmlChar *modname)
Check if any entries are still unregistered for a subsystem building a register-request.
Definition: agt_not.c:10079
status_t agt_not_delete_all_filters(boolean force)
Delete all existing filter entries.
Definition: agt_not.c:7984
status_t agt_not_setup_push_subscription(ses_cb_t *scb, const xmlChar *selection_filter_ref, const xmlChar *stop_time, const val_value_t *encoding, agt_not_modify_filter_cbfn_t modify_cbfn, agt_not_delete_subscription_cbfn_t delete_cbfn, agt_not_subid_t *subid, agt_not_sterr_t *errnum, boolean *isbinary)
Create a RFC 8641 YANG Push subscription.
Definition: agt_not.c:8643
void agt_not_kill_push_subscription(agt_not_subid_t subid, agt_not_term_reason_t term_reason)
Kill a YANG Push Subscription.
Definition: agt_not.c:9231
status_t agt_not_register_yang_push(agt_not_check_push_cbfn_t cbfn, agt_not_module_removed_cbfn_t mod_cbfn)
Used by YANG Push to check periodic and simulated operational.
Definition: agt_not.c:8887
status_t agt_not_kill_dynamic_subscription(agt_not_subid_t subid)
Terminate any session's RFC 8639 subscription.
Definition: agt_not.c:8605
void agt_not_cleanup_sil_sa(void)
Cleanup the module data structures.
Definition: agt_not.c:5874
void agt_not_remove_module_filters(const ncx_module_t *mod)
Invoke Module Removed Callback.
Definition: agt_not.c:9320
status_t agt_not_modify_push_subscription(ses_id_t sid, agt_not_subid_t cur_subid, const xmlChar *selection_filter_ref, const xmlChar *stop_time, agt_not_sterr_t *errnum)
Modify a RFC 8641 YANG Push subscription.
Definition: agt_not.c:8833
status_t agt_not_delete_dynamic_subscription(ses_id_t sid, agt_not_subid_t subid)
Terminate your own RFC 8639 subscription.
Definition: agt_not.c:8586
status_t agt_not_send_onchange_update(agt_not_subid_t subid, ses_id_t sid, obj_template_t *notif_obj, yang_patch_cb_t *pcb, boolean *subscription_deleted)
Used by YANG Push to send an on-change update to 1 session.
Definition: agt_not.c:9273
boolean agt_not_event_stream_exists(const xmlChar *stream_name)
Check if the specified event stream is configured.
Definition: agt_not.c:9575
void agt_not_remove_subscription(ses_id_t sid)
Remove and expire a subscription with the specified session ID.
Definition: agt_not.c:6652
status_t agt_not_init_restconf_streams(val_value_t *streamsval, obj_template_t *streamobj)
Initialize the monitoring data structures for restconf This must be done after the <running> config i...
Definition: agt_not.c:10547
status_t agt_not_delete_filter(const xmlChar *name, ncx_nmda_filtyp_t nmda_filtyp)
Delete an existing filter entry.
Definition: agt_not.c:7908
void agt_not_cancel_subscription(ses_id_t sid)
Cancel any notification subscription for the specified session.
Definition: agt_not.c:7136
status_t agt_not_init_sil_sa(void)
INIT 1: Initialize the server notification module data structures.
Definition: agt_not.c:5634
status_t agt_not_delete_module_map(const xmlChar *modname)
Delete a module map from a YANG module interface.
Definition: agt_not.c:9543
uint32 agt_not_send_notifications(thd_tcb_t *tcb)
Send notifications (PTHREADS VERSION)
Definition: agt_not.c:6469
status_t agt_not_edit_module_map(const xmlChar *modname, const xmlChar *stream_name, boolean is_create)
Create or modify a module map from a YANG module interface.
Definition: agt_not.c:9485
void agt_not_unregister_stream_cbfn(const xmlChar *modname, agt_not_stream_cbfn_t cbfn)
Unregister a SIL event-stream callback function.
Definition: agt_not.c:9734
obj_template_t * agt_not_get_modified_obj(void)
Get subscription-modified object.
Definition: agt_not.c:9353
void agt_not_free_notification(agt_not_msg_t *notif)
Scrub the memory in an agt_not_template_t by freeing all the sub-fields and then freeing the entire s...
Definition: agt_not.c:6722
status_t agt_not_delete_event_stream(ses_cb_t *scb, const xmlChar *name)
Delete an event-stream from a YANG module interface.
Definition: agt_not.c:9443
status_t agt_not_init_yangpush(obj_template_t *streams_obj)
Init the yang-push related streams and data structures.
Definition: agt_not.c:7415
status_t agt_not_register_stream_cbfn_subsys(const xmlChar *subsys_id, const xmlChar *modname, const xmlChar *stream_name, boolean all_streams)
Register a SIL event-stream callback function.
Definition: agt_not.c:9826
status_t agt_not_send_periodic_update(agt_not_subid_t subid, ses_id_t sid, obj_template_t *notif_obj, rpc_msg_t *msg, boolean *subscription_deleted)
Used by YANG Push to send a periodic update to 1 session.
Definition: agt_not.c:8960
void agt_not_cleanup(void)
Cleanup the module data structures.
Definition: agt_not.c:5803
void agt_not_go_active(void)
Enable active notification subscriptions.
Definition: agt_not.c:7364
status_t agt_not_get_simop_update(agt_not_subid_t subid, ses_id_t sid, const xmlChar *filespec, rpc_msg_t *msg, boolean *subscription_deleted, uint32 *checksum, uint32 *bytecnt)
Used by YANG Push to get the candidate Simuated Operational On-Change subscription.
Definition: agt_not.c:9013
void agt_not_add_to_payload(agt_not_msg_t *notif, val_value_t *val)
Queue the specified value node into the payloadQ for the specified notification.
Definition: agt_not.c:6775
void agt_not_unregister_stream_cbfn_subsys(const xmlChar *subsys_id, const xmlChar *modname)
Unregister a SIL event-stream callback function.
Definition: agt_not.c:9896
status_t agt_not_send_push_notif(agt_not_subid_t subid, agt_not_msg_t *notif)
Send the notification directly to the specified push subscription ID.
Definition: agt_not.c:9375
status_t agt_not_set_filter(const xmlChar *name, ncx_nmda_filtyp_t nmda_filtyp, agt_not_filtertyp_t filtyp, const val_value_t *filval)
Add or Modify a filter entry.
Definition: agt_not.c:7710
status_t agt_not_clone_filter(ncx_nmda_filtyp_t nmda_filtyp, const xmlChar *name, agt_not_filtertyp_t *filtyp, val_value_t **filval)
Find a filter entry and clone it.
Definition: agt_not.c:7750
status_t agt_not_start_subscription(ses_cb_t *scb, const xmlChar *stream, xmlChar *startTime, xmlChar *stopTime, boolean futurestop, op_filtertyp_t filtertype, val_value_t *filterval, val_value_t *selectval)
Malloc and fill in a new subscription control block.
Definition: agt_not.c:7318
void agt_not_subsys_gone(const xmlChar *subsys_id)
Unload any remote stream callbacks when a subsystem session is lost and subsys-gone event handled.
Definition: agt_not.c:10121
boolean agt_not_is_replay_event(const obj_template_t *notifobj)
Check if the specified notfication is the replayComplete or notificationComplete notification events.
Definition: agt_not.c:7103
status_t agt_not_send_simop_update(agt_not_subid_t subid, ses_id_t sid, const xmlChar *filespec, rpc_msg_t *msg, obj_template_t *notif_obj, boolean *subscription_deleted)
Use the file contents to send an Simulated Operational on-change update to the client session.
Definition: agt_not.c:9106
void agt_not_resume_push_subscription(agt_not_subid_t subid)
Resume a YANG Push Subscription.
Definition: agt_not.c:9187
status_t agt_not_stream_callback_subsys(const xmlChar *stream_name, agt_not_subevent_t subevent, const xmlChar *modname, boolean all_streams)
Invoke a stream callback function on the SIL-SA subsystem.
Definition: agt_not.c:10178
void agt_not_unload_module(const xmlChar *modname)
Unload any remote stream callbacks when a module is unloaded.
Definition: agt_not.c:10240
status_t agt_not_register_notif_objs(obj_template_t *replay_completed, obj_template_t *subscription_completed, obj_template_t *subscription_modified, obj_template_t *subscription_resumed, obj_template_t *subscription_started, obj_template_t *subscription_suspended, obj_template_t *subscription_terminated)
Register Notification Objects.
Definition: agt_not.c:8920
status_t agt_not_clear_event_stream_log(const xmlChar *stream_name)
Remove all the stored notifications in the eventlog for the specified event stream.
Definition: agt_not.c:9605
void agt_not_go_standby(void)
Exit active notification subscription mode and disable notifications.
Definition: agt_not.c:7378
status_t agt_not_check_register_add(const xmlChar *modname, val_value_t *request_val)
Check if a "<stream-callback>" container needs to be added to the "<register>" list entry.
Definition: agt_not.c:9968
agt_not_term_reason_t
Terminate subscription reasons.
Definition: agt_not.h:280
void(* agt_not_check_push_cbfn_t)(ses_id_t sid)
Check Push Callback.
Definition: agt_not.h:356
agt_not_sterr_t
stream error parameter numbers used internally for error reporting
Definition: agt_not.h:229
void(* agt_not_modify_filter_cbfn_t)(ses_cb_t *scb, agt_not_subid_t subid, agt_not_filtertyp_t filtyp, const val_value_t *new_filter)
Modify Filter Callback.
Definition: agt_not.h:322
agt_not_filtertyp_t
server supported filter types
Definition: agt_not.h:209
agt_not_push_change_t
PUSH change type enums used by agt_val anf agt_push.
Definition: agt_not.h:243
agt_not_suspend_reason_t
Suspend subscription reasons Used internally instead of finding YANG identities.
Definition: agt_not.h:256
void(* agt_not_delete_subscription_cbfn_t)(agt_not_subid_t subid, boolean kill_pending)
Delete Subscription Callback.
Definition: agt_not.h:342
void(* agt_not_module_removed_cbfn_t)(const ncx_module_t *mod)
Remove Module Callback.
Definition: agt_not.h:368
uint32 agt_not_subid_t
subscription-id parameter
Definition: agt_not.h:123
agt_not_subevent_t
event-stream sub-event types
Definition: agt_not.h:127
void(* agt_not_stream_cbfn_t)(const xmlChar *event_stream, agt_not_subevent_t subevent, void *cookie)
Event Stream Callback.
Definition: agt_not.h:434
@ AGT_NOT_TERM_SUSPENSION_TIMEOUT
suspension timeout
Definition: agt_not.h:294
@ AGT_NOT_TERM_FILTER_UNAVAILABLE
filter unavailable
Definition: agt_not.h:285
@ AGT_NOT_TERM_STREAM_UNAVAILABLE
stream unavailable
Definition: agt_not.h:291
@ AGT_NOT_TERM_DATASTORE_NOT_SUBSCRIBABLE
datastore not subscribable
Definition: agt_not.h:297
@ AGT_NOT_TERM_NO_SUCH_SUBSCRIPTION
no such subscription
Definition: agt_not.h:288
@ AGT_NOT_TERM_NONE
not set
Definition: agt_not.h:282
@ AGT_NOT_TERM_UNCHANGING_SELECTION
unchanging selection
Definition: agt_not.h:300
@ AGT_NOT_STERR_XPATH_FILTER
xpath-filter
Definition: agt_not.h:233
@ AGT_NOT_STERR_STREAM
stream name
Definition: agt_not.h:234
@ AGT_NOT_STERR_SUBTREE_FILTER
subtree-filter
Definition: agt_not.h:232
@ AGT_NOT_STERR_NONE
not set
Definition: agt_not.h:230
@ AGT_NOT_STERR_START_TIME
start-time
Definition: agt_not.h:235
@ AGT_NOT_STERR_ID
modify only
Definition: agt_not.h:238
@ AGT_NOT_STERR_FILTER_REF
filter-ref
Definition: agt_not.h:231
@ AGT_NOT_STERR_ENCODING
encoding
Definition: agt_not.h:237
@ AGT_NOT_STERR_STOP_TIME
stop-time
Definition: agt_not.h:236
@ AGT_NOT_FILTER_SUBTREE
subtree filter
Definition: agt_not.h:219
@ AGT_NOT_FILTER_XPATH
XPath filter.
Definition: agt_not.h:222
@ AGT_NOT_FILTER_NONE
not set
Definition: agt_not.h:210
@ AGT_NOT_FILTER_EMPTY
the filters configuration allows an empty filter to exist that just has a name in it; treat this an v...
Definition: agt_not.h:216
@ AGT_NOT_PUSH_CHANGE_REPLACE
replace edit
Definition: agt_not.h:249
@ AGT_NOT_PUSH_CHANGE_DELETE
delete edit
Definition: agt_not.h:246
@ AGT_NOT_PUSH_CHANGE_INSERT
insert edit
Definition: agt_not.h:247
@ AGT_NOT_PUSH_CHANGE_CREATE
create edit
Definition: agt_not.h:245
@ AGT_NOT_PUSH_CHANGE_NONE
not set
Definition: agt_not.h:244
@ AGT_NOT_PUSH_CHANGE_MOVE
move edit
Definition: agt_not.h:248
@ AGT_NOT_SUSPEND_UNSUPPORTABLE_VOLUME
unsupported volume
Definition: agt_not.h:264
@ AGT_NOT_SUSPEND_NONE
not set
Definition: agt_not.h:258
@ AGT_NOT_SUSPEND_UPDATE_TOO_BIG
update too big
Definition: agt_not.h:270
@ AGT_NOT_SUSPEND_PERIOD_UNSUPPORTED
period unsupported
Definition: agt_not.h:267
@ AGT_NOT_SUSPEND_INSUFFICIENT_RESOURCES
insufficient resources
Definition: agt_not.h:261
@ AGT_NOT_SUSPEND_SYNC_TOO_BIG
sync too big
Definition: agt_not.h:273
@ AGT_NOT_SUBEV_INACTIVE
inactive sub-event
Definition: agt_not.h:135
@ AGT_NOT_SUBEV_ACTIVE
active sub-event
Definition: agt_not.h:132
@ AGT_NOT_SUBEV_NONE
not set
Definition: agt_not.h:129
op_filtertyp_t
NETCONF protocol operation PDU filter types.
Definition: op.h:114
status_t
global error return code
Definition: status_enum.h:210
uint32 ses_id_t
Session ID.
Definition: ses.h:335
#define TSTAMP_MIN_SIZE
normal minimum buffer size for a tstamp buffer
Definition: tstamp.h:71
ncx_nmda_filtyp_t
internal enumerations for NMDA filter types used in the /filters container NCX_NMDA_FILTYP_STREAM == ...
Definition: ncxtypes.h:1691
YANG module data structures Many internal representations of YANG module constructs.
Data Object Support.
NETCONF Session Common definitions module.
Global error messages for status code enumerations.
one notification message that will be sent to all subscriptions in the stream and kept in the replay ...
Definition: agt_not.h:143
boolean usemsgid
internal field to use or change msgid
Definition: agt_not.h:183
dlq_hdr_t qhdr
queue header
Definition: agt_not.h:145
status_t res
internal status for making the message to prevent a malformed notification message from being sent to...
Definition: agt_not.h:189
uint32 msgid
messsage ID assigned to this notification
Definition: agt_not.h:168
val_value_t * msg
the /notification element
Definition: agt_not.h:177
obj_template_t * notobj
notification event object for this message
Definition: agt_not.h:148
val_value_t * event
backptr inside msg for filter for top-level notifications
Definition: agt_not.h:180
val_value_t * treetop
internal backptr to the top of the instance hierarchy if this is a nested notification; YANG 1....
Definition: agt_not.h:196
dlq_hdr_t keyQ
notification ancestor keyQ if this is a YANG 1.1 nested notification.
Definition: agt_not.h:162
ncx_sm_mpid_t * sm_mpid
clone of the MPID to use if this is a schema-mounted notification.
Definition: agt_not.h:203
representation of one module or submodule during and after parsing
Definition: ncxtypes.h:1134
Moint Point Instance This struct lives in a val_value_t.val_extra struct.
Definition: ncxtypes.h:1811
One YANG data-def-stmt.
Definition: obj.h:1220
NETCONF Server and Client RPC Request/Reply Message Header.
Definition: rpc.h:181
Session Control Block.
Definition: ses.h:573
Thread control block (TCB)
Definition: thd.h:175
one value to match one type
Definition: val.h:912
One YANG Patch Request.
Definition: yang_patch.h:155
Timestamp utilities.
Value Node Basic Support.
YANG Patch Media Type.