Back to index

lightning-sunbird  0.9+nobinonly
Classes | Defines | Typedefs | Enumerations | Functions | Variables
xpt_struct.h File Reference
#include "xpt_arena.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  nsID
 A "unique identifier". More...
struct  XPTHeader
struct  XPT_TYPELIB_VERSIONS_STRUCT
struct  XPTInterfaceDirectoryEntry
struct  XPTInterfaceDescriptor
struct  XPTString
struct  XPTTypeDescriptorPrefix
struct  XPTTypeDescriptor
union  XPTConstValue
struct  XPTConstDescriptor
struct  XPTParamDescriptor
struct  XPTMethodDescriptor
struct  XPTAnnotation
union  XPTTypeDescriptor.type

Defines

#define XPT_COPY_IID(to, from)
#define XPT_MAGIC   "XPCOM\nTypeLib\r\n\032"
#define XPT_MAGIC_STRING   "XPCOM\\nTypeLib\\r\\n\\032"
#define XPT_MAJOR_VERSION   0x01
#define XPT_MINOR_VERSION   0x02
#define XPT_MAJOR_INCOMPATIBLE_VERSION   0x02
#define XPT_VERSION_UNKNOWN   0
#define XPT_VERSION_UNSUPPORTED   1
#define XPT_VERSION_OLD   2
#define XPT_VERSION_CURRENT   3
#define XPT_TYPELIB_VERSIONS
#define XPT_ID_SCRIPTABLE   0x80
#define XPT_ID_FUNCTION   0x40
#define XPT_ID_FLAGMASK   0xc0
#define XPT_ID_TAGMASK   (~XPT_ID_FLAGMASK)
#define XPT_ID_TAG(id)   ((id).flags & XPT_ID_TAGMASK)
#define XPT_ID_IS_SCRIPTABLE(flags)   (flags & XPT_ID_SCRIPTABLE)
#define XPT_ID_IS_FUNCTION(flags)   (flags & XPT_ID_FUNCTION)
#define XPT_TDP_POINTER   0x80
#define XPT_TDP_UNIQUE_POINTER   0x40
#define XPT_TDP_REFERENCE   0x20
#define XPT_TDP_FLAGMASK   0xe0
#define XPT_TDP_TAGMASK   (~XPT_TDP_FLAGMASK)
#define XPT_TDP_TAG(tdp)   ((tdp).flags & XPT_TDP_TAGMASK)
#define XPT_TDP_IS_POINTER(flags)   (flags & XPT_TDP_POINTER)
#define XPT_TDP_IS_UNIQUE_POINTER(flags)   (flags & XPT_TDP_UNIQUE_POINTER)
#define XPT_TDP_IS_REFERENCE(flags)   (flags & XPT_TDP_REFERENCE)
#define XPT_COPY_TYPE(to, from)
#define XPT_PD_IN   0x80
#define XPT_PD_OUT   0x40
#define XPT_PD_RETVAL   0x20
#define XPT_PD_SHARED   0x10
#define XPT_PD_DIPPER   0x08
#define XPT_PD_FLAGMASK   0xf8
#define XPT_PD_IS_IN(flags)   (flags & XPT_PD_IN)
#define XPT_PD_IS_OUT(flags)   (flags & XPT_PD_OUT)
#define XPT_PD_IS_RETVAL(flags)   (flags & XPT_PD_RETVAL)
#define XPT_PD_IS_SHARED(flags)   (flags & XPT_PD_SHARED)
#define XPT_PD_IS_DIPPER(flags)   (flags & XPT_PD_DIPPER)
#define XPT_MD_GETTER   0x80
#define XPT_MD_SETTER   0x40
#define XPT_MD_NOTXPCOM   0x20
#define XPT_MD_CTOR   0x10
#define XPT_MD_HIDDEN   0x08
#define XPT_MD_FLAGMASK   0xf8
#define XPT_MD_IS_GETTER(flags)   (flags & XPT_MD_GETTER)
#define XPT_MD_IS_SETTER(flags)   (flags & XPT_MD_SETTER)
#define XPT_MD_IS_NOTXPCOM(flags)   (flags & XPT_MD_NOTXPCOM)
#define XPT_MD_IS_CTOR(flags)   (flags & XPT_MD_CTOR)
#define XPT_MD_IS_HIDDEN(flags)   (flags & XPT_MD_HIDDEN)
#define XPT_ANN_LAST   0x80
#define XPT_ANN_IS_LAST(flags)   (flags & XPT_ANN_LAST)
#define XPT_ANN_PRIVATE   0x40
#define XPT_ANN_IS_PRIVATE(flags)   (flags & XPT_ANN_PRIVATE)

Typedefs

typedef
typedefPR_BEGIN_EXTERN_C
struct 
XPTHeader
typedef struct XPTInterfaceDirectoryEntry
typedef struct XPTInterfaceDescriptor
typedef struct XPTConstDescriptor
typedef struct XPTMethodDescriptor
typedef struct XPTParamDescriptor
typedef struct XPTTypeDescriptor
typedef struct XPTTypeDescriptorPrefix
typedef struct XPTString
typedef struct XPTAnnotation
typedef struct nsID

Enumerations

enum  XPTTypeDescriptorTags {
  TD_INT8 = 0, TD_INT16 = 1, TD_INT32 = 2, TD_INT64 = 3,
  TD_UINT8 = 4, TD_UINT16 = 5, TD_UINT32 = 6, TD_UINT64 = 7,
  TD_FLOAT = 8, TD_DOUBLE = 9, TD_BOOL = 10, TD_CHAR = 11,
  TD_WCHAR = 12, TD_VOID = 13, TD_PNSIID = 14, TD_DOMSTRING = 15,
  TD_PSTRING = 16, TD_PWSTRING = 17, TD_INTERFACE_TYPE = 18, TD_INTERFACE_IS_TYPE = 19,
  TD_ARRAY = 20, TD_PSTRING_SIZE_IS = 21, TD_PWSTRING_SIZE_IS = 22, TD_UTF8STRING = 23,
  TD_CSTRING = 24, TD_ASTRING = 25
}

Functions

 XPT_PUBLIC_API (PRUint16) XPT_ParseVersionString(const char *str
 XPT_PUBLIC_API (XPTHeader *) XPT_NewHeader(XPTArena *arena
 XPT_PUBLIC_API (void) XPT_FreeHeader(XPTArena *arena
 XPT_PUBLIC_API (PRUint32) XPT_SizeOfHeader(XPTHeader *header)
 XPT_PUBLIC_API (PRBool) XPT_FillInterfaceDirectoryEntry(XPTArena *arena
 XPT_PUBLIC_API (XPTInterfaceDescriptor *) XPT_NewInterfaceDescriptor(XPTArena *arena
 XPT_PUBLIC_API (XPTString *) XPT_NewString(XPTArena *arena
 XPT_PUBLIC_API (XPTAnnotation *) XPT_NewAnnotation(XPTArena *arena

Variables

PRUint8major
PRUint8 PRUint8minor
PRUint16 num_interfaces
PRUint16 PRUint8 major_version
PRUint16 PRUint8 PRUint8 minor_version
XPTHeaderaHeader
XPTInterfaceDirectoryEntryide
XPTInterfaceDirectoryEntry nsIDiid
XPTInterfaceDirectoryEntry
nsID char * 
name
XPTInterfaceDirectoryEntry
nsID char char * 
name_space
XPTInterfaceDirectoryEntry
nsID char char
XPTInterfaceDescriptor
descriptor
PRUint16 char PRUint16indexp
PRUint16 parent_interface
PRUint16 PRUint16 num_methods
PRUint16 PRUint16 PRUint16 num_constants
PRUint16 PRUint16 PRUint16 PRUint8 flags
XPTInterfaceDescriptorid
XPTInterfaceDescriptor PRUint16 num
PRUint16 length
PRUint16 char * bytes
XPTParamDescriptorpd
XPTParamDescriptor PRUint8
XPTTypeDescriptor
type
XPTMethodDescriptormeth
XPTMethodDescriptor PRUint8
char PRUint8 
num_args
PRUint8 XPTStringcreator
PRUint8 XPTString XPTStringprivate_data

Class Documentation

struct XPTHeader

Definition at line 104 of file xpt_struct.h.

Collaboration diagram for XPTHeader:
Class Members
XPTAnnotation * annotations
PRUint32 data_pool
PRUint32 file_length
XPTInterfaceDirectoryEntry * interface_directory
PRUint8 magic
PRUint8 major_version
PRUint8 minor_version
PRUint16 num_interfaces
struct XPT_TYPELIB_VERSIONS_STRUCT

Definition at line 173 of file xpt_struct.h.

Class Members
PRUint16 code
PRUint8 major
PRUint8 minor
const char * str
struct XPTInterfaceDirectoryEntry

Definition at line 211 of file xpt_struct.h.

Collaboration diagram for XPTInterfaceDirectoryEntry:
Class Members
nsID iid
XPTInterfaceDescriptor * interface_descriptor
char * name
char * name_space
struct XPTInterfaceDescriptor

Definition at line 237 of file xpt_struct.h.

Collaboration diagram for XPTInterfaceDescriptor:
Class Members
XPTTypeDescriptor * additional_types
XPTConstDescriptor * const_descriptors
PRUint8 flags
XPTMethodDescriptor * method_descriptors
PRUint16 num_additional_types
PRUint16 num_constants
PRUint16 num_methods
PRUint16 parent_interface
struct XPTString

Definition at line 303 of file xpt_struct.h.

Class Members
char * bytes
PRUint16 length
struct XPTTypeDescriptor

Definition at line 381 of file xpt_struct.h.

Class Members
PRUint8 argnum
PRUint8 argnum2
XPTTypeDescriptorPrefix prefix
union XPTTypeDescriptor type
union XPTConstValue

Definition at line 414 of file xpt_struct.h.

Collaboration diagram for XPTConstValue:
Class Members
PRBool bul
char ch
double dbl
float flt
PRInt16 i16
PRInt32 i32
PRInt64 i64
PRInt8 i8
nsID * iid
char * str
XPTString * string
PRUint16 ui16
PRUint32 ui32
PRUint64 ui64
PRUint8 ui8
PRUint16 wch
PRUint16 * wstr
struct XPTAnnotation

Definition at line 518 of file xpt_struct.h.

Collaboration diagram for XPTAnnotation:
Class Members
XPTString * creator
PRUint8 flags
XPTAnnotation * next
XPTString * private_data
union XPTTypeDescriptor.type

Definition at line 385 of file xpt_struct.h.

Class Members
PRUint16 additional_type
PRUint16 iface

Define Documentation

Definition at line 527 of file xpt_struct.h.

Definition at line 529 of file xpt_struct.h.

#define XPT_ANN_LAST   0x80

Definition at line 526 of file xpt_struct.h.

#define XPT_ANN_PRIVATE   0x40

Definition at line 528 of file xpt_struct.h.

#define XPT_COPY_IID (   to,
  from 
)
Value:
(to).m0 = (from).m0;                                                        \
  (to).m1 = (from).m1;                                                        \
  (to).m2 = (from).m2;                                                        \
  (to).m3[0] = (from).m3[0];                                                  \
  (to).m3[1] = (from).m3[1];                                                  \
  (to).m3[2] = (from).m3[2];                                                  \
  (to).m3[3] = (from).m3[3];                                                  \
  (to).m3[4] = (from).m3[4];                                                  \
  (to).m3[5] = (from).m3[5];                                                  \
  (to).m3[6] = (from).m3[6];                                                  \
  (to).m3[7] = (from).m3[7];

Definition at line 87 of file xpt_struct.h.

#define XPT_COPY_TYPE (   to,
  from 
)
Value:
(to).prefix.flags = (from).prefix.flags;                                    \
  (to).argnum = (from).argnum;                                                \
  (to).argnum2 = (from).argnum2;                                              \
  (to).type.additional_type = (from).type.additional_type;

Definition at line 391 of file xpt_struct.h.

#define XPT_ID_FLAGMASK   0xc0

Definition at line 267 of file xpt_struct.h.

#define XPT_ID_FUNCTION   0x40

Definition at line 266 of file xpt_struct.h.

Definition at line 272 of file xpt_struct.h.

Definition at line 271 of file xpt_struct.h.

Definition at line 265 of file xpt_struct.h.

#define XPT_ID_TAG (   id)    ((id).flags & XPT_ID_TAGMASK)

Definition at line 269 of file xpt_struct.h.

Definition at line 268 of file xpt_struct.h.

#define XPT_MAGIC   "XPCOM\nTypeLib\r\n\032"

Definition at line 115 of file xpt_struct.h.

#define XPT_MAGIC_STRING   "XPCOM\\nTypeLib\\r\\n\\032"

Definition at line 117 of file xpt_struct.h.

Definition at line 131 of file xpt_struct.h.

Definition at line 118 of file xpt_struct.h.

#define XPT_MD_CTOR   0x10

Definition at line 484 of file xpt_struct.h.

#define XPT_MD_FLAGMASK   0xf8

Definition at line 486 of file xpt_struct.h.

#define XPT_MD_GETTER   0x80

Definition at line 481 of file xpt_struct.h.

#define XPT_MD_HIDDEN   0x08

Definition at line 485 of file xpt_struct.h.

Definition at line 491 of file xpt_struct.h.

Definition at line 488 of file xpt_struct.h.

Definition at line 492 of file xpt_struct.h.

Definition at line 490 of file xpt_struct.h.

Definition at line 489 of file xpt_struct.h.

#define XPT_MD_NOTXPCOM   0x20

Definition at line 483 of file xpt_struct.h.

#define XPT_MD_SETTER   0x40

Definition at line 482 of file xpt_struct.h.

Definition at line 119 of file xpt_struct.h.

#define XPT_PD_DIPPER   0x08

Definition at line 454 of file xpt_struct.h.

#define XPT_PD_FLAGMASK   0xf8

Definition at line 455 of file xpt_struct.h.

#define XPT_PD_IN   0x80

Definition at line 450 of file xpt_struct.h.

Definition at line 461 of file xpt_struct.h.

Definition at line 457 of file xpt_struct.h.

Definition at line 458 of file xpt_struct.h.

Definition at line 459 of file xpt_struct.h.

Definition at line 460 of file xpt_struct.h.

#define XPT_PD_OUT   0x40

Definition at line 451 of file xpt_struct.h.

#define XPT_PD_RETVAL   0x20

Definition at line 452 of file xpt_struct.h.

#define XPT_PD_SHARED   0x10

Definition at line 453 of file xpt_struct.h.

Definition at line 340 of file xpt_struct.h.

Definition at line 344 of file xpt_struct.h.

Definition at line 346 of file xpt_struct.h.

Definition at line 345 of file xpt_struct.h.

#define XPT_TDP_POINTER   0x80

Definition at line 337 of file xpt_struct.h.

Definition at line 339 of file xpt_struct.h.

#define XPT_TDP_TAG (   tdp)    ((tdp).flags & XPT_TDP_TAGMASK)

Definition at line 342 of file xpt_struct.h.

Definition at line 341 of file xpt_struct.h.

Definition at line 338 of file xpt_struct.h.

Value:
{                                                \
    {"1.0", 1, 0, XPT_VERSION_UNSUPPORTED},                                   \
    {"1.1", 1, 1, XPT_VERSION_OLD},                                           \
    {"1.2", 1, 2, XPT_VERSION_CURRENT}                                        \
}

Definition at line 181 of file xpt_struct.h.

Definition at line 171 of file xpt_struct.h.

Definition at line 170 of file xpt_struct.h.

Definition at line 168 of file xpt_struct.h.

Definition at line 169 of file xpt_struct.h.


Typedef Documentation

typedef struct nsID

Definition at line 84 of file xpt_struct.h.

typedef struct XPTAnnotation

Definition at line 70 of file xpt_struct.h.

typedef struct XPTConstDescriptor

Definition at line 64 of file xpt_struct.h.

typedef typedefPR_BEGIN_EXTERN_C struct XPTHeader

Definition at line 61 of file xpt_struct.h.

typedef struct XPTInterfaceDescriptor

Definition at line 63 of file xpt_struct.h.

Definition at line 62 of file xpt_struct.h.

typedef struct XPTMethodDescriptor

Definition at line 65 of file xpt_struct.h.

typedef struct XPTParamDescriptor

Definition at line 66 of file xpt_struct.h.

typedef struct XPTString

Definition at line 69 of file xpt_struct.h.

typedef struct XPTTypeDescriptor

Definition at line 67 of file xpt_struct.h.

typedef struct XPTTypeDescriptorPrefix

Definition at line 68 of file xpt_struct.h.


Enumeration Type Documentation

Enumerator:
TD_INT8 
TD_INT16 
TD_INT32 
TD_INT64 
TD_UINT8 
TD_UINT16 
TD_UINT32 
TD_UINT64 
TD_FLOAT 
TD_DOUBLE 
TD_BOOL 
TD_CHAR 
TD_WCHAR 
TD_VOID 
TD_PNSIID 
TD_DOMSTRING 
TD_PSTRING 
TD_PWSTRING 
TD_INTERFACE_TYPE 
TD_INTERFACE_IS_TYPE 
TD_ARRAY 
TD_PSTRING_SIZE_IS 
TD_PWSTRING_SIZE_IS 
TD_UTF8STRING 
TD_CSTRING 
TD_ASTRING 

Definition at line 352 of file xpt_struct.h.


Function Documentation

XPT_PUBLIC_API ( PRUint16  ) const

Variable Documentation

Definition at line 195 of file xpt_struct.h.

char* bytes

Definition at line 309 of file xpt_struct.h.

Definition at line 532 of file xpt_struct.h.

Definition at line 225 of file xpt_struct.h.

Definition at line 281 of file xpt_struct.h.

Definition at line 285 of file xpt_struct.h.

Definition at line 225 of file xpt_struct.h.

Definition at line 225 of file xpt_struct.h.

Definition at line 276 of file xpt_struct.h.

Definition at line 309 of file xpt_struct.h.

Definition at line 188 of file xpt_struct.h.

Definition at line 191 of file xpt_struct.h.

Definition at line 496 of file xpt_struct.h.

Definition at line 188 of file xpt_struct.h.

Definition at line 191 of file xpt_struct.h.

Definition at line 225 of file xpt_struct.h.

Definition at line 225 of file xpt_struct.h.

Definition at line 288 of file xpt_struct.h.

Definition at line 496 of file xpt_struct.h.

Definition at line 281 of file xpt_struct.h.

Definition at line 191 of file xpt_struct.h.

Definition at line 281 of file xpt_struct.h.

Definition at line 281 of file xpt_struct.h.

Definition at line 465 of file xpt_struct.h.

Definition at line 532 of file xpt_struct.h.

Definition at line 465 of file xpt_struct.h.