Next: Functions on Binding
Up: PEN Functions
Previous: POLL_oob(void *extra)

Retrieves PEN (Parallel Editing Notification) messages from DBS and
passes them to the mapfn together with the extra argument.
We ends the traversal (but we retrieve all messages from the dbs)
when the function, mapfn returns a non zero value
or we get to the end of the list.
The call format is:
(*mapfn)(extra,index,type,msg,count,len);
where the arguments have the following declarations and contents:
- void *extra
is passed in to the LIBLINCKS function as an extra
application program parameter. It is not used within
LIBLINCKS, and is intended as a pointer to a call block
for application program arguments to the map function.
- int index
is the version structure node index to the object refered
by the message (see section 4.3).
- int type
is the type of pen message. It can be
- PEN_RESOLVE when the history node given by
index was merged from a parallel update,
see section 4.7.
- PEN_CHECK the object given by index
is being editing by user(s) specified in msg.
- PEN_POLL user msg begin editing object
index.
- char *msg
is an extra paramter string allocated by LIBLINCKS
and should be free by you. It contains (currently) a list
of user(s) id.
- int count
contains the sequence number of the current message. The first member
has number one (1), the second has number two (2), and so on.
- const int len
contains the total number of messages to retrieve. This number
stays the same over all calls to the map function.
The map function is first called with a NULL msg, and a zero
count, index, and type.
This call is intended for initialisation. The mapping
continues until the map function returns non zero, or there are
no more messages.
See section 10 for an example of using a mapfn.
Function returns:

Next: Functions on Binding
Up: PEN Functions
Previous: POLL_oob(void *extra)
Martin Sjolin
Thu Jun 15 20:41:59 MET DST 1995