diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:54:44 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:54:44 -0400 |
| commit | a9157ce950dfe2fc30795d43b9d79b9d1bffc48b (patch) | |
| tree | 9df484304b560466d145e662c1c254ff0e9ae0ba /static/openbsd/man3/ober_set_header.3 | |
| parent | 160aa82b2d39c46ad33723d7d909cb4972efbb03 (diff) | |
docs: Added All OpenBSD Manuals
Diffstat (limited to 'static/openbsd/man3/ober_set_header.3')
| -rw-r--r-- | static/openbsd/man3/ober_set_header.3 | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/static/openbsd/man3/ober_set_header.3 b/static/openbsd/man3/ober_set_header.3 new file mode 100644 index 00000000..dc3efb76 --- /dev/null +++ b/static/openbsd/man3/ober_set_header.3 @@ -0,0 +1,160 @@ +.\" $OpenBSD: ober_set_header.3,v 1.6 2025/06/13 18:34:00 schwarze Exp $ +.\" +.\" Copyright (c) 2007, 2012 Reyk Floeter <reyk@openbsd.org> +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.Dd $Mdocdate: June 13 2025 $ +.Dt OBER_SET_HEADER 3 +.Os +.Sh NAME +.Nm ober_set_header , +.Nm ober_calc_len , +.Nm ober_set_writecallback , +.Nm ober_link_elements , +.Nm ober_replace_elements , +.Nm ober_dup , +.Nm ober_unlink_elements , +.Nm ober_free_element , +.Nm ober_free_elements +.Nd change and destroy ASN.1 objects for BER encoding +.Sh SYNOPSIS +.Lb libutil +.In sys/types.h +.In ber.h +.Ft void +.Fn "ober_set_header" "struct ber_element *elm" "int class" "unsigned int type" +.Ft size_t +.Fn "ober_calc_len" "struct ber_element *root" +.Ft void +.Fo "ober_set_writecallback" +.Fa "struct ber_element *elm" +.Fa "void (*cb)(void *arg, size_t offs)" +.Fa "void *arg" +.Fc +.Ft void +.Fn "ober_link_elements" "struct ber_element *prev" "struct ber_element *elm" +.Ft void +.Fn "ober_replace_elements" "struct ber_element *prev" "struct ber_element *elm" +.Ft struct ber_element * +.Fn "ober_dup" "struct ber_element *orig" +.Ft struct ber_element * +.Fn "ober_unlink_elements" "struct ber_element *prev" +.Ft void +.Fn "ober_free_element" "struct ber_element *root" +.Ft void +.Fn "ober_free_elements" "struct ber_element *root" +.Pp +.Fd #define BER_TYPE_BOOLEAN 1 +.Fd #define BER_TYPE_INTEGER 2 +.Fd #define BER_TYPE_BITSTRING 3 +.Fd #define BER_TYPE_OCTETSTRING 4 +.Fd #define BER_TYPE_NULL 5 +.Fd #define BER_TYPE_OBJECT 6 +.Fd #define BER_TYPE_ENUMERATED 10 +.Fd #define BER_TYPE_SEQUENCE 16 +.Fd #define BER_TYPE_SET 17 +.Pp +.Fd #define BER_TYPE_CONSTRUCTED 0x20 +.Pp +.Fd #define BER_CLASS_UNIVERSAL 0x0 +.Fd #define BER_CLASS_UNIV BER_CLASS_UNIVERSAL +.Fd #define BER_CLASS_APPLICATION 0x1 +.Fd #define BER_CLASS_APP BER_CLASS_APPLICATION +.Fd #define BER_CLASS_CONTEXT 0x2 +.Fd #define BER_CLASS_PRIVATE 0x3 +.Sh DESCRIPTION +.Fn ober_set_header +sets the +.Fa class +and +.Fa type +of +.Fa elm . +.Pp +.Fn ober_calc_len +determines the total length of +.Fa root . +.Pp +.Fn ober_set_writecallback +registers the +.Vt br_cb +callback function. +.Pp +.Fn ober_link_elements +links +.Fa prev +and +.Fa elm . +.Pp +.Fn ober_replace_elements +replaces +.Fa prev +with +.Fa new +and frees any dynamically allocated storage associated with +.Fa prev . +.Pp +.Fn ober_dup +duplicates an element and all linked elements. +.Pp +.Fn ober_unlink_elements +unlinks +.Fa prev . +.Pp +.Fn ober_free_element +and +.Fn ober_free_elements +free any dynamically allocated storage associated with +.Fa root . +.Sh RETURN VALUES +.Fn ober_calc_len +returns the total length of a fully populated +.Fa root +containing one or more +.Vt ber_element . +.Pp +.Fn ober_dup +returns a pointer to the duplicated element or +.Dv NULL +on error. +.Pp +.Fn ober_unlink_elements +returns a pointer to +.Vt ber_element . +.Sh SEE ALSO +.Xr ober_add_string 3 , +.Xr ober_get_string 3 , +.Xr ober_oid_cmp 3 , +.Xr ober_read_elements 3 +.Sh STANDARDS +ITU-T Recommendation X.690, also known as ISO/IEC 8825-1: +Information technology - ASN.1 encoding rules. +.Sh HISTORY +.Fn ober_dup +first appeared in +.Ox 7.0 . +.Pp +The other functions first appeared as internal functions in +.Xr snmpd 8 +in +.Ox 4.2 +and were moved to libutil in +.Ox 6.6 . +.Sh AUTHORS +.An -nosplit +The BER library was written by +.An Claudio Jeker Aq Mt claudio@openbsd.org , +.An Marc Balmer Aq Mt marc@openbsd.org +and +.An Reyk Floeter Aq Mt reyk@openbsd.org . |
