1dat_evd_modify_cno(3DDiArTe)ct Access Transport Library Funcdtaito_nesvd_modify_cno(3DAT)
2
3
4

NAME

6       dat_evd_modify_cno - change the associated CNO for the Event Dispatcher
7

SYNOPSIS

9       cc [ flag... ] file... -ldat [ library... ]
10       #include <dat/udat.h>
11
12       DAT_RETURN
13           dat_evd_modify_cno (
14           IN    DAT_EVD_HANDLE    evd_handle,
15           IN    DAT_CNO_HANDLE    cno_handle
16           )
17
18

PARAMETERS

20       evd_handle    Handle for an instance of the Event Dispatcher.
21
22
23       cno_handle    Handle  for a CNO. The value of DAT_NULL_HANDLE specifies
24                     no CNO.
25
26

DESCRIPTION

28       The dat_evd_modify_cno() function changes the associated  CNO  for  the
29       Event Dispatcher.
30
31
32       A  Consumer  can specify the value of DAT_HANDLE_NULL for cno_handle to
33       associate not CNO with the Event Dispatcher instance.
34
35
36       Upon completion of the dat_evd_modify_cno() operation,  the  passed  IN
37       new  CNO  is  used  for  notification.  During  the operation, an event
38       arrival can be delivered to the old or new CNO. If Notification is gen‐
39       erated by EVD, it is delivered to the new or old CNO.
40
41
42       If  the  EVD is enabled at the time dat_evd_modify_cno() is called, the
43       Consumer must be prepared to collect a notification event on the  EVD's
44       old  CNO  as well as the new one. Checking immediately prior to calling
45       dat_evd_modify_cno() is not adequate. A notification  could  have  been
46       generated  after  the  prior  check  and  before  the completion of the
47       change.
48
49
50       The Consumer can avoid the risk of missed notifications either by  tem‐
51       porarily disabling the EVD, or by checking the prior CNO after invoking
52       this operation. The Consumer can  disable  EVD  before  a  dat_evd_mod‐
53       ify_cno()  call and enable it afterwards. This ensures that any notifi‐
54       cations from the EVD are delivered to the new CNO only.
55
56
57       If this function is used to disassociate a CNO  from  the  EVD,  events
58       arriving  on  this  EVD might cause waiters on that CNO to awaken after
59       returning from this routine because of unblocking a CNO waiter  already
60       "in  progress" at the time this routine is called. If this is the case,
61       the events causing that unblocking are present on the EVD  upon  return
62       from the dat_evd_modify_cno() call and can be dequeued at that time
63

RETURN VALUES

65       DAT_SUCCESS           The operation was successful.
66
67
68       DAT_INVALID_HANDLE    Invalid DAT handle.
69
70

ATTRIBUTES

72       See attributes(5) for descriptions of the following attributes:
73
74
75
76
77       ┌─────────────────────────────┬─────────────────────────────┐
78       │      ATTRIBUTE TYPE         │      ATTRIBUTE VALUE        │
79       ├─────────────────────────────┼─────────────────────────────┤
80       │Interface Stability          │Standard: uDAPL, 1.1, 1.2    │
81       ├─────────────────────────────┼─────────────────────────────┤
82       │MT-Level                     │Unsafe                       │
83       └─────────────────────────────┴─────────────────────────────┘
84

SEE ALSO

86       libdat(3LIB), attributes(5)
87
88
89
90SunOS 5.11                        16 Jul 2004         dat_evd_modify_cno(3DAT)
Impressum