123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- /*====================================================================*
- *
- * void memout (void const * memory, size_t extent, char const * format, unsigned group, char c, char e, FILE * fp)
- *
- * memory.h
- *
- * print memory as a series of octets formatted by format string fmt,
- * seperated by character c every mod prints;
- *
- * for example, memout (memory, IPv4_LEN, "%d", 1, '.', stdout) would print:
- *
- * 192.168.1.1
- *
- * another example, memout (memory, IPv6_LEN, "%02x", 2, ':', stdout) would print:
- *
- * 0032:0045:0000:0000:0000:0000:1123:4456
- *
- * Motley Tools by Charles Maier <cmaier@cmassoc.net>;
- * Copyright (c) 2001-2006 by Charles Maier Associates;
- * Licensed under the Internet Software Consortium License;
- *
- * Contributor(s):
- * Nathaniel Houghton <nhoughto@qca.qualcomm.com>
- *
- *--------------------------------------------------------------------*/
- #ifndef MEMOUT_SOURCE
- #define MEMOUT_SOURCE
- #include <stdio.h>
- #include <stddef.h>
- #include "../tools/memory.h"
- void memout (void const * memory, size_t extent, char const * format, unsigned group, char c, char e, FILE * fp)
- {
- byte * origin = (byte *) (memory);
- byte * offset = (byte *) (memory);
- while (extent--)
- {
- ptrdiff_t count = (offset - origin) + 1;
- fprintf (fp, format, * offset);
- if ((count % group) == 0 && extent)
- {
- putc (c, fp);
- }
- offset++;
- }
- if (e)
- {
- putc (c, fp);
- }
- return;
- }
- #endif
|