mw_common.h(3)

NAME
mw_common.h -

Detailed Description

Common data types and functions for handling those types. Functions in this file all fit into similar naming conventions of TYPE_ACTION as per the activity they perform. The following actions are available:

void TYPE_put(struct mwPutBuffer *b, TYPE *val)

•   marshalls val onto the buffer b. The buffer will grow as necessary to fit all the data put into it. For guint16, guint32, and gboolean, TYPE val is used instead of TYPE \*val.

void TYPE_get(struct mwGetBuffer *b, TYPE *val)

•   unmarshals val from the buffer b. Failure (due to lack of insufficient remaining buffer) is indicated in the buffer's error field. A call to a _get function with a buffer in an error state has to effect.

void TYPE_clear(TYPE *val)

•   zeros and frees internal members of val, but does not free val itself. Needs to be called before free-ing any complex types which have been unmarshalled from a TYPE_get or populated from a TYPE_clone call to prevent memory leaks.

void TYPE_clone(TYPE *to, TYPE *from)

•   copies/clones members of from into to. May result in memory allocation for some types. Note that to is not cleared before-hand, it must already be in a pristine condition.

gboolean TYPE_equal(TYPE *y, TYPE *z)

•   simple equality test.

SYNOPSIS

#include <glib.h>

  Data Structures
struct mwAwareIdBlock
struct mwAwareSnapshot
struct mwEncryptItem
encryption blocks
struct mwIdBlock
struct mwLoginInfo
struct mwOpaque
A length of binary data, not null-terminated.
struct mwPrivacyInfo
struct mwUserItem
struct mwUserStatus

  Enumerations
enum mwAwareType { mwAware_USER = 0x0002, mwAware_GROUP = 0x0003, mwAware_SERVER = 0x0008 }
type codes for mwAwareIdBlock
enum mwLoginType { mwLogin_LIB = 0x1000, mwLogin_JAVA_WEB = 0x1001, mwLogin_BINARY = 0x1002, mwLogin_JAVA_APP = 0x1003, mwLogin_LINKS = 0x100a, mwLogin_NOTES_6_5 = 0x1200, mwLogin_NOTES_6_5_3 = 0x1203, mwLogin_NOTES_7_0_beta = 0x1210, mwLogin_NOTES_7_0 = 0x1214, mwLogin_ICT = 0x1300, mwLogin_ICT_1_7_8_2 = 0x1302, mwLogin_ICT_SIP = 0x1303, mwLogin_NOTESBUDDY_4_14 = 0x1400, mwLogin_NOTESBUDDY_4_15 = 0x1405, mwLogin_NOTESBUDDY_4_16 = 0x1406, mwLogin_SANITY = 0x1600, mwLogin_ST_PERL = 0x1625, mwLogin_PMR_ALERT = 0x1650, mwLogin_TRILLIAN = 0x16aa, mwLogin_TRILLIAN_IBM = 0x16bb, mwLogin_MEANWHILE = 0x1700 }
The type of login.
enum mwStatusType { mwStatus_ACTIVE = 0x0020, mwStatus_IDLE = 0x0040, mwStatus_AWAY = 0x0060, mwStatus_BUSY = 0x0080 }

  Functions

Basic Data Types
The basic types are combined to construct the compound types.

void gboolean_get (struct mwGetBuffer *b, gboolean *val)
gboolean gboolean_peek (struct mwGetBuffer *b)
void gboolean_put (struct mwPutBuffer *b, gboolean val)
void guint16_get (struct mwGetBuffer *b, guint16 *val)
guint16 guint16_peek (struct mwGetBuffer *b)
void guint16_put (struct mwPutBuffer *b, guint16 val)
void guint32_get (struct mwGetBuffer *b, guint32 *val)
guint32 guint32_peek (struct mwGetBuffer *b)
void guint32_put (struct mwPutBuffer *b, guint32 val)
void mwOpaque_clear (struct mwOpaque *o)
void mwOpaque_clone (struct mwOpaque *to, const struct mwOpaque *from)
void mwOpaque_free (struct mwOpaque *o)
void mwOpaque_get (struct mwGetBuffer *b, struct mwOpaque *o)
void mwOpaque_put (struct mwPutBuffer *b, const struct mwOpaque *o)
void mwString_get (struct mwGetBuffer *b, char **str)
void mwString_put (struct mwPutBuffer *b, const char *str)

Compound Data Types
void mwAwareIdBlock_clear (struct mwAwareIdBlock *idb)
void mwAwareIdBlock_clone (struct mwAwareIdBlock *to, const struct mwAwareIdBlock *from)
gboolean mwAwareIdBlock_equal (const struct mwAwareIdBlock *a, const struct mwAwareIdBlock *b)
void mwAwareIdBlock_get (struct mwGetBuffer *b, struct mwAwareIdBlock *idb)
guint mwAwareIdBlock_hash (const struct mwAwareIdBlock *a)
void mwAwareIdBlock_put (struct mwPutBuffer *b, const struct mwAwareIdBlock *idb)
void mwAwareSnapshot_clear (struct mwAwareSnapshot *idb)
void mwAwareSnapshot_clone (struct mwAwareSnapshot *to, const struct mwAwareSnapshot *from)
void mwAwareSnapshot_get (struct mwGetBuffer *b, struct mwAwareSnapshot *idb)
void mwEncryptItem_clear (struct mwEncryptItem *item)
void mwEncryptItem_free (struct mwEncryptItem *item)
void mwEncryptItem_get (struct mwGetBuffer *b, struct mwEncryptItem *item)
void mwEncryptItem_put (struct mwPutBuffer *b, const struct mwEncryptItem *item)
void mwIdBlock_clear (struct mwIdBlock *id)
void mwIdBlock_clone (struct mwIdBlock *to, const struct mwIdBlock *from)
gboolean mwIdBlock_equal (const struct mwIdBlock *a, const struct mwIdBlock *b)
void mwIdBlock_get (struct mwGetBuffer *b, struct mwIdBlock *id)
guint mwIdBlock_hash (const struct mwIdBlock *idb)
void mwIdBlock_put (struct mwPutBuffer *b, const struct mwIdBlock *id)
void mwLoginInfo_clear (struct mwLoginInfo *info)
void mwLoginInfo_clone (struct mwLoginInfo *to, const struct mwLoginInfo *from)
void mwLoginInfo_get (struct mwGetBuffer *b, struct mwLoginInfo *info)
void mwLoginInfo_put (struct mwPutBuffer *b, const struct mwLoginInfo *info)
void mwPrivacyInfo_clear (struct mwPrivacyInfo *info)
void mwPrivacyInfo_clone (struct mwPrivacyInfo *to, const struct mwPrivacyInfo *from)
void mwPrivacyInfo_get (struct mwGetBuffer *b, struct mwPrivacyInfo *info)
void mwPrivacyInfo_put (struct mwPutBuffer *b, const struct mwPrivacyInfo *info)
void mwUserItem_clear (struct mwUserItem *user)
void mwUserItem_clone (struct mwUserItem *to, const struct mwUserItem *from)
void mwUserItem_get (struct mwGetBuffer *b, struct mwUserItem *user)
void mwUserItem_put (struct mwPutBuffer *b, const struct mwUserItem *user)
void mwUserStatus_clear (struct mwUserStatus *stat)
void mwUserStatus_clone (struct mwUserStatus *to, const struct mwUserStatus *from)
void mwUserStatus_get (struct mwGetBuffer *b, struct mwUserStatus *stat)
void mwUserStatus_put (struct mwPutBuffer *b, const struct mwUserStatus *stat)

buffer utility functions
gsize mwGetBuffer_advance (struct mwGetBuffer *b, gsize len)
skip len bytes in the get buffer.
gboolean mwGetBuffer_error (struct mwGetBuffer *b)
TRUE if an error occurred while reading a basic type from this buffer.
void mwGetBuffer_free (struct mwGetBuffer *b)
destroy the buffer
struct mwGetBuffer * mwGetBuffer_new (struct mwOpaque *data)
allocate a new buffer with a copy of the given data
gsize mwGetBuffer_read (struct mwGetBuffer *b, gpointer mem, gsize len)
read len bytes of raw data from the get buffer into mem.
gsize mwGetBuffer_remaining (struct mwGetBuffer *b)
count of remaining available bytes
void mwGetBuffer_reset (struct mwGetBuffer *b)
reset the buffer to the very beginning.
struct mwGetBuffer * mwGetBuffer_wrap (const struct mwOpaque *data)
allocate a new buffer backed by the given data.
void mwPutBuffer_finalize (struct mwOpaque *to, struct mwPutBuffer *from)
move the buffer's data into an opaque, destroy the buffer
void mwPutBuffer_free (struct mwPutBuffer *b)
destroy the buffer
struct mwPutBuffer * mwPutBuffer_new ()
allocate a new empty buffer
void mwPutBuffer_write (struct mwPutBuffer *b, gpointer data, gsize len)
write raw data to the put buffer

Enumeration Type Documentation

  enum mwAwareType

type codes for mwAwareIdBlock

Enumerator:

mwAware_USER
    a single user

mwAware_GROUP
    a group

mwAware_SERVER
    a server

  enum mwLoginType

The type of login.

Normally meaning the type of client code being used to login with.

If you know of any additional client identifiers, please add them below or submit an RFE to the meanwhile tracker.

Enumerator:

mwLogin_LIB
    official Lotus binary library

mwLogin_JAVA_WEB
    official Lotus Java applet

mwLogin_BINARY
    official Lotus binary application

mwLogin_JAVA_APP
    official Lotus Java application

mwLogin_LINKS
    official Sametime Links toolkit

mwLogin_NOTES_6_5

mwLogin_NOTES_6_5_3

mwLogin_NOTES_7_0_beta

mwLogin_NOTES_7_0

mwLogin_ICT

mwLogin_ICT_1_7_8_2

mwLogin_ICT_SIP

mwLogin_NOTESBUDDY_4_14
    0xff00 mask?

mwLogin_NOTESBUDDY_4_15

mwLogin_NOTESBUDDY_4_16

mwLogin_SANITY

mwLogin_ST_PERL

mwLogin_PMR_ALERT

mwLogin_TRILLIAN
    http://sf.net/st-plugin/

mwLogin_TRILLIAN_IBM

mwLogin_MEANWHILE
    Meanwhile library.

  enum mwStatusType

Enumerator:

mwStatus_ACTIVE

mwStatus_IDLE

mwStatus_AWAY

mwStatus_BUSY

Function Documentation

  void gboolean_get (struct mwGetBuffer * b, gboolean * val)

  gboolean gboolean_peek (struct mwGetBuffer * b)

  void gboolean_put (struct mwPutBuffer * b, gboolean val)

  void guint16_get (struct mwGetBuffer * b, guint16 * val)

  guint16 guint16_peek (struct mwGetBuffer * b)

  void guint16_put (struct mwPutBuffer * b, guint16 val)

  void guint32_get (struct mwGetBuffer * b, guint32 * val)

  guint32 guint32_peek (struct mwGetBuffer * b)

  void guint32_put (struct mwPutBuffer * b, guint32 val)

  void mwAwareIdBlock_clear (struct mwAwareIdBlock * idb)

  void mwAwareIdBlock_clone (struct mwAwareIdBlock * to, const struct mwAwareIdBlock * from)

  gboolean mwAwareIdBlock_equal (const struct mwAwareIdBlock * a, const struct mwAwareIdBlock * b)

  void mwAwareIdBlock_get (struct mwGetBuffer * b, struct mwAwareIdBlock * idb)

  guint mwAwareIdBlock_hash (const struct mwAwareIdBlock * a)

  void mwAwareIdBlock_put (struct mwPutBuffer * b, const struct mwAwareIdBlock * idb)

  void mwAwareSnapshot_clear (struct mwAwareSnapshot * idb)

  void mwAwareSnapshot_clone (struct mwAwareSnapshot * to, const struct mwAwareSnapshot * from)

  void mwAwareSnapshot_get (struct mwGetBuffer * b, struct mwAwareSnapshot * idb)

  void mwEncryptItem_clear (struct mwEncryptItem * item)

  void mwEncryptItem_free (struct mwEncryptItem * item)

  void mwEncryptItem_get (struct mwGetBuffer * b, struct mwEncryptItem * item)

  void mwEncryptItem_put (struct mwPutBuffer * b, const struct mwEncryptItem * item)

  gsize mwGetBuffer_advance (struct mwGetBuffer * b, gsize len)

skip len bytes in the get buffer.

If len is greater than the count of bytes remaining in the buffer, the buffer's error flag will NOT be set.

Returns:
    count of bytes successfully skipped

  gboolean mwGetBuffer_error (struct mwGetBuffer * b)

TRUE if an error occurred while reading a basic type from this buffer.

  void mwGetBuffer_free (struct mwGetBuffer * b)

destroy the buffer

  struct mwGetBuffer* mwGetBuffer_new (struct mwOpaque * data) [read]

allocate a new buffer with a copy of the given data

  gsize mwGetBuffer_read (struct mwGetBuffer * b, gpointer mem, gsize len)

read len bytes of raw data from the get buffer into mem.

If len is greater than the count of bytes remaining in the buffer, the buffer's error flag will NOT be set.

Returns:
    count of bytes successfully copied to mem

  gsize mwGetBuffer_remaining (struct mwGetBuffer * b)

count of remaining available bytes

  void mwGetBuffer_reset (struct mwGetBuffer * b)

reset the buffer to the very beginning.

Also clears the buffer's error flag.

  struct mwGetBuffer* mwGetBuffer_wrap (const struct mwOpaque * data) [read]

allocate a new buffer backed by the given data.

Calling mwGetBuffer_free will not result in the underlying data being freed

  void mwIdBlock_clear (struct mwIdBlock * id)

  void mwIdBlock_clone (struct mwIdBlock * to, const struct mwIdBlock * from)

  gboolean mwIdBlock_equal (const struct mwIdBlock * a, const struct mwIdBlock * b)

  void mwIdBlock_get (struct mwGetBuffer * b, struct mwIdBlock * id)

  guint mwIdBlock_hash (const struct mwIdBlock * idb)

  void mwIdBlock_put (struct mwPutBuffer * b, const struct mwIdBlock * id)

  void mwLoginInfo_clear (struct mwLoginInfo * info)

  void mwLoginInfo_clone (struct mwLoginInfo * to, const struct mwLoginInfo * from)

  void mwLoginInfo_get (struct mwGetBuffer * b, struct mwLoginInfo * info)

  void mwLoginInfo_put (struct mwPutBuffer * b, const struct mwLoginInfo * info)

  void mwOpaque_clear (struct mwOpaque * o)

  void mwOpaque_clone (struct mwOpaque * to, const struct mwOpaque * from)

  void mwOpaque_free (struct mwOpaque * o)

  void mwOpaque_get (struct mwGetBuffer * b, struct mwOpaque * o)

  void mwOpaque_put (struct mwPutBuffer * b, const struct mwOpaque * o)

  void mwPrivacyInfo_clear (struct mwPrivacyInfo * info)

  void mwPrivacyInfo_clone (struct mwPrivacyInfo * to, const struct mwPrivacyInfo * from)

  void mwPrivacyInfo_get (struct mwGetBuffer * b, struct mwPrivacyInfo * info)

  void mwPrivacyInfo_put (struct mwPutBuffer * b, const struct mwPrivacyInfo * info)

  void mwPutBuffer_finalize (struct mwOpaque * to, struct mwPutBuffer * from)

move the buffer's data into an opaque, destroy the buffer

  void mwPutBuffer_free (struct mwPutBuffer * b)

destroy the buffer

  struct mwPutBuffer* mwPutBuffer_new () [read]

allocate a new empty buffer

  void mwPutBuffer_write (struct mwPutBuffer * b, gpointer data, gsize len)

write raw data to the put buffer

  void mwString_get (struct mwGetBuffer * b, char ** str)

  void mwString_put (struct mwPutBuffer * b, const char * str)

  void mwUserItem_clear (struct mwUserItem * user)

  void mwUserItem_clone (struct mwUserItem * to, const struct mwUserItem * from)

  void mwUserItem_get (struct mwGetBuffer * b, struct mwUserItem * user)

  void mwUserItem_put (struct mwPutBuffer * b, const struct mwUserItem * user)

  void mwUserStatus_clear (struct mwUserStatus * stat)

  void mwUserStatus_clone (struct mwUserStatus * to, const struct mwUserStatus * from)

  void mwUserStatus_get (struct mwGetBuffer * b, struct mwUserStatus * stat)

  void mwUserStatus_put (struct mwPutBuffer * b, const struct mwUserStatus * stat)

Author

Generated automatically by Doxygen for meanwhile from the source code.