/*
 * Automatically generated by asn1_compiler.  Do not edit
 *
 * ASN.1 parser for ksmbd_spnego_negtokentarg
 */
#include <linux/asn1_ber_bytecode.h>
#include "ksmbd_spnego_negtokentarg.asn1.h"

enum ksmbd_spnego_negtokentarg_actions {
	ACT_ksmbd_neg_token_targ_resp_token = 0,
	NR__ksmbd_spnego_negtokentarg_actions = 1
};

static const asn1_action_t ksmbd_spnego_negtokentarg_action_table[NR__ksmbd_spnego_negtokentarg_actions] = {
	[   0] = ksmbd_neg_token_targ_resp_token,
};

static const unsigned char ksmbd_spnego_negtokentarg_machine[] = {
	// GSSAPI
	[   0] = ASN1_OP_MATCH_JUMP_OR_SKIP,		// negTokenInit
	[   1] = _tagn(CONT, CONS,  0),
	[   2] = _jump_target(8),
	[   3] = ASN1_OP_COND_MATCH_JUMP_OR_SKIP,		// negTokenTarg
	[   4] = _tagn(CONT, CONS,  1),
	[   5] = _jump_target(11),
	[   6] = ASN1_OP_COND_FAIL,
	[   7] = ASN1_OP_COMPLETE,

	[   8] =  ASN1_OP_MATCH_ANY,		// negTokenInit
	[   9] = ASN1_OP_END_SEQ,
	[  10] = ASN1_OP_RETURN,

	// NegTokenTarg
	[  11] =  ASN1_OP_MATCH,
	[  12] =  _tag(UNIV, CONS, SEQ),
	[  13] =   ASN1_OP_MATCH_JUMP_OR_SKIP,		// negResult
	[  14] =   _tagn(CONT, CONS,  0),
	[  15] =   _jump_target(28),
	[  16] =   ASN1_OP_MATCH_JUMP_OR_SKIP,		// supportedMech
	[  17] =   _tagn(CONT, CONS,  1),
	[  18] =   _jump_target(32),
	[  19] =   ASN1_OP_MATCH_JUMP_OR_SKIP,		// responseToken
	[  20] =   _tagn(CONT, CONS,  2),
	[  21] =   _jump_target(36),
	[  22] =   ASN1_OP_MATCH_JUMP_OR_SKIP,		// mechListMIC
	[  23] =   _tagn(CONT, CONS,  3),
	[  24] =   _jump_target(41),
	[  25] =  ASN1_OP_END_SEQ,
	[  26] = ASN1_OP_END_SEQ,
	[  27] = ASN1_OP_RETURN,

	[  28] =  ASN1_OP_MATCH,		// negResult
	[  29] =  _tag(UNIV, PRIM, ENUM),
	[  30] = ASN1_OP_END_SEQ,
	[  31] = ASN1_OP_RETURN,

	[  32] =  ASN1_OP_MATCH,		// supportedMech
	[  33] =  _tag(UNIV, PRIM, OID),
	[  34] = ASN1_OP_END_SEQ,
	[  35] = ASN1_OP_RETURN,

	[  36] =  ASN1_OP_MATCH_ACT,		// responseToken
	[  37] =  _tag(UNIV, PRIM, OTS),
	[  38] =  _action(ACT_ksmbd_neg_token_targ_resp_token),
	[  39] = ASN1_OP_END_SEQ,
	[  40] = ASN1_OP_RETURN,

	[  41] =  ASN1_OP_MATCH,		// mechListMIC
	[  42] =  _tag(UNIV, PRIM, OTS),
	[  43] = ASN1_OP_END_SEQ,
	[  44] = ASN1_OP_RETURN,
};

const struct asn1_decoder ksmbd_spnego_negtokentarg_decoder = {
	.machine = ksmbd_spnego_negtokentarg_machine,
	.machlen = sizeof(ksmbd_spnego_negtokentarg_machine),
	.actions = ksmbd_spnego_negtokentarg_action_table,
};
