MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 3.147.48.161
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/emacs-lisp/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/emacs-lisp/bindat.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:08:58 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/emacs-lisp/bindat.el
;;; in Emacs version 24.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(defalias 'bindat--unpack-u8 #[nil "	H	T\207" [bindat-raw bindat-idx] 2])
(defalias 'bindat--unpack-u16 #[nil "\300\301\302 \303\"\302 \"\207" [logior lsh bindat--unpack-u8 8] 4])
(defalias 'bindat--unpack-u24 #[nil "\300\301\302 \303\"\304 \"\207" [logior lsh bindat--unpack-u16 8 bindat--unpack-u8] 4])
(defalias 'bindat--unpack-u32 #[nil "\300\301\302 \303\"\302 \"\207" [logior lsh bindat--unpack-u16 16] 4])
(defalias 'bindat--unpack-u16r #[nil "\300\301 \302\301 \303\"\"\207" [logior bindat--unpack-u8 lsh 8] 5])
(defalias 'bindat--unpack-u24r #[nil "\300\301 \302\303 \304\"\"\207" [logior bindat--unpack-u16r lsh bindat--unpack-u8 16] 5])
(defalias 'bindat--unpack-u32r #[nil "\300\301 \302\301 \303\"\"\207" [logior bindat--unpack-u16r lsh 16] 5])
(defalias 'bindat--unpack-item #[(type len &optional vectype) "\306=\203\n\307\310\311>\203\312 \207\313>\203\314 \207\315=\203%\316 \207\317>\203.\320 \207\321=\2037\322 \207\323=\203@\324 \207\325=\203I\326 \207\305=\203\225\327	\330_S\327\211\f\331Y\203\222\312 \211\331U\203q\f\330Z\211\202[\332\211\331V\203Z\333\n\"\331U\204\206\f
B\fS\334\335\"\211\202t
,\207\336=\203\276&'\211	\\O('	\\'(;\203\266(\202\274\337(\260!)\207\340=\203\n\331\327(\211)	W\203\346&')\\H\331U\204\346)T\211)\202\313&'\211)\\O('	\\'(;\203(\202\337(\260!*\207\307=\203\\\341	\331\"\331\342*)+,:\2031,A@*\343,8,\202;,\2067\344\327,)	W\203X+)\345*,#I\210)T\211)\202=++\207\327\207" [type len m j bnum bits ip vec 4 (u8 byte) bindat--unpack-u8 (u16 word short) bindat--unpack-u16 u24 bindat--unpack-u24 (u32 dword long) bindat--unpack-u32 u16r bindat--unpack-u16r u24r bindat--unpack-u24r u32r bindat--unpack-u32r nil 8 0 128 logand lsh -1 str string-make-unibyte strz make-vector 1 2 u8 bindat--unpack-item bindat-raw bindat-idx s i vlen v vectype] 7])
(defalias 'bindat--unpack-group #[(spec) "\306\211\n\203\240\n@\211@A@\3078
\310=\205 \3118\311\306\nA\f:\203=\f@\312=\203=\312\fA@!
\203S
:\203S
@\312=\203S\312
A@!\203n:\203n@\312=\203n\312A@!\f\313>\203~\307
\f\306:\203\222
\312=\204\222\314\315	#\204\232\316
\312=\203\265\f\203\255\312!\202\202\312!\210\202\202
\317=\203\305\\\202\202
\320=\203\336\246\321U\204\202T\211\202\315
\301=\203\357\322\312!!\202\202
\323=\203 \321\211W\203\322\233!BT\211\202\375\237*\202\202
\324=\203w\233\306\211 !\"!\203s!@ !A! @\211\"\232\204e\325\232\204e:\2036\312!\2036\322 A!\306\211!\204;,\202\202\326
#\211\203\233\f\203\225\fB	B\202\233\327	\".\202	*\207" [last struct spec item field type nil 2 vec 3 eval (eval fill align struct union) apply bindat-get-field 1 fill align 0 bindat--unpack-group repeat union t bindat--unpack-item append len vectype tail data bindat-idx count index cc case cases tag] 5])
#@190 Return structured data according to SPEC for binary data in BINDAT-RAW.
BINDAT-RAW is a unibyte string or vector.
Optional third arg BINDAT-IDX specifies the starting offset in BINDAT-RAW.
(defalias 'bindat-unpack #[(spec bindat-raw &optional bindat-idx) "\303!\203\n\304\305!\210	\204\306\307\n!\207" [bindat-raw bindat-idx spec multibyte-string-p error "String is multibyte" 0 bindat--unpack-group] 2 (#$ . 3542)])
#@352 In structured data STRUCT, return value of field named FIELD.
If multiple field names are specified, use the field names to
lookup nested sub-structures in STRUCT, corresponding to the
C-language syntax STRUCT.FIELD1.FIELD2.FIELD3...
An integer value in the field list is taken as an array index,
e.g. corresponding to STRUCT.FIELD1[INDEX2].FIELD3...
(defalias 'bindat-get-field #[(struct &rest field) "\203)	\203)	@\250\203	@8\202\"	@\236\211:\205!\nA)	A\202\207" [struct field val] 3 (#$ . 3971)])
(defvar bindat--fixed-length-alist '((u8 . 1) (byte . 1) (u16 . 2) (u16r . 2) (word . 2) (short . 2) (u24 . 3) (u24r . 3) (u32 . 4) (u32r . 4) (dword . 4) (long . 4) (ip . 4)))
(defalias 'bindat--length-group #[(struct spec) "\306	\205\301	@\211@\nA@\307\n8\f\310=\205\311\n8\311	A:\2037@\312=\2037\312A@!\f\203M\f:\203M\f@\312=\203M\312\fA@!
\203c
:\203c
@\312=\203c\312
A@!\313>\203r\307\f\306
:\203\204\f\312=\204\204\314\315
#
\204\212\316\f\310=\203\266\316:\203\250
A@_\3078\202\262\206\256\317\306)\202\212\f\312=\203\324\203\315\312
!BB\202\274\312
!\210\202\274\f\320=\203\343
\\\202\274\f\321=\203\373
\246\322U\204\274T\211\202\353\f\323=\203\324\203\315\"\202\312
!\"\210\202\274\f\325=\203G\322
\211W\203C\324\315\"8\n\233\"\210T\211\202%*\202\274\f\326=\203\236
\n\233\306\211 ! \203\232 @ A @\211!\232\204\213\327\232\204\213:\203\\\312!\203\\\324A\"\210\306\211 \204a,\202\274\f\"\236\211\203\254
\fA_\203\266\315\"
\\.\202)\207" [last spec item field type len nil 2 vec 3 eval (eval fill align struct union) apply bindat-get-field 1 u8 fill align 0 struct bindat--length-group repeat union t vectype tail vlen bindat-idx count index cc case cases tag bindat--fixed-length-alist] 6])
#@66 Calculate bindat-raw length for STRUCT according to bindat SPEC.
(defalias 'bindat-length #[(spec struct) "\303\304	\n\"\210)\207" [bindat-idx struct spec 0 bindat--length-group] 3 (#$ . 5868)])
(defalias 'bindat--pack-u8 #[(v) "	\303\n\304\"I\210	T\211\207" [bindat-raw bindat-idx v logand 255] 5])
(defalias 'bindat--pack-u16 #[(v) "	\303\304\n\305\"\306\"I\210	T\303\n\306\"I\210	\307\\\211\207" [bindat-raw bindat-idx v logand lsh -8 255 2] 6])
(defalias 'bindat--pack-u24 #[(v) "\301\302\303\"!\210\304!\207" [v bindat--pack-u8 lsh -16 bindat--pack-u16] 4])
(defalias 'bindat--pack-u32 #[(v) "\301\302\303\"!\210\301!\207" [v bindat--pack-u16 lsh -16] 4])
(defalias 'bindat--pack-u16r #[(v) "	T\303\304\n\305\"\306\"I\210	\303\n\306\"I\210	\307\\\211\207" [bindat-raw bindat-idx v logand lsh -8 255 2] 6])
(defalias 'bindat--pack-u24r #[(v) "\301!\210\302\303\304\"!\207" [v bindat--pack-u16r bindat--pack-u8 lsh -16] 4])
(defalias 'bindat--pack-u32r #[(v) "\301!\210\301\302\303\"!\207" [v bindat--pack-u16r lsh -16] 4])
(defalias 'bindat--pack-item #[(v type len &optional vectype) "\306=\203\n\307\310\n\204	\\\211\207\311>\203\312\n!\207\313>\203(\314\n!\207\315=\2032\316\n!\207\317>\203<\320\n!\207\321=\203F\322\n!\207\323=\203P\324\n!\207\325=\203Z\326\n!\207\327=\203\253	\330_S\331\211$$\332Y\205\251\332\n\204\200$\330Z$\202\242\333\211\332V\203\242$\n>\203\224\334\f
\"$S$\335
\336\"\211\202\203\312\f!\210\202j+\207\337>\203\345\nG\332%\211&	V\203\301	&%&W\203\336'%\\\n%HI\210%T\211%\202\303	\\\211*\207\307=\203=\nG\332\340(%&):\203\n)A@(\341)8)\202)\206\342\331)&	V\203	&%&W\205;\343\n%H()$\210%T\211%\202 +\207	\\\211\207" [type len v bindat-idx m j ip vec 4 (u8 byte) bindat--pack-u8 (u16 word short) bindat--pack-u16 u24 bindat--pack-u24 (u32 dword long) bindat--pack-u32 u16r bindat--pack-u16r u24r bindat--pack-u24r u32r bindat--pack-u32r bits 8 nil 0 128 logior lsh -1 (str strz) 1 2 u8 bindat--pack-item bnum i l bindat-raw vlen vectype] 6])
(defalias 'bindat--pack-group #[(struct spec) "\306	\205\205	@\211@\nA@\307\n8\f\310=\205\311\n8\311	A:\2037@\312=\2037\312A@!\f\203M\f:\203M\f@\312=\203M\312\fA@!
\203c
:\203c
@\312=\203c\312
A@!\313>\203r\307\f\306
:\203\204\f\312=\204\204\314\315
#
\204\212\316\f\312=\203\250\203\241\312
!BB\202\200\312
!\210\202\200\f\317=\203\267
\\\202\200\f\320=\203\317
\246\321U\204\200T\211\202\277\f\322=\203\354\323\203\342\315\"\202\344\312
!\"\210\202\200\f\324=\203\321
\211W\203\323\315\"8\n\233\"\210T\211\202\371*\202\200\f\325=\203r
\n\233\306\211 \203n@A@\211 \232\204_\326\232\204_:\2030\312!\2030\323A\"\210\306\211\2045,\202\200\315\"\327\f
$\210.\202)\207" [last spec item field type len nil 2 vec 3 eval (eval fill align struct union) apply bindat-get-field 1 fill align 0 struct bindat--pack-group repeat union t bindat--pack-item vectype tail bindat-idx count index cc case cases tag] 6])
#@232 Return binary data packed according to SPEC for structured data STRUCT.
Optional third arg BINDAT-RAW is a pre-allocated unibyte string or vector to
pack into.
Optional fourth arg BINDAT-IDX is the starting offset into BINDAT-RAW.
(defalias 'bindat-pack #[(spec struct &optional bindat-raw bindat-idx) "\305!\203\n\306\307!\210\n\204\310\204 \311\n\312\f\"\\\310\"\313\f\"\210	?\205+)\207" [bindat-raw no-return bindat-idx spec struct multibyte-string-p error "Pre-allocated string is multibyte" 0 make-string bindat-length bindat--pack-group] 5 (#$ . 9015)])
#@239 Format vector VECT using element format FMT and separator SEP.
Result is a string with each element of VECT formatted using FMT and
separated by the string SEP.  If optional fourth arg LEN is given, use
only that many elements from VECT.
(defalias 'bindat-format-vector #[(vect fmt sep &optional len) "\204	G\nP\306\307V\2034S\310\307U\203(\202)
	H\"\fB\202\311\312\f\"+\207" [len vect sep fmt s fmt2 nil 0 format apply concat i] 4 (#$ . 9596)])
#@120 Format vector VECT in decimal format separated by dots.
If optional second arg SEP is a string, use that as separator.
(defalias 'bindat-vector-to-dec #[(vect &optional sep) "\302\303	;\203\f	\202
\304#\207" [vect sep bindat-format-vector "%d" "."] 4 (#$ . 10076)])
#@116 Format vector VECT in hex format separated by dots.
If optional second arg SEP is a string, use that as separator.
(defalias 'bindat-vector-to-hex #[(vect &optional sep) "\302\303	;\203\f	\202
\304#\207" [vect sep bindat-format-vector "%02x" ":"] 4 (#$ . 10352)])
#@115 Format vector IP as an ip address in dotted notation.
The port (if any) is omitted.  IP can be a string, as well.
(defalias 'bindat-ip-to-string #[(ip) "\301!\203\302\303\"\207\304\305\306H\307H\310H\311H%\207" [ip vectorp format-network-address t format "%d.%d.%d.%d" 0 1 2 3] 7 (#$ . 10626)])
(provide 'bindat)

MMCT - 2023