1rsm_memseg_export_pubRleimsoht(e3RSShMa)red Memory LibraryrsFmu_nmcetmisoengs_export_publish(3RSM)
2
3
4

NAME

6       rsm_memseg_export_publish,     rsm_memseg_export_unpublish,    rsm_mem‐
7       seg_export_republish -  allow  or  disallow  a  memory  segment  to  be
8       imported by other nodes
9

SYNOPSIS

11       cc [ flag... ] file... -lrsm [ library... ]
12       #include <rsmapi.h>
13
14       int rsm_memseg_export_publish(
15            rsm_memseg_export_handle_t memseg,
16            rsm_memseg_id_t *segment_id,
17            rsmapi_access_entry_t access_list[],
18            uint_t access_list_length);
19
20
21       int rsm_memseg_export_unpublish(
22            rsm_memseg_export_handle_t memseg);
23
24
25       int rsm_memseg_export_republish(
26            rsm_memseg_export_handle_t memseg,
27            rsmapi_access_entry_t access_list[],
28            uint_t access_list_length);
29
30

DESCRIPTION

32       The   rsm_memseg_export_publish(),  rsm_memseg_export_unpublish(),  and
33       rsm_memseg_export_republish() functions allow or disallow a memory seg‐
34       ment to be imported by other nodes.
35
36
37       The  rsm_memseg_export_publish(3RSM) function allows the export segment
38       specified by the memseg argument to be imported by other nodes. It also
39       assigns  a  unique  segment  identifier  to the segment and defines the
40       access control list for the  segment.  The  segment_id  argument  is  a
41       pointer  to an identifier which is unique on the publishing node. It is
42       the responsibility of the  application  to  manage  the  assignment  of
43       unique  segment  identifiers. The identifier can be optionally initial‐
44       ized to 0, in which case the system will return a unique segment  iden‐
45       tifier  value.  The access_list argument is composed of pairs of nodeid
46       and access permissions. For each nodeid  specified  in  the  list,  the
47       associated  read/write  permissions  are provided by three octal digits
48       for owner, group, and other, as for Solaris file  permissions.  In  the
49       access control each octal digit may have the following values:
50
51       2    write access
52
53
54       4    read only access
55
56
57       6    read and write access
58
59
60
61       An access permissions value of 0624 specifies: (1) an importer with the
62       same uid as the exporter has read and write  access;  (2)  an  importer
63       with  the  same  gid as the exporter has write access only; and (3) all
64       other importers have read access only. When an access control  list  is
65       provided, nodes not included in the list will be prevented from import‐
66       ing the segment.  However, if  the  access  list  is  NULL  (this  will
67       require  the  length  access_list_length to be specified as 0 as well),
68       then no nodes will be excluded from importing and  the  access  permis‐
69       sions  on all nodes will equal the owner-group-other file creation per‐
70       missions of the exporting process.  Corresponding  to  the  access_list
71       argument,  the  access_list_length  argument  specifies  the  number of
72       entries in the access_list array.
73
74
75       The rsm_memseg_export_unpublish() function disallows the export segment
76       specified  by  memseg from being imported. All the existing import con‐
77       nections are forcibly disconnected.
78
79
80       The rsm_memseg_export_republish() function changes the  access  control
81       list  for  the  exported  and  published  segment. Although the current
82       import connections remain unaffected by this call, new connections  are
83       constrained by the new  access list.
84

RETURN VALUES

86       Upon  successful  completion,  these  functions return 0. Otherwise, an
87       error value is returned to indicate the error.
88

ERRORS

90       The  rsm_memseg_export_publish(),  rsm_memseg_export_unpublish(),   and
91       rsm_memseg_export_republish()   functions   can  return  the  following
92       errors:
93
94       RSMERR_BAD_SEG_HNDL     Invalid segment handle.
95
96
97       RSMERR_NOT_CREATOR      Not creator of segment.
98
99
100
101       The  rsm_memseg_export_publish()   and    rsm_memseg_export_republish()
102       functions can return the following errors, with the exception that only
103       rsm_memseg_export_publish() can return the errors related to  the  seg‐
104       ment identifier:
105
106       RSMERR_SEGID_IN_USE
107
108           Segment identifier in use.
109
110
111       RSMERR_RESERVED_SEGID
112
113           Segment identifier reserved.
114
115
116       RSMERR_BAD_SEGID
117
118           Invalid segment identifier.
119
120
121       RSMERR_BAD_ACL
122
123           Invalid access control list.
124
125
126       RSMERR_SEG_ALREADY_PUBLISHED
127
128           Segment already published.
129
130
131       RSMERR_INSUFFICIENT_MEM
132
133           Insufficient memory.
134
135
136       RSMERR_INSUFFICIENT_RESOURCES
137
138           Insufficient resources.
139
140
141       RSMERR_LOCKS_NOT_SUPPORTED
142
143           Locks not supported.
144
145
146       RSMERR_BAD_ADDR
147
148           Bad address.
149
150
151
152       The   rsm_memseg_export_republish()  and  rsm_memseg_export_unpublish()
153       functions can return the following errors:
154
155       RSMERR_SEG_NOT_PUBLISHED     Segment not published.
156
157
158       RSMERR_INTERRUPTED           The operation was interrupted by a signal.
159
160

ATTRIBUTES

162       See attributes(5) for descriptions of the following attributes:
163
164
165
166
167       ┌─────────────────────────────┬─────────────────────────────┐
168       │ATTRIBUTE TYPE               │ATTRIBUTE VALUE              │
169       ├─────────────────────────────┼─────────────────────────────┤
170       │Interface Stability          │Evolving                     │
171       ├─────────────────────────────┼─────────────────────────────┤
172       │MT-Level                     │MT-Safe                      │
173       └─────────────────────────────┴─────────────────────────────┘
174

SEE ALSO

176       rsm_memseg_export_create(3RSM), attributes(5)
177

NOTES

179       An attempt to publish a segment might block until sufficient  resources
180       become available.
181
182
183
184SunOS 5.11                        8 Jun 2001   rsm_memseg_export_publish(3RSM)
Impressum