Skip to content

Commit ac817bf

Browse files
committed
+forge deps
1 parent 8bb651c commit ac817bf

File tree

2,012 files changed

+159235
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,012 files changed

+159235
-0
lines changed

src/asn1-lib/ber.rkt

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
;; Copyright 2017-2019 Ryan Culpepper
2+
;; SPDX-License-Identifier: Apache-2.0
3+
4+
#lang racket/base
5+
(require racket/contract/base
6+
racket/match
7+
(for-syntax racket/base syntax/transformer)
8+
"private/base.rkt"
9+
"private/types.rkt"
10+
"private/ber-frame.rkt"
11+
"private/ber.rkt")
12+
(provide (rename-out [BER-frame* BER-frame])
13+
BER-frame?
14+
BER-frame-tag-class
15+
BER-frame-tag-number
16+
BER-frame-content
17+
(contract-out
18+
[read-BER-frame
19+
(->* [] [input-port? #:der? any/c #:limit (or/c exact-nonnegative-integer? #f)]
20+
BER-frame?)]
21+
[write-BER-frame
22+
(->* [BER-frame?] [output-port? #:der? any/c] void?)]
23+
[BER-encode (->* [asn1-type? any/c] [#:der? any/c] BER-frame?)]
24+
[BER-decode (->* [asn1-type? BER-frame?] [#:der? any/c] any/c)]))
25+
26+
(define (make-BER-frame tagclass tagn content)
27+
(BER-frame (make-tag tagclass tagn) content))
28+
29+
(define-module-boundary-contract make-BER-frame* make-BER-frame
30+
(-> (or/c 'universal 'application 'context-sensitive 'private)
31+
exact-positive-integer?
32+
(or/c bytes? (listof (or/c bytes? BER-frame?)))
33+
BER-frame?)
34+
#:name-for-blame BER-frame)
35+
36+
(define-match-expander BER-frame*
37+
(syntax-rules ()
38+
[(_ tagclass tagn content)
39+
(? BER-frame?
40+
(app BER-frame-tag-class tagclass)
41+
(app BER-frame-tag-number tagn)
42+
(app BER-frame-content content))])
43+
(make-variable-like-transformer #'make-BER-frame*))
44+
45+
(define (write-BER-frame frame [out (current-output-port)] #:der? [der? #f])
46+
(write-frame frame out der?))
47+
48+
(define (read-BER-frame [in (current-input-port)] #:der? [der? #f] #:limit [limit #f])
49+
(define br (make-asn1-binary-reader in #:limit limit))
50+
(read-frame br der?))
51+
52+
;; BER-decode : Type BER-Frame Boolean -> Any
53+
(define (BER-decode type frame #:der? [der? #f])
54+
(decode-frame type frame der?))

src/asn1-lib/info.rkt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
;; Copyright 2014-2022 Ryan Culpepper
2+
;; SPDX-License-Identifier: Apache-2.0
3+
4+
#lang info
5+
6+
;; ========================================
7+
;; pkg info
8+
9+
(define version "1.3")
10+
(define collection "asn1")
11+
(define deps '("base" ["binaryio-lib" #:version "1.1"]))
12+
(define pkg-authors '(ryanc))
13+
(define license 'Apache-2.0)
14+
15+
;; ========================================
16+
;; collect info
17+
18+
(define name "asn1")

0 commit comments

Comments
 (0)