diff --git a/docs/pokerth.asn1 b/docs/pokerth.asn1 index c8714bde..633ee386 100644 --- a/docs/pokerth.asn1 +++ b/docs/pokerth.asn1 @@ -525,16 +525,41 @@ StatisticsData ::= SEQUENCE { } ChatRequestMessage ::= [APPLICATION 129] SEQUENCE { - gameId Id, + chatRequestType CHOICE { + chatRequestTypeLobby [0] ChatRequestTypeLobby, + chatRequestTypeGame [1] ChatRequestTypeGame + }, chatText UTF8String (SIZE(1..128)) } +ChatRequestTypeLobby ::= SEQUENCE { +} + +ChatRequestTypeGame ::= SEQUENCE { + gameId NonZeroId +} + ChatMessage ::= [APPLICATION 130] SEQUENCE { - gameId Id, - playerId Id, + chatType CHOICE { + chatTypeLobby [0] ChatTypeLobby, + chatTypeGame [1] ChatTypeGame, + chatTypeBroadcast [2] ChatTypeBroadcast + }, chatText UTF8String (SIZE(1..128)) } +ChatTypeLobby ::= SEQUENCE { + playerId NonZeroId +} + +ChatTypeGame ::= SEQUENCE { + gameId NonZeroId, + playerId NonZeroId +} + +ChatTypeBroadcast ::= SEQUENCE { +} + DialogMessage ::= [APPLICATION 131] SEQUENCE { notificationText UTF8String (SIZE(1..128)) } diff --git a/pokerth_protocol.pro b/pokerth_protocol.pro index ed809d2a..3ce5ee85 100644 --- a/pokerth_protocol.pro +++ b/pokerth_protocol.pro @@ -53,8 +53,13 @@ HEADERS += src/third_party/asn1/AllInShowCardsMessage.h \ src/third_party/asn1/BIT_STRING.h \ src/third_party/asn1/BOOLEAN.h \ src/third_party/asn1/Card.h \ - src/third_party/asn1/ChatMessage.h \ - src/third_party/asn1/ChatRequestMessage.h \ + src/third_party/asn1/ChatMessage.h \ + src/third_party/asn1/ChatTypeGame.h \ + src/third_party/asn1/ChatTypeLobby.h \ + src/third_party/asn1/ChatTypeBroadcast.h \ + src/third_party/asn1/ChatRequestMessage.h \ + src/third_party/asn1/ChatRequestTypeLobby.h \ + src/third_party/asn1/ChatRequestTypeGame.h \ src/third_party/asn1/constraints.h \ src/third_party/asn1/constr_CHOICE.h \ src/third_party/asn1/constr_SEQUENCE.h \ @@ -236,8 +241,13 @@ SOURCES += src/third_party/asn1/ChatCleanerMessage.c \ src/third_party/asn1/constr_SEQUENCE_OF.c \ src/third_party/asn1/constr_SEQUENCE.c \ src/third_party/asn1/constr_CHOICE.c \ - src/third_party/asn1/ChatRequestMessage.c \ + src/third_party/asn1/ChatRequestMessage.c \ + src/third_party/asn1/ChatRequestTypeLobby.c \ + src/third_party/asn1/ChatRequestTypeGame.c \ src/third_party/asn1/ChatMessage.c \ + src/third_party/asn1/ChatTypeLobby.c \ + src/third_party/asn1/ChatTypeGame.c \ + src/third_party/asn1/ChatTypeBroadcast.c \ src/third_party/asn1/Card.c \ src/third_party/asn1/BOOLEAN.c \ src/third_party/asn1/BIT_STRING.c \ diff --git a/src/third_party/asn1/ChatMessage.c b/src/third_party/asn1/ChatMessage.c index 5a7de76f..d6571e65 100644 --- a/src/third_party/asn1/ChatMessage.c +++ b/src/third_party/asn1/ChatMessage.c @@ -40,24 +40,82 @@ memb_chatText_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, } } -static asn_TYPE_member_t asn_MBR_ChatMessage_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct ChatMessage, gameId), - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - 0, - &asn_DEF_Id, +static asn_TYPE_member_t asn_MBR_chatType_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct chatType, choice.chatTypeLobby), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ChatTypeLobby, 0, /* Defer constraints checking to the member type */ 0, /* PER is not compiled, use -gen-PER */ 0, - "gameId" + "chatTypeLobby" }, - { ATF_NOFLAGS, 0, offsetof(struct ChatMessage, playerId), - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - 0, - &asn_DEF_Id, + { ATF_NOFLAGS, 0, offsetof(struct chatType, choice.chatTypeGame), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ChatTypeGame, 0, /* Defer constraints checking to the member type */ 0, /* PER is not compiled, use -gen-PER */ 0, - "playerId" + "chatTypeGame" + }, + { ATF_NOFLAGS, 0, offsetof(struct chatType, choice.chatTypeBroadcast), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ChatTypeBroadcast, + 0, /* Defer constraints checking to the member type */ + 0, /* PER is not compiled, use -gen-PER */ + 0, + "chatTypeBroadcast" + }, +}; +static asn_TYPE_tag2member_t asn_MAP_chatType_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* chatTypeLobby at 544 */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* chatTypeGame at 545 */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* chatTypeBroadcast at 547 */ +}; +static asn_CHOICE_specifics_t asn_SPC_chatType_specs_2 = { + sizeof(struct chatType), + offsetof(struct chatType, _asn_ctx), + offsetof(struct chatType, present), + sizeof(((struct chatType *)0)->present), + asn_MAP_chatType_tag2el_2, + 3, /* Count of tags in the map */ + 0, + 3 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_chatType_2 = { + "chatType", + "chatType", + CHOICE_free, + CHOICE_print, + CHOICE_constraint, + CHOICE_decode_ber, + CHOICE_encode_der, + CHOICE_decode_xer, + CHOICE_encode_xer, + 0, 0, /* No PER support, use "-gen-PER" to enable */ + CHOICE_outmost_tag, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + 0, /* No PER visible constraints */ + asn_MBR_chatType_2, + 3, /* Elements count */ + &asn_SPC_chatType_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_ChatMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ChatMessage, chatType), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_chatType_2, + 0, /* Defer constraints checking to the member type */ + 0, /* PER is not compiled, use -gen-PER */ + 0, + "chatType" }, { ATF_NOFLAGS, 0, offsetof(struct ChatMessage, chatText), (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), @@ -74,18 +132,19 @@ static ber_tlv_tag_t asn_DEF_ChatMessage_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static asn_TYPE_tag2member_t asn_MAP_ChatMessage_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* gameId at 533 */ - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 }, /* playerId at 534 */ - { (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 2, 0, 0 } /* chatText at 535 */ + { (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 1, 0, 0 }, /* chatText at 548 */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* chatTypeLobby at 544 */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* chatTypeGame at 545 */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 0, 0, 0 } /* chatTypeBroadcast at 547 */ }; static asn_SEQUENCE_specifics_t asn_SPC_ChatMessage_specs_1 = { sizeof(struct ChatMessage), offsetof(struct ChatMessage, _asn_ctx), asn_MAP_ChatMessage_tag2el_1, - 3, /* Count of tags in the map */ + 4, /* Count of tags in the map */ 0, 0, 0, /* Optional elements (not needed) */ - 2, /* Start extensions */ - 4 /* Stop extensions */ + 1, /* Start extensions */ + 3 /* Stop extensions */ }; asn_TYPE_descriptor_t asn_DEF_ChatMessage = { "ChatMessage", @@ -107,7 +166,7 @@ asn_TYPE_descriptor_t asn_DEF_ChatMessage = { /sizeof(asn_DEF_ChatMessage_tags_1[0]), /* 2 */ 0, /* No PER visible constraints */ asn_MBR_ChatMessage_1, - 3, /* Elements count */ + 2, /* Elements count */ &asn_SPC_ChatMessage_specs_1 /* Additional specs */ }; diff --git a/src/third_party/asn1/ChatMessage.h b/src/third_party/asn1/ChatMessage.h index 6f1197b7..75e5640a 100644 --- a/src/third_party/asn1/ChatMessage.h +++ b/src/third_party/asn1/ChatMessage.h @@ -11,18 +11,44 @@ #include /* Including external dependencies */ -#include "Id.h" #include +#include "ChatTypeLobby.h" +#include "ChatTypeGame.h" +#include "ChatTypeBroadcast.h" +#include #include #ifdef __cplusplus extern "C" { #endif +/* Dependencies */ +typedef enum chatType_PR { + chatType_PR_NOTHING, /* No components present */ + chatType_PR_chatTypeLobby, + chatType_PR_chatTypeGame, + chatType_PR_chatTypeBroadcast, + /* Extensions may appear below */ + +} chatType_PR; + /* ChatMessage */ typedef struct ChatMessage { - Id_t gameId; - Id_t playerId; + struct chatType { + chatType_PR present; + union ChatMessage__chatType_u { + ChatTypeLobby_t chatTypeLobby; + ChatTypeGame_t chatTypeGame; + ChatTypeBroadcast_t chatTypeBroadcast; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } chatType; UTF8String_t chatText; /* * This type is extensible, diff --git a/src/third_party/asn1/ChatRequestMessage.c b/src/third_party/asn1/ChatRequestMessage.c index 9cabf1a4..edffeb2a 100644 --- a/src/third_party/asn1/ChatRequestMessage.c +++ b/src/third_party/asn1/ChatRequestMessage.c @@ -40,15 +40,72 @@ memb_chatText_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, } } -static asn_TYPE_member_t asn_MBR_ChatRequestMessage_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct ChatRequestMessage, gameId), - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - 0, - &asn_DEF_Id, +static asn_TYPE_member_t asn_MBR_chatRequestType_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct chatRequestType, choice.chatRequestTypeLobby), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ChatRequestTypeLobby, 0, /* Defer constraints checking to the member type */ 0, /* PER is not compiled, use -gen-PER */ 0, - "gameId" + "chatRequestTypeLobby" + }, + { ATF_NOFLAGS, 0, offsetof(struct chatRequestType, choice.chatRequestTypeGame), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ChatRequestTypeGame, + 0, /* Defer constraints checking to the member type */ + 0, /* PER is not compiled, use -gen-PER */ + 0, + "chatRequestTypeGame" + }, +}; +static asn_TYPE_tag2member_t asn_MAP_chatRequestType_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* chatRequestTypeLobby at 529 */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* chatRequestTypeGame at 531 */ +}; +static asn_CHOICE_specifics_t asn_SPC_chatRequestType_specs_2 = { + sizeof(struct chatRequestType), + offsetof(struct chatRequestType, _asn_ctx), + offsetof(struct chatRequestType, present), + sizeof(((struct chatRequestType *)0)->present), + asn_MAP_chatRequestType_tag2el_2, + 2, /* Count of tags in the map */ + 0, + 2 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_chatRequestType_2 = { + "chatRequestType", + "chatRequestType", + CHOICE_free, + CHOICE_print, + CHOICE_constraint, + CHOICE_decode_ber, + CHOICE_encode_der, + CHOICE_decode_xer, + CHOICE_encode_xer, + 0, 0, /* No PER support, use "-gen-PER" to enable */ + CHOICE_outmost_tag, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + 0, /* No PER visible constraints */ + asn_MBR_chatRequestType_2, + 2, /* Elements count */ + &asn_SPC_chatRequestType_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_ChatRequestMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ChatRequestMessage, chatRequestType), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_chatRequestType_2, + 0, /* Defer constraints checking to the member type */ + 0, /* PER is not compiled, use -gen-PER */ + 0, + "chatRequestType" }, { ATF_NOFLAGS, 0, offsetof(struct ChatRequestMessage, chatText), (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), @@ -65,14 +122,15 @@ static ber_tlv_tag_t asn_DEF_ChatRequestMessage_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static asn_TYPE_tag2member_t asn_MAP_ChatRequestMessage_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* gameId at 528 */ - { (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 1, 0, 0 } /* chatText at 529 */ + { (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 1, 0, 0 }, /* chatText at 532 */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* chatRequestTypeLobby at 529 */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 } /* chatRequestTypeGame at 531 */ }; static asn_SEQUENCE_specifics_t asn_SPC_ChatRequestMessage_specs_1 = { sizeof(struct ChatRequestMessage), offsetof(struct ChatRequestMessage, _asn_ctx), asn_MAP_ChatRequestMessage_tag2el_1, - 2, /* Count of tags in the map */ + 3, /* Count of tags in the map */ 0, 0, 0, /* Optional elements (not needed) */ 1, /* Start extensions */ 3 /* Stop extensions */ diff --git a/src/third_party/asn1/ChatRequestMessage.h b/src/third_party/asn1/ChatRequestMessage.h index 7f2826f2..43e5fd99 100644 --- a/src/third_party/asn1/ChatRequestMessage.h +++ b/src/third_party/asn1/ChatRequestMessage.h @@ -11,17 +11,41 @@ #include /* Including external dependencies */ -#include "Id.h" #include +#include "ChatRequestTypeLobby.h" +#include "ChatRequestTypeGame.h" +#include #include #ifdef __cplusplus extern "C" { #endif +/* Dependencies */ +typedef enum chatRequestType_PR { + chatRequestType_PR_NOTHING, /* No components present */ + chatRequestType_PR_chatRequestTypeLobby, + chatRequestType_PR_chatRequestTypeGame, + /* Extensions may appear below */ + +} chatRequestType_PR; + /* ChatRequestMessage */ typedef struct ChatRequestMessage { - Id_t gameId; + struct chatRequestType { + chatRequestType_PR present; + union ChatRequestMessage__chatRequestType_u { + ChatRequestTypeLobby_t chatRequestTypeLobby; + ChatRequestTypeGame_t chatRequestTypeGame; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } chatRequestType; UTF8String_t chatText; /* * This type is extensible, diff --git a/src/third_party/asn1/ChatRequestTypeGame.c b/src/third_party/asn1/ChatRequestTypeGame.c new file mode 100644 index 00000000..dac93b3d --- /dev/null +++ b/src/third_party/asn1/ChatRequestTypeGame.c @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.22 (http://lionet.info/asn1c) + * From ASN.1 module "POKERTH-PROTOCOL" + * found in "../../../docs/pokerth.asn1" + */ + +#include + +#include "ChatRequestTypeGame.h" + +static asn_TYPE_member_t asn_MBR_ChatRequestTypeGame_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ChatRequestTypeGame, gameId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_NonZeroId, + 0, /* Defer constraints checking to the member type */ + 0, /* PER is not compiled, use -gen-PER */ + 0, + "gameId" + }, +}; +static ber_tlv_tag_t asn_DEF_ChatRequestTypeGame_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_TYPE_tag2member_t asn_MAP_ChatRequestTypeGame_tag2el_1[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* gameId at 540 */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_ChatRequestTypeGame_specs_1 = { + sizeof(struct ChatRequestTypeGame), + offsetof(struct ChatRequestTypeGame, _asn_ctx), + asn_MAP_ChatRequestTypeGame_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 0, /* Start extensions */ + 2 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_ChatRequestTypeGame = { + "ChatRequestTypeGame", + "ChatRequestTypeGame", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + 0, 0, /* No PER support, use "-gen-PER" to enable */ + 0, /* Use generic outmost tag fetcher */ + asn_DEF_ChatRequestTypeGame_tags_1, + sizeof(asn_DEF_ChatRequestTypeGame_tags_1) + /sizeof(asn_DEF_ChatRequestTypeGame_tags_1[0]), /* 1 */ + asn_DEF_ChatRequestTypeGame_tags_1, /* Same as above */ + sizeof(asn_DEF_ChatRequestTypeGame_tags_1) + /sizeof(asn_DEF_ChatRequestTypeGame_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_ChatRequestTypeGame_1, + 1, /* Elements count */ + &asn_SPC_ChatRequestTypeGame_specs_1 /* Additional specs */ +}; + diff --git a/src/third_party/asn1/ChatRequestTypeGame.h b/src/third_party/asn1/ChatRequestTypeGame.h new file mode 100644 index 00000000..5ff6586d --- /dev/null +++ b/src/third_party/asn1/ChatRequestTypeGame.h @@ -0,0 +1,40 @@ +/* + * Generated by asn1c-0.9.22 (http://lionet.info/asn1c) + * From ASN.1 module "POKERTH-PROTOCOL" + * found in "../../../docs/pokerth.asn1" + */ + +#ifndef _ChatRequestTypeGame_H_ +#define _ChatRequestTypeGame_H_ + + +#include + +/* Including external dependencies */ +#include "NonZeroId.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ChatRequestTypeGame */ +typedef struct ChatRequestTypeGame { + NonZeroId_t gameId; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ChatRequestTypeGame_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ChatRequestTypeGame; + +#ifdef __cplusplus +} +#endif + +#endif /* _ChatRequestTypeGame_H_ */ diff --git a/src/third_party/asn1/ChatRequestTypeLobby.c b/src/third_party/asn1/ChatRequestTypeLobby.c new file mode 100644 index 00000000..a0994277 --- /dev/null +++ b/src/third_party/asn1/ChatRequestTypeLobby.c @@ -0,0 +1,45 @@ +/* + * Generated by asn1c-0.9.22 (http://lionet.info/asn1c) + * From ASN.1 module "POKERTH-PROTOCOL" + * found in "../../../docs/pokerth.asn1" + */ + +#include + +#include "ChatRequestTypeLobby.h" + +static ber_tlv_tag_t asn_DEF_ChatRequestTypeLobby_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SEQUENCE_specifics_t asn_SPC_ChatRequestTypeLobby_specs_1 = { + sizeof(struct ChatRequestTypeLobby), + offsetof(struct ChatRequestTypeLobby, _asn_ctx), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* Start extensions */ + -1 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_ChatRequestTypeLobby = { + "ChatRequestTypeLobby", + "ChatRequestTypeLobby", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + 0, 0, /* No PER support, use "-gen-PER" to enable */ + 0, /* Use generic outmost tag fetcher */ + asn_DEF_ChatRequestTypeLobby_tags_1, + sizeof(asn_DEF_ChatRequestTypeLobby_tags_1) + /sizeof(asn_DEF_ChatRequestTypeLobby_tags_1[0]), /* 1 */ + asn_DEF_ChatRequestTypeLobby_tags_1, /* Same as above */ + sizeof(asn_DEF_ChatRequestTypeLobby_tags_1) + /sizeof(asn_DEF_ChatRequestTypeLobby_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + 0, 0, /* No members */ + &asn_SPC_ChatRequestTypeLobby_specs_1 /* Additional specs */ +}; + diff --git a/src/third_party/asn1/ChatRequestTypeLobby.h b/src/third_party/asn1/ChatRequestTypeLobby.h new file mode 100644 index 00000000..c9431a57 --- /dev/null +++ b/src/third_party/asn1/ChatRequestTypeLobby.h @@ -0,0 +1,38 @@ +/* + * Generated by asn1c-0.9.22 (http://lionet.info/asn1c) + * From ASN.1 module "POKERTH-PROTOCOL" + * found in "../../../docs/pokerth.asn1" + */ + +#ifndef _ChatRequestTypeLobby_H_ +#define _ChatRequestTypeLobby_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ChatRequestTypeLobby */ +typedef struct ChatRequestTypeLobby { + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ChatRequestTypeLobby_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ChatRequestTypeLobby; + +#ifdef __cplusplus +} +#endif + +#endif /* _ChatRequestTypeLobby_H_ */ diff --git a/src/third_party/asn1/ChatTypeBroadcast.c b/src/third_party/asn1/ChatTypeBroadcast.c new file mode 100644 index 00000000..85c9a4d1 --- /dev/null +++ b/src/third_party/asn1/ChatTypeBroadcast.c @@ -0,0 +1,45 @@ +/* + * Generated by asn1c-0.9.22 (http://lionet.info/asn1c) + * From ASN.1 module "POKERTH-PROTOCOL" + * found in "../../../docs/pokerth.asn1" + */ + +#include + +#include "ChatTypeBroadcast.h" + +static ber_tlv_tag_t asn_DEF_ChatTypeBroadcast_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SEQUENCE_specifics_t asn_SPC_ChatTypeBroadcast_specs_1 = { + sizeof(struct ChatTypeBroadcast), + offsetof(struct ChatTypeBroadcast, _asn_ctx), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* Start extensions */ + -1 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_ChatTypeBroadcast = { + "ChatTypeBroadcast", + "ChatTypeBroadcast", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + 0, 0, /* No PER support, use "-gen-PER" to enable */ + 0, /* Use generic outmost tag fetcher */ + asn_DEF_ChatTypeBroadcast_tags_1, + sizeof(asn_DEF_ChatTypeBroadcast_tags_1) + /sizeof(asn_DEF_ChatTypeBroadcast_tags_1[0]), /* 1 */ + asn_DEF_ChatTypeBroadcast_tags_1, /* Same as above */ + sizeof(asn_DEF_ChatTypeBroadcast_tags_1) + /sizeof(asn_DEF_ChatTypeBroadcast_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + 0, 0, /* No members */ + &asn_SPC_ChatTypeBroadcast_specs_1 /* Additional specs */ +}; + diff --git a/src/third_party/asn1/ChatTypeBroadcast.h b/src/third_party/asn1/ChatTypeBroadcast.h new file mode 100644 index 00000000..d2b86c0f --- /dev/null +++ b/src/third_party/asn1/ChatTypeBroadcast.h @@ -0,0 +1,38 @@ +/* + * Generated by asn1c-0.9.22 (http://lionet.info/asn1c) + * From ASN.1 module "POKERTH-PROTOCOL" + * found in "../../../docs/pokerth.asn1" + */ + +#ifndef _ChatTypeBroadcast_H_ +#define _ChatTypeBroadcast_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ChatTypeBroadcast */ +typedef struct ChatTypeBroadcast { + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ChatTypeBroadcast_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ChatTypeBroadcast; + +#ifdef __cplusplus +} +#endif + +#endif /* _ChatTypeBroadcast_H_ */ diff --git a/src/third_party/asn1/ChatTypeGame.c b/src/third_party/asn1/ChatTypeGame.c new file mode 100644 index 00000000..0eebf497 --- /dev/null +++ b/src/third_party/asn1/ChatTypeGame.c @@ -0,0 +1,70 @@ +/* + * Generated by asn1c-0.9.22 (http://lionet.info/asn1c) + * From ASN.1 module "POKERTH-PROTOCOL" + * found in "../../../docs/pokerth.asn1" + */ + +#include + +#include "ChatTypeGame.h" + +static asn_TYPE_member_t asn_MBR_ChatTypeGame_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ChatTypeGame, gameId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_NonZeroId, + 0, /* Defer constraints checking to the member type */ + 0, /* PER is not compiled, use -gen-PER */ + 0, + "gameId" + }, + { ATF_NOFLAGS, 0, offsetof(struct ChatTypeGame, playerId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_NonZeroId, + 0, /* Defer constraints checking to the member type */ + 0, /* PER is not compiled, use -gen-PER */ + 0, + "playerId" + }, +}; +static ber_tlv_tag_t asn_DEF_ChatTypeGame_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_TYPE_tag2member_t asn_MAP_ChatTypeGame_tag2el_1[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* gameId at 556 */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, -1, 0 } /* playerId at 558 */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_ChatTypeGame_specs_1 = { + sizeof(struct ChatTypeGame), + offsetof(struct ChatTypeGame, _asn_ctx), + asn_MAP_ChatTypeGame_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* Start extensions */ + 3 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_ChatTypeGame = { + "ChatTypeGame", + "ChatTypeGame", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + 0, 0, /* No PER support, use "-gen-PER" to enable */ + 0, /* Use generic outmost tag fetcher */ + asn_DEF_ChatTypeGame_tags_1, + sizeof(asn_DEF_ChatTypeGame_tags_1) + /sizeof(asn_DEF_ChatTypeGame_tags_1[0]), /* 1 */ + asn_DEF_ChatTypeGame_tags_1, /* Same as above */ + sizeof(asn_DEF_ChatTypeGame_tags_1) + /sizeof(asn_DEF_ChatTypeGame_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_ChatTypeGame_1, + 2, /* Elements count */ + &asn_SPC_ChatTypeGame_specs_1 /* Additional specs */ +}; + diff --git a/src/third_party/asn1/ChatTypeGame.h b/src/third_party/asn1/ChatTypeGame.h new file mode 100644 index 00000000..b897f1ce --- /dev/null +++ b/src/third_party/asn1/ChatTypeGame.h @@ -0,0 +1,41 @@ +/* + * Generated by asn1c-0.9.22 (http://lionet.info/asn1c) + * From ASN.1 module "POKERTH-PROTOCOL" + * found in "../../../docs/pokerth.asn1" + */ + +#ifndef _ChatTypeGame_H_ +#define _ChatTypeGame_H_ + + +#include + +/* Including external dependencies */ +#include "NonZeroId.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ChatTypeGame */ +typedef struct ChatTypeGame { + NonZeroId_t gameId; + NonZeroId_t playerId; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ChatTypeGame_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ChatTypeGame; + +#ifdef __cplusplus +} +#endif + +#endif /* _ChatTypeGame_H_ */ diff --git a/src/third_party/asn1/ChatTypeLobby.c b/src/third_party/asn1/ChatTypeLobby.c new file mode 100644 index 00000000..c453c2ef --- /dev/null +++ b/src/third_party/asn1/ChatTypeLobby.c @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.22 (http://lionet.info/asn1c) + * From ASN.1 module "POKERTH-PROTOCOL" + * found in "../../../docs/pokerth.asn1" + */ + +#include + +#include "ChatTypeLobby.h" + +static asn_TYPE_member_t asn_MBR_ChatTypeLobby_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ChatTypeLobby, playerId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_NonZeroId, + 0, /* Defer constraints checking to the member type */ + 0, /* PER is not compiled, use -gen-PER */ + 0, + "playerId" + }, +}; +static ber_tlv_tag_t asn_DEF_ChatTypeLobby_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_TYPE_tag2member_t asn_MAP_ChatTypeLobby_tag2el_1[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* playerId at 553 */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_ChatTypeLobby_specs_1 = { + sizeof(struct ChatTypeLobby), + offsetof(struct ChatTypeLobby, _asn_ctx), + asn_MAP_ChatTypeLobby_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 0, /* Start extensions */ + 2 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_ChatTypeLobby = { + "ChatTypeLobby", + "ChatTypeLobby", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + 0, 0, /* No PER support, use "-gen-PER" to enable */ + 0, /* Use generic outmost tag fetcher */ + asn_DEF_ChatTypeLobby_tags_1, + sizeof(asn_DEF_ChatTypeLobby_tags_1) + /sizeof(asn_DEF_ChatTypeLobby_tags_1[0]), /* 1 */ + asn_DEF_ChatTypeLobby_tags_1, /* Same as above */ + sizeof(asn_DEF_ChatTypeLobby_tags_1) + /sizeof(asn_DEF_ChatTypeLobby_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_ChatTypeLobby_1, + 1, /* Elements count */ + &asn_SPC_ChatTypeLobby_specs_1 /* Additional specs */ +}; + diff --git a/src/third_party/asn1/ChatTypeLobby.h b/src/third_party/asn1/ChatTypeLobby.h new file mode 100644 index 00000000..40644c8f --- /dev/null +++ b/src/third_party/asn1/ChatTypeLobby.h @@ -0,0 +1,40 @@ +/* + * Generated by asn1c-0.9.22 (http://lionet.info/asn1c) + * From ASN.1 module "POKERTH-PROTOCOL" + * found in "../../../docs/pokerth.asn1" + */ + +#ifndef _ChatTypeLobby_H_ +#define _ChatTypeLobby_H_ + + +#include + +/* Including external dependencies */ +#include "NonZeroId.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ChatTypeLobby */ +typedef struct ChatTypeLobby { + NonZeroId_t playerId; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ChatTypeLobby_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ChatTypeLobby; + +#ifdef __cplusplus +} +#endif + +#endif /* _ChatTypeLobby_H_ */ diff --git a/src/third_party/asn1/DialogMessage.c b/src/third_party/asn1/DialogMessage.c index 00dad3fe..4f950c25 100644 --- a/src/third_party/asn1/DialogMessage.c +++ b/src/third_party/asn1/DialogMessage.c @@ -56,7 +56,7 @@ static ber_tlv_tag_t asn_DEF_DialogMessage_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static asn_TYPE_tag2member_t asn_MAP_DialogMessage_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 0, 0, 0 } /* notificationText at 539 */ + { (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 0, 0, 0 } /* notificationText at 564 */ }; static asn_SEQUENCE_specifics_t asn_SPC_DialogMessage_specs_1 = { sizeof(struct DialogMessage), diff --git a/src/third_party/asn1/ErrorMessage.c b/src/third_party/asn1/ErrorMessage.c index 26ef1382..8a7f5f71 100644 --- a/src/third_party/asn1/ErrorMessage.c +++ b/src/third_party/asn1/ErrorMessage.c @@ -165,7 +165,7 @@ static ber_tlv_tag_t asn_DEF_ErrorMessage_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static asn_TYPE_tag2member_t asn_MAP_ErrorMessage_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* errorReason at 555 */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* errorReason at 580 */ }; static asn_SEQUENCE_specifics_t asn_SPC_ErrorMessage_specs_1 = { sizeof(struct ErrorMessage), diff --git a/src/third_party/asn1/TimeoutWarningMessage.c b/src/third_party/asn1/TimeoutWarningMessage.c index b1a4e1a6..731c1a5d 100644 --- a/src/third_party/asn1/TimeoutWarningMessage.c +++ b/src/third_party/asn1/TimeoutWarningMessage.c @@ -150,8 +150,8 @@ static ber_tlv_tag_t asn_DEF_TimeoutWarningMessage_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static asn_TYPE_tag2member_t asn_MAP_TimeoutWarningMessage_tag2el_1[] = { - { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* remainingSeconds at 548 */ - { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* timeoutReason at 544 */ + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* remainingSeconds at 573 */ + { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* timeoutReason at 569 */ }; static asn_SEQUENCE_specifics_t asn_SPC_TimeoutWarningMessage_specs_1 = { sizeof(struct TimeoutWarningMessage),