зеркало из https://github.com/mozilla/pjs.git
Made necessary modifications to in-memory structs after writing some of
the XDR code for them.
This commit is contained in:
Родитель
658863e31c
Коммит
de1fdcb6be
|
@ -66,7 +66,7 @@ struct XPTHeader {
|
|||
|
||||
struct XPTInterfaceDirectoryEntry {
|
||||
uint128 iid;
|
||||
XPTIdentfier name;
|
||||
char *name;
|
||||
XPTInterfaceDescriptor *interface_descriptor;
|
||||
};
|
||||
|
||||
|
@ -81,7 +81,19 @@ struct XPTInterfaceDescriptor {
|
|||
struct XPTConstDescriptor {
|
||||
char *name;
|
||||
XPTTypeDescriptor type;
|
||||
char value[0]; /* really varies according to type */
|
||||
union {
|
||||
int8 i8;
|
||||
uint8 ui8;
|
||||
int16 i16;
|
||||
uint16 ui16;
|
||||
int32 i32;
|
||||
uint32 ui32;
|
||||
int64 i64;
|
||||
uint64 ui64;
|
||||
uint16 wch;
|
||||
char ch;
|
||||
XPTstring *string;
|
||||
} value; /* varies according to type */
|
||||
};
|
||||
|
||||
struct XPTMethodDescriptor {
|
||||
|
@ -103,20 +115,22 @@ struct XPTTypeDescriptorPrefix {
|
|||
tag:5;
|
||||
};
|
||||
|
||||
struct XPTSimpleTypeDescriptor {
|
||||
XPTTypeDescriptorPrefix prefix;
|
||||
};
|
||||
|
||||
struct XPTInterfaceTypeDescriptor {
|
||||
XPTTypeDescriptorPrefix prefix;
|
||||
XPTInterfaceDirectoryEntry *interface;
|
||||
};
|
||||
|
||||
struct XPTInterfaceIsTypeDescriptor {
|
||||
XPTTypeDescriptorPrefix prefix;
|
||||
uint8 argnum;
|
||||
};
|
||||
|
||||
struct XPTTypeDescriptor {
|
||||
XPTTypeDescriptorPrefix prefix;
|
||||
union {
|
||||
XPTInterfaceTypeDescriptor interface;
|
||||
XPTInterfaceIsTypeDescriptor interface_is;
|
||||
} type;
|
||||
}
|
||||
|
||||
struct XPTString {
|
||||
uint16 length;
|
||||
char bytes[];
|
||||
|
@ -126,14 +140,14 @@ struct XPTAnnotationPrefix {
|
|||
uint8 is_last:1, tag:7;
|
||||
};
|
||||
|
||||
struct XPTEmptyAnnotation {
|
||||
XPTAnnotationPrefix prefix;
|
||||
};
|
||||
|
||||
struct XPTPrivateAnnotation {
|
||||
XPTAnnotationPrefix prefix;
|
||||
XPTString *creator;
|
||||
XPTString *private_data;
|
||||
};
|
||||
|
||||
struct XPTAnnotation {
|
||||
XPTAnnotationPrefix prefix;
|
||||
XPTPrivateAnnotation private;
|
||||
};
|
||||
|
||||
#endif /* __xpt_struct_h__ */
|
||||
|
|
|
@ -66,7 +66,7 @@ struct XPTHeader {
|
|||
|
||||
struct XPTInterfaceDirectoryEntry {
|
||||
uint128 iid;
|
||||
XPTIdentfier name;
|
||||
char *name;
|
||||
XPTInterfaceDescriptor *interface_descriptor;
|
||||
};
|
||||
|
||||
|
@ -81,7 +81,19 @@ struct XPTInterfaceDescriptor {
|
|||
struct XPTConstDescriptor {
|
||||
char *name;
|
||||
XPTTypeDescriptor type;
|
||||
char value[0]; /* really varies according to type */
|
||||
union {
|
||||
int8 i8;
|
||||
uint8 ui8;
|
||||
int16 i16;
|
||||
uint16 ui16;
|
||||
int32 i32;
|
||||
uint32 ui32;
|
||||
int64 i64;
|
||||
uint64 ui64;
|
||||
uint16 wch;
|
||||
char ch;
|
||||
XPTstring *string;
|
||||
} value; /* varies according to type */
|
||||
};
|
||||
|
||||
struct XPTMethodDescriptor {
|
||||
|
@ -103,20 +115,22 @@ struct XPTTypeDescriptorPrefix {
|
|||
tag:5;
|
||||
};
|
||||
|
||||
struct XPTSimpleTypeDescriptor {
|
||||
XPTTypeDescriptorPrefix prefix;
|
||||
};
|
||||
|
||||
struct XPTInterfaceTypeDescriptor {
|
||||
XPTTypeDescriptorPrefix prefix;
|
||||
XPTInterfaceDirectoryEntry *interface;
|
||||
};
|
||||
|
||||
struct XPTInterfaceIsTypeDescriptor {
|
||||
XPTTypeDescriptorPrefix prefix;
|
||||
uint8 argnum;
|
||||
};
|
||||
|
||||
struct XPTTypeDescriptor {
|
||||
XPTTypeDescriptorPrefix prefix;
|
||||
union {
|
||||
XPTInterfaceTypeDescriptor interface;
|
||||
XPTInterfaceIsTypeDescriptor interface_is;
|
||||
} type;
|
||||
}
|
||||
|
||||
struct XPTString {
|
||||
uint16 length;
|
||||
char bytes[];
|
||||
|
@ -126,14 +140,14 @@ struct XPTAnnotationPrefix {
|
|||
uint8 is_last:1, tag:7;
|
||||
};
|
||||
|
||||
struct XPTEmptyAnnotation {
|
||||
XPTAnnotationPrefix prefix;
|
||||
};
|
||||
|
||||
struct XPTPrivateAnnotation {
|
||||
XPTAnnotationPrefix prefix;
|
||||
XPTString *creator;
|
||||
XPTString *private_data;
|
||||
};
|
||||
|
||||
struct XPTAnnotation {
|
||||
XPTAnnotationPrefix prefix;
|
||||
XPTPrivateAnnotation private;
|
||||
};
|
||||
|
||||
#endif /* __xpt_struct_h__ */
|
||||
|
|
Загрузка…
Ссылка в новой задаче