Preparing network protocol for rejoin.
This commit is contained in:
+43
-32
@@ -9,38 +9,38 @@
|
||||
|
||||
static int
|
||||
memb_password_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
const UTF8String_t *st = (const UTF8String_t *)sptr;
|
||||
size_t size;
|
||||
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
size = UTF8String_length(st);
|
||||
if((ssize_t)size < 0) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: UTF-8: broken encoding (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
"%s: UTF-8: broken encoding (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
if((size >= 1 && size <= 64)) {
|
||||
/* Constraint check succeeded */
|
||||
return 0;
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static asn_TYPE_member_t asn_MBR_joinGameAction_2[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct joinGameAction, choice.joinExistingGame),
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct joinGameAction, choice.joinExistingGame),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_JoinExistingGame,
|
||||
@@ -48,8 +48,8 @@ static asn_TYPE_member_t asn_MBR_joinGameAction_2[] = {
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"joinExistingGame"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct joinGameAction, choice.joinNewGame),
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct joinGameAction, choice.joinNewGame),
|
||||
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_JoinNewGame,
|
||||
@@ -57,11 +57,21 @@ static asn_TYPE_member_t asn_MBR_joinGameAction_2[] = {
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"joinNewGame"
|
||||
},
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct joinGameAction, choice.rejoinExistingGame),
|
||||
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
|
||||
-1, /* IMPLICIT tag at current level */
|
||||
&asn_DEF_RejoinExistingGame,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"rejoinExistingGame"
|
||||
},
|
||||
};
|
||||
static asn_TYPE_tag2member_t asn_MAP_joinGameAction_tag2el_2[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* joinExistingGame at 281 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* joinNewGame at 283 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* joinExistingGame at 282 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* joinNewGame at 283 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* rejoinExistingGame at 285 */
|
||||
};
|
||||
static asn_CHOICE_specifics_t asn_SPC_joinGameAction_specs_2 = {
|
||||
sizeof(struct joinGameAction),
|
||||
@@ -69,9 +79,9 @@ static asn_CHOICE_specifics_t asn_SPC_joinGameAction_specs_2 = {
|
||||
offsetof(struct joinGameAction, present),
|
||||
sizeof(((struct joinGameAction *)0)->present),
|
||||
asn_MAP_joinGameAction_tag2el_2,
|
||||
2, /* Count of tags in the map */
|
||||
3, /* Count of tags in the map */
|
||||
0,
|
||||
2 /* Extensions start */
|
||||
3 /* Extensions start */
|
||||
};
|
||||
static /* Use -fall-defs-global to expose */
|
||||
asn_TYPE_descriptor_t asn_DEF_joinGameAction_2 = {
|
||||
@@ -92,12 +102,12 @@ asn_TYPE_descriptor_t asn_DEF_joinGameAction_2 = {
|
||||
0, /* No tags (count) */
|
||||
0, /* No PER visible constraints */
|
||||
asn_MBR_joinGameAction_2,
|
||||
2, /* Elements count */
|
||||
3, /* Elements count */
|
||||
&asn_SPC_joinGameAction_specs_2 /* Additional specs */
|
||||
};
|
||||
|
||||
static asn_TYPE_member_t asn_MBR_JoinGameRequestMessage_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct JoinGameRequestMessage, joinGameAction),
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct JoinGameRequestMessage, joinGameAction),
|
||||
-1 /* Ambiguous tag (CHOICE?) */,
|
||||
0,
|
||||
&asn_DEF_joinGameAction_2,
|
||||
@@ -105,8 +115,8 @@ static asn_TYPE_member_t asn_MBR_JoinGameRequestMessage_1[] = {
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"joinGameAction"
|
||||
},
|
||||
{ ATF_POINTER, 1, offsetof(struct JoinGameRequestMessage, password),
|
||||
},
|
||||
{ ATF_POINTER, 1, offsetof(struct JoinGameRequestMessage, password),
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (12 << 2)),
|
||||
0,
|
||||
&asn_DEF_UTF8String,
|
||||
@@ -114,8 +124,8 @@ static asn_TYPE_member_t asn_MBR_JoinGameRequestMessage_1[] = {
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"password"
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct JoinGameRequestMessage, autoLeave),
|
||||
},
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct JoinGameRequestMessage, autoLeave),
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
|
||||
0,
|
||||
&asn_DEF_BOOLEAN,
|
||||
@@ -123,23 +133,24 @@ static asn_TYPE_member_t asn_MBR_JoinGameRequestMessage_1[] = {
|
||||
0, /* PER is not compiled, use -gen-PER */
|
||||
0,
|
||||
"autoLeave"
|
||||
},
|
||||
},
|
||||
};
|
||||
static ber_tlv_tag_t asn_DEF_JoinGameRequestMessage_tags_1[] = {
|
||||
(ASN_TAG_CLASS_APPLICATION | (11 << 2)),
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static asn_TYPE_tag2member_t asn_MAP_JoinGameRequestMessage_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 2, 0, 0 }, /* autoLeave at 285 */
|
||||
{ (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 1, 0, 0 }, /* password at 284 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* joinExistingGame at 281 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 } /* joinNewGame at 283 */
|
||||
{ (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 2, 0, 0 }, /* autoLeave at 287 */
|
||||
{ (ASN_TAG_CLASS_UNIVERSAL | (12 << 2)), 1, 0, 0 }, /* password at 286 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* joinExistingGame at 282 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* joinNewGame at 283 */
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 0, 0, 0 } /* rejoinExistingGame at 285 */
|
||||
};
|
||||
static asn_SEQUENCE_specifics_t asn_SPC_JoinGameRequestMessage_specs_1 = {
|
||||
sizeof(struct JoinGameRequestMessage),
|
||||
offsetof(struct JoinGameRequestMessage, _asn_ctx),
|
||||
asn_MAP_JoinGameRequestMessage_tag2el_1,
|
||||
4, /* Count of tags in the map */
|
||||
5, /* Count of tags in the map */
|
||||
0, 0, 0, /* Optional elements (not needed) */
|
||||
2, /* Start extensions */
|
||||
4 /* Stop extensions */
|
||||
@@ -158,10 +169,10 @@ asn_TYPE_descriptor_t asn_DEF_JoinGameRequestMessage = {
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_JoinGameRequestMessage_tags_1,
|
||||
sizeof(asn_DEF_JoinGameRequestMessage_tags_1)
|
||||
/sizeof(asn_DEF_JoinGameRequestMessage_tags_1[0]) - 1, /* 1 */
|
||||
/sizeof(asn_DEF_JoinGameRequestMessage_tags_1[0]) - 1, /* 1 */
|
||||
asn_DEF_JoinGameRequestMessage_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_JoinGameRequestMessage_tags_1)
|
||||
/sizeof(asn_DEF_JoinGameRequestMessage_tags_1[0]), /* 2 */
|
||||
/sizeof(asn_DEF_JoinGameRequestMessage_tags_1[0]), /* 2 */
|
||||
0, /* No PER visible constraints */
|
||||
asn_MBR_JoinGameRequestMessage_1,
|
||||
3, /* Elements count */
|
||||
|
||||
Reference in New Issue
Block a user