summaryrefslogtreecommitdiffstats
path: root/sys/contrib/ia64/libuwx/src/uwx_bstream.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/contrib/ia64/libuwx/src/uwx_bstream.c')
-rw-r--r--sys/contrib/ia64/libuwx/src/uwx_bstream.c181
1 files changed, 0 insertions, 181 deletions
diff --git a/sys/contrib/ia64/libuwx/src/uwx_bstream.c b/sys/contrib/ia64/libuwx/src/uwx_bstream.c
deleted file mode 100644
index 1495ed3..0000000
--- a/sys/contrib/ia64/libuwx/src/uwx_bstream.c
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
-Copyright (c) 2003-2006 Hewlett-Packard Development Company, L.P.
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the "Software"), to deal in the Software without
-restriction, including without limitation the rights to use,
-copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following
-conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
-*/
-
-#include "uwx_env.h"
-#include "uwx_bstream.h"
-
-
-/* uwx_init_bstream: initialize a byte stream for reading */
-
-void uwx_init_bstream(
- struct uwx_bstream *bstream,
- struct uwx_env *env,
- uint64_t source,
- unsigned int len,
- int request)
-{
- bstream->buf = 0;
- if (env->remote) {
- bstream->source = source;
- bstream->bufp = (unsigned char *) &bstream->buf;
- bstream->nbuf = 0;
- bstream->copyin = env->copyin;
- bstream->cb_token = env->cb_token;
- bstream->request = request;
- }
- else {
- bstream->source = 0;
- bstream->bufp = (unsigned char *) (intptr_t) source;
- bstream->nbuf = len;
- bstream->copyin = 0;
- bstream->cb_token = 0;
- bstream->request = 0;
- }
- bstream->ntotal = len;
- bstream->peekc = -1;
-}
-
-
-/* uwx_get_byte: read the next byte from the byte stream */
-
-int uwx_get_byte(struct uwx_bstream *bstream)
-{
- int len;
- int n;
- int b;
-
- if (bstream->peekc >= 0) {
- b = bstream->peekc;
- bstream->peekc = -1;
- return b;
- }
- if (bstream->ntotal <= 0)
- return -1;
- if (bstream->nbuf <= 0) {
- if (bstream->source & 0x7 || bstream->ntotal < sizeof(uint64_t))
- len = sizeof(uint32_t);
- else
- len = sizeof(uint64_t);
- n = (*bstream->copyin)(bstream->request, (char *)&bstream->buf,
- bstream->source, len, bstream->cb_token);
- if (n != len)
- return -1;
- bstream->bufp = (unsigned char *) &bstream->buf;
- bstream->nbuf = n;
- bstream->source += n;
- }
-
- b = *bstream->bufp++;
- bstream->nbuf--;
- bstream->ntotal--;
- return b;
-}
-
-
-/* uwx_unget_byte: push a byte back onto the byte stream */
-
-int uwx_unget_byte(struct uwx_bstream *bstream, int b)
-{
- bstream->peekc = b;
- return 0;
-}
-
-
-/* uwx_get_uleb128: read a ULEB128 value from the byte stream */
-
-int uwx_get_uleb128(struct uwx_bstream *bstream, uint64_t *valp)
-{
- uint64_t val;
- int i;
- int b;
-
- b = uwx_get_byte(bstream);
- val = (uint64_t)(b & 0x7f) << 56;
- for (i = 0; i < 8; i++) {
- val = val >> 7;
- if (b & 0x80) {
- b = uwx_get_byte(bstream);
- val |= (uint64_t)(b & 0x7f) << 56;
- }
- }
- if (b & 0x80) {
- b = uwx_get_byte(bstream);
- val |= (uint64_t)(b & 0x7f) << 63;
- }
- if (b & 0x80)
- return -1;
- *valp = val;
- return 0;
-}
-
-#if 0
-int uwx_get_uleb128_alt(struct uwx_bstream *bstream, uint64_t *valp)
-{
- uint64_t val;
- int b;
-
- b = uwx_get_byte(bstream);
- val = b & 0x7f;
- if (b & 0x80) {
- b = uwx_get_byte(bstream);
- val |= (uint64_t)(b & 0x7f) << 7;
- if (b & 0x80) {
- b = uwx_get_byte(bstream);
- val |= (uint64_t)(b & 0x7f) << 14;
- if (b & 0x80) {
- b = uwx_get_byte(bstream);
- val |= (uint64_t)(b & 0x7f) << 21;
- if (b & 0x80) {
- b = uwx_get_byte(bstream);
- val |= (uint64_t)(b & 0x7f) << 28;
- if (b & 0x80) {
- b = uwx_get_byte(bstream);
- val |= (uint64_t)(b & 0x7f) << 35;
- if (b & 0x80) {
- b = uwx_get_byte(bstream);
- val |= (uint64_t)(b & 0x7f) << 42;
- if (b & 0x80) {
- b = uwx_get_byte(bstream);
- val |= (uint64_t)(b & 0x7f) << 49;
- if (b & 0x80) {
- b = uwx_get_byte(bstream);
- val |= (uint64_t)(b & 0x7f) << 56;
- if (b & 0x80) {
- b = uwx_get_byte(bstream);
- val |= (uint64_t)(b & 0x7f) << 63;
- if (b & 0x80)
- return -1;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- *valp = val;
- return 0;
-}
-#endif
OpenPOWER on IntegriCloud