blob: d2192ef5591eae2a56174ee56866c18f75badb16 [file] [log] [blame]
// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "tag.h"
#include <openssl/base.h>
namespace bssl::der {
Tag ContextSpecificConstructed(uint8_t tag_number) {
BSSL_CHECK(tag_number == (tag_number & kTagNumberMask));
return (tag_number & kTagNumberMask) | kTagConstructed | kTagContextSpecific;
}
Tag ContextSpecificPrimitive(uint8_t base) {
BSSL_CHECK(base == (base & kTagNumberMask));
return (base & kTagNumberMask) | kTagPrimitive | kTagContextSpecific;
}
bool IsConstructed(Tag tag) {
return (tag & kTagConstructionMask) == kTagConstructed;
}
} // namespace bssl::der