Skip to content

Commit

Permalink
Windows: Add a "zstream decompress" subcommand
Browse files Browse the repository at this point in the history
  • Loading branch information
lundman authored and andrewc12 committed Sep 23, 2022
1 parent 1164bd0 commit 1b061df
Show file tree
Hide file tree
Showing 4 changed files with 112 additions and 0 deletions.
1 change: 1 addition & 0 deletions cmd/zstream/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ use_clang()

um_add_executable(zstreamdump
zstream.c
zstream_decompress.c
zstream_dump.c
zstream_redup.c
zstream_token.c
Expand Down
48 changes: 48 additions & 0 deletions lib/libspl/include/os/windows/err.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/

#ifndef _SPL_ERR_H
#define _SPL_ERR_H

#include <sys/debug.h>

void err(int, const char*, ...) _Noreturn __printf0like(2, 3);
void errx(int, const char*, ...) _Noreturn __printf0like(2, 3);
void warnx(const char*, ...) __printflike(1, 2);

inline static void
err(int x, const char *f, ...)
{
}

inline static void
errx(int x, const char *f, ...)
{
exit(x);
}

inline static void
warnx(const char *, ...)
{
exit(1);
}

#endif
55 changes: 55 additions & 0 deletions lib/libspl/include/os/windows/search.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/

#ifndef _SPL_SEARCH_H
#define _SPL_SEARCH_H
#include <sys/types.h>

typedef enum {
FIND,
ENTER
} ACTION;

typedef struct entry {
char *key;
void *data;
} ENTRY;


/* Implement me for zstream decompress */
inline static int
hcreate(size_t n)
{
return (0);
}

inline static void
hdestroy(void)
{
}

static inline ENTRY *
hsearch(ENTRY entry, ACTION action)
{
return (NULL);
}

#endif
8 changes: 8 additions & 0 deletions lib/libspl/include/sys/debug.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@
#define __printflike(x, y)
#endif

#ifndef __printf0like
#define __printf0like(x, y)
#endif

#ifndef __maybe_unused
#define __maybe_unused
#endif
Expand All @@ -45,6 +49,10 @@
#define __printflike(x, y) __attribute__((__format__(__printf__, x, y)))
#endif

#ifndef __printf0like
#define __printf0like(x, y) __attribute__((__format__(__printf0__, x, y)))
#endif

#ifndef __maybe_unused
#define __maybe_unused __attribute__((unused))
#endif
Expand Down

0 comments on commit 1b061df

Please sign in to comment.