arp-scan-1.8.1/0002777000175000017500000000000011604415241010232 500000000000000arp-scan-1.8.1/obstack.c0000644000175000017500000003771411504445277011765 00000000000000/* obstack.c - subroutines used implicitly by object stack macros Copyright (C) 1988,89,90,91,92,93,94,96,97 Free Software Foundation, Inc. NOTE: This source is derived from an old version taken from the GNU C Library (glibc). This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H #include #endif #include "obstack.h" /* NOTE BEFORE MODIFYING THIS FILE: This version number must be incremented whenever callers compiled using an old obstack.h can no longer properly call the functions in this obstack.c. */ #define OBSTACK_INTERFACE_VERSION 1 /* Comment out all this code if we are using the GNU C Library, and are not actually compiling the library itself, and the installed library supports the same library interface we do. This code is part of the GNU C Library, but also included in many other GNU distributions. Compiling and linking in this code is a waste when using the GNU C library (especially if it is a shared library). Rather than having every GNU program understand `configure --with-gnu-libc' and omit the object files, it is simpler to just do this in the source for each such file. */ #include /* Random thing to get __GNU_LIBRARY__. */ #if !defined (_LIBC) && defined (__GNU_LIBRARY__) && __GNU_LIBRARY__ > 1 #include #if _GNU_OBSTACK_INTERFACE_VERSION == OBSTACK_INTERFACE_VERSION #define ELIDE_CODE #endif #endif #ifndef ELIDE_CODE #define POINTER void * /* Determine default alignment. */ struct fooalign {char x; double d;}; #define DEFAULT_ALIGNMENT \ ((PTR_INT_TYPE) ((char *) &((struct fooalign *) 0)->d - (char *) 0)) /* If malloc were really smart, it would round addresses to DEFAULT_ALIGNMENT. But in fact it might be less smart and round addresses to as much as DEFAULT_ROUNDING. So we prepare for it to do that. */ union fooround {long x; double d;}; #define DEFAULT_ROUNDING (sizeof (union fooround)) /* When we copy a long block of data, this is the unit to do it with. On some machines, copying successive ints does not work; in such a case, redefine COPYING_UNIT to `long' (if that works) or `char' as a last resort. */ #ifndef COPYING_UNIT #define COPYING_UNIT int #endif /* The functions allocating more room by calling `obstack_chunk_alloc' jump to the handler pointed to by `obstack_alloc_failed_handler'. This variable by default points to the internal function `print_and_abort'. */ static void print_and_abort (void); void (*obstack_alloc_failed_handler) (void) = print_and_abort; /* Exit value used when `print_and_abort' is used. */ #if defined __GNU_LIBRARY__ || defined HAVE_STDLIB_H #include #endif #ifndef EXIT_FAILURE #define EXIT_FAILURE 1 #endif int obstack_exit_failure = EXIT_FAILURE; /* The non-GNU-C macros copy the obstack into this global variable to avoid multiple evaluation. */ struct obstack *_obstack; /* Define a macro that either calls functions with the traditional malloc/free calling interface, or calls functions with the mmalloc/mfree interface (that adds an extra first argument), based on the state of use_extra_arg. For free, do not use ?:, since some compilers, like the MIPS compilers, do not allow (expr) ? void : void. */ #if defined (__STDC__) && __STDC__ #define CALL_CHUNKFUN(h, size) \ (((h) -> use_extra_arg) \ ? (*(h)->chunkfun) ((h)->extra_arg, (size)) \ : (*(struct _obstack_chunk *(*) (long)) (h)->chunkfun) ((size))) #define CALL_FREEFUN(h, old_chunk) \ do { \ if ((h) -> use_extra_arg) \ (*(h)->freefun) ((h)->extra_arg, (old_chunk)); \ else \ (*(void (*) (void *)) (h)->freefun) ((old_chunk)); \ } while (0) #else #define CALL_CHUNKFUN(h, size) \ (((h) -> use_extra_arg) \ ? (*(h)->chunkfun) ((h)->extra_arg, (size)) \ : (*(struct _obstack_chunk *(*) ()) (h)->chunkfun) ((size))) #define CALL_FREEFUN(h, old_chunk) \ do { \ if ((h) -> use_extra_arg) \ (*(h)->freefun) ((h)->extra_arg, (old_chunk)); \ else \ (*(void (*) ()) (h)->freefun) ((old_chunk)); \ } while (0) #endif /* Initialize an obstack H for use. Specify chunk size SIZE (0 means default). Objects start on multiples of ALIGNMENT (0 means use default). CHUNKFUN is the function to use to allocate chunks, and FREEFUN the function to free them. Return nonzero if successful, zero if out of memory. To recover from an out of memory error, free up some memory, then call this again. */ int _obstack_begin (struct obstack *h, int size, int alignment, POINTER (*chunkfun) (long), void (*freefun) (void *)) { register struct _obstack_chunk *chunk; /* points to new chunk */ if (alignment == 0) alignment = (int) DEFAULT_ALIGNMENT; if (size == 0) /* Default size is what GNU malloc can fit in a 4096-byte block. */ { /* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc. Use the values for range checking, because if range checking is off, the extra bytes won't be missed terribly, but if range checking is on and we used a larger request, a whole extra 4096 bytes would be allocated. These number are irrelevant to the new GNU malloc. I suspect it is less sensitive to the size of the request. */ int extra = ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING - 1)) + 4 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING - 1)); size = 4096 - extra; } h->chunkfun = (struct _obstack_chunk * (*)(void *, long)) chunkfun; h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun; h->chunk_size = size; h->alignment_mask = alignment - 1; h->use_extra_arg = 0; chunk = h->chunk = CALL_CHUNKFUN (h, h -> chunk_size); if (!chunk) (*obstack_alloc_failed_handler) (); h->next_free = h->object_base = chunk->contents; h->chunk_limit = chunk->limit = (char *) chunk + h->chunk_size; chunk->prev = 0; /* The initial chunk now contains no empty object. */ h->maybe_empty_object = 0; h->alloc_failed = 0; return 1; } int _obstack_begin_1 (struct obstack *h, int size, int alignment, POINTER (*chunkfun) (POINTER, long), void (*freefun) (POINTER, POINTER), POINTER arg) { register struct _obstack_chunk *chunk; /* points to new chunk */ if (alignment == 0) alignment = (int) DEFAULT_ALIGNMENT; if (size == 0) /* Default size is what GNU malloc can fit in a 4096-byte block. */ { /* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc. Use the values for range checking, because if range checking is off, the extra bytes won't be missed terribly, but if range checking is on and we used a larger request, a whole extra 4096 bytes would be allocated. These number are irrelevant to the new GNU malloc. I suspect it is less sensitive to the size of the request. */ int extra = ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING - 1)) + 4 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING - 1)); size = 4096 - extra; } h->chunkfun = (struct _obstack_chunk * (*)(void *,long)) chunkfun; h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun; h->chunk_size = size; h->alignment_mask = alignment - 1; h->extra_arg = arg; h->use_extra_arg = 1; chunk = h->chunk = CALL_CHUNKFUN (h, h -> chunk_size); if (!chunk) (*obstack_alloc_failed_handler) (); h->next_free = h->object_base = chunk->contents; h->chunk_limit = chunk->limit = (char *) chunk + h->chunk_size; chunk->prev = 0; /* The initial chunk now contains no empty object. */ h->maybe_empty_object = 0; h->alloc_failed = 0; return 1; } /* Allocate a new current chunk for the obstack *H on the assumption that LENGTH bytes need to be added to the current object, or a new object of length LENGTH allocated. Copies any partial object from the end of the old chunk to the beginning of the new one. */ void _obstack_newchunk (struct obstack *h, int length) { register struct _obstack_chunk *old_chunk = h->chunk; register struct _obstack_chunk *new_chunk; register long new_size; register long obj_size = h->next_free - h->object_base; register long i; long already; /* Compute size for new chunk. */ new_size = (obj_size + length) + (obj_size >> 3) + 100; if (new_size < h->chunk_size) new_size = h->chunk_size; /* Allocate and initialize the new chunk. */ new_chunk = CALL_CHUNKFUN (h, new_size); if (!new_chunk) (*obstack_alloc_failed_handler) (); h->chunk = new_chunk; new_chunk->prev = old_chunk; new_chunk->limit = h->chunk_limit = (char *) new_chunk + new_size; /* Move the existing object to the new chunk. Word at a time is fast and is safe if the object is sufficiently aligned. */ if (h->alignment_mask + 1 >= DEFAULT_ALIGNMENT) { for (i = obj_size / sizeof (COPYING_UNIT) - 1; i >= 0; i--) ((COPYING_UNIT *)new_chunk->contents)[i] = ((COPYING_UNIT *)h->object_base)[i]; /* We used to copy the odd few remaining bytes as one extra COPYING_UNIT, but that can cross a page boundary on a machine which does not do strict alignment for COPYING_UNITS. */ already = obj_size / sizeof (COPYING_UNIT) * sizeof (COPYING_UNIT); } else already = 0; /* Copy remaining bytes one by one. */ for (i = already; i < obj_size; i++) new_chunk->contents[i] = h->object_base[i]; /* If the object just copied was the only data in OLD_CHUNK, free that chunk and remove it from the chain. But not if that chunk might contain an empty object. */ if (h->object_base == old_chunk->contents && ! h->maybe_empty_object) { new_chunk->prev = old_chunk->prev; CALL_FREEFUN (h, old_chunk); } h->object_base = new_chunk->contents; h->next_free = h->object_base + obj_size; /* The new chunk certainly contains no empty object yet. */ h->maybe_empty_object = 0; } /* Return nonzero if object OBJ has been allocated from obstack H. This is here for debugging. If you use it in a program, you are probably losing. */ /* Suppress -Wmissing-prototypes warning. We don't want to declare this in obstack.h because it is just for debugging. */ int _obstack_allocated_p (struct obstack *h, POINTER obj); int _obstack_allocated_p (struct obstack *h, POINTER obj) { register struct _obstack_chunk *lp; /* below addr of any objects in this chunk */ register struct _obstack_chunk *plp; /* point to previous chunk if any */ lp = (h)->chunk; /* We use >= rather than > since the object cannot be exactly at the beginning of the chunk but might be an empty object exactly at the end of an adjacent chunk. */ while (lp != 0 && ((POINTER) lp >= obj || (POINTER) (lp)->limit < obj)) { plp = lp->prev; lp = plp; } return lp != 0; } /* Free objects in obstack H, including OBJ and everything allocate more recently than OBJ. If OBJ is zero, free everything in H. */ #undef obstack_free /* This function has two names with identical definitions. This is the first one, called from non-ANSI code. */ void _obstack_free (struct obstack *h, POINTER obj) { register struct _obstack_chunk *lp; /* below addr of any objects in this chunk */ register struct _obstack_chunk *plp; /* point to previous chunk if any */ lp = h->chunk; /* We use >= because there cannot be an object at the beginning of a chunk. But there can be an empty object at that address at the end of another chunk. */ while (lp != 0 && ((POINTER) lp >= obj || (POINTER) (lp)->limit < obj)) { plp = lp->prev; CALL_FREEFUN (h, lp); lp = plp; /* If we switch chunks, we can't tell whether the new current chunk contains an empty object, so assume that it may. */ h->maybe_empty_object = 1; } if (lp) { h->object_base = h->next_free = (char *) (obj); h->chunk_limit = lp->limit; h->chunk = lp; } else if (obj != 0) /* obj is not in any of the chunks! */ abort (); } /* This function is used from ANSI code. */ void obstack_free (struct obstack *h, POINTER obj) { register struct _obstack_chunk *lp; /* below addr of any objects in this chunk */ register struct _obstack_chunk *plp; /* point to previous chunk if any */ lp = h->chunk; /* We use >= because there cannot be an object at the beginning of a chunk. But there can be an empty object at that address at the end of another chunk. */ while (lp != 0 && ((POINTER) lp >= obj || (POINTER) (lp)->limit < obj)) { plp = lp->prev; CALL_FREEFUN (h, lp); lp = plp; /* If we switch chunks, we can't tell whether the new current chunk contains an empty object, so assume that it may. */ h->maybe_empty_object = 1; } if (lp) { h->object_base = h->next_free = (char *) (obj); h->chunk_limit = lp->limit; h->chunk = lp; } else if (obj != 0) /* obj is not in any of the chunks! */ abort (); } int _obstack_memory_used (struct obstack *h) { register struct _obstack_chunk* lp; register int nbytes = 0; for (lp = h->chunk; lp != 0; lp = lp->prev) { nbytes += lp->limit - (char *) lp; } return nbytes; } /* Define the error handler. */ #ifndef _ # if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC # include # ifndef _ # define _(Str) gettext (Str) # endif # else # define _(Str) (Str) # endif #endif static void print_and_abort (void) { fputs (_("memory exhausted\n"), stderr); exit (obstack_exit_failure); } #if 0 /* These are now turned off because the applications do not use it and it uses bcopy via obstack_grow, which causes trouble on sysV. */ /* Now define the functional versions of the obstack macros. Define them to simply use the corresponding macros to do the job. */ /* The function names appear in parentheses in order to prevent the macro-definitions of the names from being expanded there. */ POINTER (obstack_base) (struct obstack *obstack) { return obstack_base (obstack); } POINTER (obstack_next_free) (struct obstack *obstack) { return obstack_next_free (obstack); } int (obstack_object_size) (struct obstack *obstack) { return obstack_object_size (obstack); } int (obstack_room) (struct obstack *obstack) { return obstack_room (obstack); } int (obstack_make_room) (struct obstack *obstack, int length) { return obstack_make_room (obstack, length); } void (obstack_grow) (struct obstack *obstack, POINTER pointer, int length) { obstack_grow (obstack, pointer, length); } void (obstack_grow0) (struct obstack *obstack, POINTER pointer, int length) { obstack_grow0 (obstack, pointer, length); } void (obstack_1grow) (struct obstack *obstack, int character) { obstack_1grow (obstack, character); } void (obstack_blank) (struct obstack *obstack, int length) { obstack_blank (obstack, length); } void (obstack_1grow_fast) (struct obstack *obstack, int character) { obstack_1grow_fast (obstack, character); } void (obstack_blank_fast) (struct obstack *obstack, int length) { obstack_blank_fast (obstack, length); } POINTER (obstack_finish) (struct obstack *obstack) { return obstack_finish (obstack); } POINTER (obstack_alloc) (struct obstack *obstack, int length) { return obstack_alloc (obstack, length); } POINTER (obstack_copy) (struct obstack *obstack, POINTER pointer, int length) { return obstack_copy (obstack, pointer, length); } POINTER (obstack_copy0) (struct obstack *obstack, POINTER pointer, int length) { return obstack_copy0 (obstack, pointer, length); } #endif /* 0 */ #endif /* !ELIDE_CODE */ arp-scan-1.8.1/NEWS0000664000175000017500000001061611533177153010661 00000000000000$Id: NEWS 18144 2011-03-01 14:10:50Z rsh $ This file gives a brief overview of the major changes between each arp-scan release. For more details please read the ChangeLog file. 2011-03-01 arp-scan 1.8: * Updated IEEE OUI and IAB MAC/Vendor files. There are now 14707 OUI entries and 3542 IAB entries. * Added support for trailer ARP replies, which were used in early versions of BSD Unix on VAX. * Added support for ARP packets with both 802.1Q VLAN tag and LLC/SNAP framing. * The full help output is only displayed if specifically requested with arp-scan --help. Usage errors now result in smaller help output. * Added support for Apple Mac OS X with Xcode 2.5 and later. This allows arp-scan to build on Tiger, Leopard and Snow Leopard. * Changed license from GPLv2 to GPLv3. * Added warning about possible DoS when setting ar$spa to the destination IP address to the help output and man page. * Added arp-fingerprint patterns for 2.11BSD, NetBSD 4.0, FreeBSD 7.0, Vista SP1, Windows 7 and Blackberry OS. * Enabled compiler security options -fstack-protect, -D_FORTIFY_SOURCE=2 and -Wformat-security if they are supported by the compiler. Also enabled extra warnings -Wwrite-strings and -Wextra. * Added new "make check" tests to check packet generation, and packet decoding and display. * Modified get-oui and get-iab perl scripts so they will work on systems where the perl interpreter is not in /usr/bin, e.g. NetBSD. * Various minor bug fixes and improvements. 2008-07-24 arp-scan 1.7: * new --pcapsavefile (-W) option to save the ARP response packets to a pcap savefile for later analysis with tcpdump, wireshark or another program that supports the pcap file format. * new --vlan (-Q) option to create outgoing ARP packets with an 802.1Q VLAN tag ARP responses with a VLAN tag are interpreted and displayed. * New --llc (-L) option to create outgoing ARP packets with RFC 1042 LLC/SNAP framing. Received ARP packets are decoded and displayed with either LLC/SNAP or the default Ethernet-II framing irrespective of this option. * Avoid double unmarshalling of packet data: once in callback, then again in display_packet(). * New arp-fingerprint patterns for ARP fingerprinting: Cisco 79xx IP Phone SIP 5.x, 6.x and 7.x; Cisco 79xx IP Phone SIP 8.x. * Updated IEEE OUI and IAB MAC/Vendor files. There are now 11,697 OUI entries and 2,386 IAB entries. 2007-04-12 arp-scan 1.6: * arp-scan wiki at http://www.nta-monitor.com/wiki/ This contains detailed documentation on arp-scan, and is intended to be the primary documentation resource. * Added support for Sun Solaris. Tested on Solaris 9 (SPARC). arp-scan may also work on other systems that use DLPI, but only Solaris has been tested. * New arp-fingerprint patterns for ARP fingerprinting: IOS 11.2, 11.3 and 12.4; ScreenOS 5.1, 5.2, 5.3 and 5.4; Cisco VPN Concentrator 4.7; AIX 4.3 and 5.3; Nortel Contivity 6.00 and 6.05; Cisco PIX 5.1, 5.2, 5.3, 6.0, 6.1, 6.2, 6.3 and 7.0. * Updated IEEE OUI and IAB MAC/Vendor files. There are now 10,214 OUI entries and 1,858 IAB entries. * Added HSRP MAC address to mac-vendor.txt. 2006-07-22 arp-scan 1.5: * Reduced memory usage from 44 bytes per target to 28 bytes. This reduces the memory usage for a Class-B network from 2.75MB to 1.75MB, and a Class-A network from 704MB to 448MB. * Reduced the startup time for large target ranges. This reduces the startup time for a Class-A network from 80 seconds to 15 seconds on a Compaq laptop with 1.4GHz CPU. * Added support for FreeBSD, OpenBSD, NetBSD and MacOS X (Darwin). arp-scan will probably also work on other operating systems that implement BPF, but only those listed have been tested. * Improved operation of the --srcaddr option. Now this will change the source hardware address in the Ethernet header without changing the interface address. * Additional fingerprints for arp-fingerprint. * Improved manual pages. * Updated IEEE OUI and IAB files. There are now 9,426 OUI entries and 1,568 IAB entries. 2006-06-26 arp-scan 1.4: * Added IEEE IAB listings and associated get-iab update script and --iabfile option. * Added manual MAC/Vendor mapping file: mac-vendor.txt and associated --macfile option. * New --localnet option to scan all IP addresses on the specified interface network and mask. 2006-06-23 arp-scan 1.3: * Initial public release. Source distribution only, which will compile and run on Linux. arp-scan-1.8.1/check-host-list0000774000175000017500000001443111522755123013104 00000000000000#!/bin/sh # The ARP Scanner (arp-scan) is Copyright (C) 2005-2011 Roy Hills, # NTA Monitor Ltd. # # This file is part of arp-scan. # # arp-scan is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # arp-scan is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with arp-scan. If not, see . # # $Id: check-host-list 18106 2011-02-04 10:52:02Z rsh $ # # check-host-list - Shell script to test arp-scan host list creation # # Author: Roy Hills # Date: 4 February 2011 # # This script checks that arp-scan creates the host list correctly. # It uses the undocumented arp-scan option --readpktfromfile to # read the packets from a pcap file rather than from the network. # ARPSCANOUTPUT=/tmp/arp-scan-output.$$.tmp EXAMPLEOUTPUT=/tmp/example-output.$$.tmp # SAMPLE01="$srcdir/pkt-net1921681-response.pcap" # 56 ARP responses from a Class-C sized network with various vendors echo "Checking host list creation using $SAMPLE01 ..." cat >$EXAMPLEOUTPUT <<_EOF_ Host List: Entry IP Address 1 192.168.1.0 2 192.168.1.1 3 192.168.1.2 4 192.168.1.3 5 192.168.1.4 6 192.168.1.5 7 192.168.1.6 8 192.168.1.7 9 192.168.1.8 10 192.168.1.9 11 192.168.1.10 12 192.168.1.11 13 192.168.1.12 14 192.168.1.13 15 192.168.1.14 16 192.168.1.15 17 192.168.1.16 18 192.168.1.17 19 192.168.1.18 20 192.168.1.19 21 192.168.1.20 22 192.168.1.21 23 192.168.1.22 24 192.168.1.23 25 192.168.1.24 26 192.168.1.25 27 192.168.1.26 28 192.168.1.27 29 192.168.1.28 30 192.168.1.29 31 192.168.1.30 32 192.168.1.31 33 192.168.1.32 34 192.168.1.33 35 192.168.1.34 36 192.168.1.35 37 192.168.1.36 38 192.168.1.37 39 192.168.1.38 40 192.168.1.39 41 192.168.1.40 42 192.168.1.41 43 192.168.1.42 44 192.168.1.43 45 192.168.1.44 46 192.168.1.45 47 192.168.1.46 48 192.168.1.47 49 192.168.1.48 50 192.168.1.49 51 192.168.1.50 52 192.168.1.51 53 192.168.1.52 54 192.168.1.53 55 192.168.1.54 56 192.168.1.55 57 192.168.1.56 58 192.168.1.57 59 192.168.1.58 60 192.168.1.59 61 192.168.1.60 62 192.168.1.61 63 192.168.1.62 64 192.168.1.63 65 192.168.1.64 66 192.168.1.65 67 192.168.1.66 68 192.168.1.67 69 192.168.1.68 70 192.168.1.69 71 192.168.1.70 72 192.168.1.71 73 192.168.1.72 74 192.168.1.73 75 192.168.1.74 76 192.168.1.75 77 192.168.1.76 78 192.168.1.77 79 192.168.1.78 80 192.168.1.79 81 192.168.1.80 82 192.168.1.81 83 192.168.1.82 84 192.168.1.83 85 192.168.1.84 86 192.168.1.85 87 192.168.1.86 88 192.168.1.87 89 192.168.1.88 90 192.168.1.89 91 192.168.1.90 92 192.168.1.91 93 192.168.1.92 94 192.168.1.93 95 192.168.1.94 96 192.168.1.95 97 192.168.1.96 98 192.168.1.97 99 192.168.1.98 100 192.168.1.99 101 192.168.1.100 102 192.168.1.101 103 192.168.1.102 104 192.168.1.103 105 192.168.1.104 106 192.168.1.105 107 192.168.1.106 108 192.168.1.107 109 192.168.1.108 110 192.168.1.109 111 192.168.1.110 112 192.168.1.111 113 192.168.1.112 114 192.168.1.113 115 192.168.1.114 116 192.168.1.115 117 192.168.1.116 118 192.168.1.117 119 192.168.1.118 120 192.168.1.119 121 192.168.1.120 122 192.168.1.121 123 192.168.1.122 124 192.168.1.123 125 192.168.1.124 126 192.168.1.125 127 192.168.1.126 128 192.168.1.127 129 192.168.1.128 130 192.168.1.129 131 192.168.1.130 132 192.168.1.131 133 192.168.1.132 134 192.168.1.133 135 192.168.1.134 136 192.168.1.135 137 192.168.1.136 138 192.168.1.137 139 192.168.1.138 140 192.168.1.139 141 192.168.1.140 142 192.168.1.141 143 192.168.1.142 144 192.168.1.143 145 192.168.1.144 146 192.168.1.145 147 192.168.1.146 148 192.168.1.147 149 192.168.1.148 150 192.168.1.149 151 192.168.1.150 152 192.168.1.151 153 192.168.1.152 154 192.168.1.153 155 192.168.1.154 156 192.168.1.155 157 192.168.1.156 158 192.168.1.157 159 192.168.1.158 160 192.168.1.159 161 192.168.1.160 162 192.168.1.161 163 192.168.1.162 164 192.168.1.163 165 192.168.1.164 166 192.168.1.165 167 192.168.1.166 168 192.168.1.167 169 192.168.1.168 170 192.168.1.169 171 192.168.1.170 172 192.168.1.171 173 192.168.1.172 174 192.168.1.173 175 192.168.1.174 176 192.168.1.175 177 192.168.1.176 178 192.168.1.177 179 192.168.1.178 180 192.168.1.179 181 192.168.1.180 182 192.168.1.181 183 192.168.1.182 184 192.168.1.183 185 192.168.1.184 186 192.168.1.185 187 192.168.1.186 188 192.168.1.187 189 192.168.1.188 190 192.168.1.189 191 192.168.1.190 192 192.168.1.191 193 192.168.1.192 194 192.168.1.193 195 192.168.1.194 196 192.168.1.195 197 192.168.1.196 198 192.168.1.197 199 192.168.1.198 200 192.168.1.199 201 192.168.1.200 202 192.168.1.201 203 192.168.1.202 204 192.168.1.203 205 192.168.1.204 206 192.168.1.205 207 192.168.1.206 208 192.168.1.207 209 192.168.1.208 210 192.168.1.209 211 192.168.1.210 212 192.168.1.211 213 192.168.1.212 214 192.168.1.213 215 192.168.1.214 216 192.168.1.215 217 192.168.1.216 218 192.168.1.217 219 192.168.1.218 220 192.168.1.219 221 192.168.1.220 222 192.168.1.221 223 192.168.1.222 224 192.168.1.223 225 192.168.1.224 226 192.168.1.225 227 192.168.1.226 228 192.168.1.227 229 192.168.1.228 230 192.168.1.229 231 192.168.1.230 232 192.168.1.231 233 192.168.1.232 234 192.168.1.233 235 192.168.1.234 236 192.168.1.235 237 192.168.1.236 238 192.168.1.237 239 192.168.1.238 240 192.168.1.239 241 192.168.1.240 242 192.168.1.241 243 192.168.1.242 244 192.168.1.243 245 192.168.1.244 246 192.168.1.245 247 192.168.1.246 248 192.168.1.247 249 192.168.1.248 250 192.168.1.249 251 192.168.1.250 252 192.168.1.251 253 192.168.1.252 254 192.168.1.253 255 192.168.1.254 256 192.168.1.255 Total of 256 host entries. _EOF_ ARPARGS="--retry=1 --ouifile=$srcdir/ieee-oui.txt --iabfile=$srcdir/ieee-iab.txt --macfile=$srcdir/mac-vendor.txt -v -v -v" $srcdir/arp-scan $ARPARGS --readpktfromfile=$SAMPLE01 192.168.1.0/24 2>&1 | sed -n -e '/^Host List:/,/^Total of /p' > $ARPSCANOUTPUT 2>&1 if test $? -ne 0; then rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT echo "FAILED" exit 1 fi cmp -s $ARPSCANOUTPUT $EXAMPLEOUTPUT if test $? -ne 0; then rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT echo "FAILED" exit 1 fi echo "ok" rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT arp-scan-1.8.1/get-oui.10000664000175000017500000000743310734723537011625 00000000000000.\" Copyright (C) Roy Hills, NTA Monitor Ltd. .\" .\" Copying and distribution of this file, with or without modification, .\" are permitted in any medium without royalty provided the copyright .\" notice and this notice are preserved. .\" .\" $Id: get-oui.1 12365 2007-12-27 13:23:40Z rsh $ .TH GET-OUI 1 "March 30, 2007" .\" Please adjust this date whenever revising the man page. .SH NAME get-oui \- Fetch the arp-scan OUI file from the IEEE website .SH SYNOPSIS .B get-oui .RI [ options ] .SH DESCRIPTION .B get-oui fetches the Ethernet OUI file from the IEEE website, and saves it in the format used by arp-scan. .PP The OUI file contains all of the OUIs (Organizationally Unique Identifiers) that have been registered with IEEE. Each OUI entry in the file specifies the first 24-bits of the 48-bit Ethernet hardware address, leaving the remaining 24-bits for use by the registering organisation. For example the OUI entry "080020", registered to Sun Microsystems, applies to any Ethernet hardware address from .I 08:00:20:00:00:00 to .I 08:00:20:ff:ff:ff inclusive. Each OUI assignment represents a total of 2^24 (16,777,216) Ethernet addresses. .PP Every major Ethernet hardware vendor registers an OUI for their equipment, and larger vendors will need to register more than one. For example, 3Com have a total of 37 OUI entries. Organisations that only produce a small number of Ethernet devices will often obtain an IAB registration instead. See .BR get-iab (1) for details. .PP This script can be used to update the .B arp-scan OUI file from the latest data on the IEEE website. Most of the Ethernet addresses in use belong to an OUI registration, so this is the most important of the files that .B arp-scan uses to decode Ethernet hardware addresses. You should therefore run .B get-oui occasionally to keep the .B arp-scan OUI file up to date. .PP The OUI data is fetched from the URL .I http://standards.ieee.org/regauth/oui/oui.txt and the output file is saved to the file .I ieee-oui.txt in the current directory. The URL to fetch the data from can be changed with the .B -u option, and the output file name can be changed with the .B -f option. .PP The .I ieee-oui.txt file that is produced by this script is used by .B arp-scan to determine the Ethernet card vendor from its hardware address. .PP The directory that .B arp-scan will look for the .I ieee-oui.txt file depends on the options used when it was built. If it was built using the default options, then it will look in .IR /usr/local/share/arp-scan . .SH OPTIONS .TP .B -h Display a brief usage message and exit. .TP .B -f Write the output to the specified file instead of the default .I ieee-oui.txt. .TP .B -u Use the specified URL to fetch the raw OUI data from instead of the default .I http://standards.ieee.org/regauth/oui/oui.txt. .TP .B -v Display verbose progress messages. .SH FILES .TP .I ieee-oui.txt The default output file. .SH EXAMPLES .nf $ get-oui -v Renaming ieee-oui.txt to ieee-oui.txt.bak Fetching OUI data from http://standards.ieee.org/regauth/oui/oui.txt Fetched 1467278 bytes Opening output file ieee-oui.txt 9274 OUI entries written to file ieee-oui.txt .fi .SH NOTES .B get-oui is implemented in Perl, so you need to have the Perl interpreter installed on your system to use it. .PP .B get-oui uses the .I LWP::Simple Perl module to fetch the data from the IEEE website. You must have this module installed on your system for it to work. This module is available on most distributions, often called .IR libwww-perl . It is also available in source form from CPAN. .PP You can use a proxy server by defining the .I http_proxy environment variable. .SH AUTHOR Roy Hills .SH "SEE ALSO" .TP .BR arp-scan (1) .TP .BR get-iab (1) .TP .BR arp-fingerprint (1) .PP .I http://www.nta-monitor.com/wiki/ The arp-scan wiki page. arp-scan-1.8.1/check-decode0000774000175000017500000002716411532017514012404 00000000000000#!/bin/sh # The ARP Scanner (arp-scan) is Copyright (C) 2005-2011 Roy Hills, # NTA Monitor Ltd. # # This file is part of arp-scan. # # arp-scan is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # arp-scan is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with arp-scan. If not, see . # # $Id: check-decode 18136 2011-02-25 21:29:45Z rsh $ # # check-decode - Shell script to test arp-scan packet decoding # # Author: Roy Hills # Date: 30 January 2011 # # This script checks that arp-scan decodes and displays ARP response packets # correctly. It uses the undocumented arp-scan option --readpktfromfile to # read the packet from a file rather than from the network. # ARPSCANOUTPUT=/tmp/arp-scan-output.$$.tmp EXAMPLEOUTPUT=/tmp/example-output.$$.tmp # SAMPLE01="$srcdir/pkt-simple-response.pcap" SAMPLE02="$srcdir/pkt-padding-response.pcap" SAMPLE03="$srcdir/pkt-vlan-response.pcap" SAMPLE04="$srcdir/pkt-llc-response.pcap" SAMPLE05="$srcdir/pkt-net1921681-response.pcap" SAMPLE06="$srcdir/pkt-trailer-response.pcap" SAMPLE07="$srcdir/pkt-vlan-llc-response.pcap" # Simple ARP response packet echo "Checking simple ARP response packet decode using $SAMPLE01 ..." cat >$EXAMPLEOUTPUT <<_EOF_ 127.0.0.1 08:00:2b:06:07:08 DIGITAL EQUIPMENT CORPORATION _EOF_ ARPARGS="--retry=1 --ouifile=$srcdir/ieee-oui.txt --iabfile=$srcdir/ieee-iab.txt --macfile=$srcdir/mac-vendor.txt" $srcdir/arp-scan $ARPARGS --readpktfromfile=$SAMPLE01 127.0.0.1 | grep -v '^Starting arp-scan ' | grep -v '^Interface: ' | grep -v '^Ending arp-scan ' | grep -v '^[0-9]* packets received ' > $ARPSCANOUTPUT 2>&1 if test $? -ne 0; then rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT echo "FAILED" exit 1 fi cmp -s $ARPSCANOUTPUT $EXAMPLEOUTPUT if test $? -ne 0; then rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT echo "FAILED" exit 1 fi echo "ok" rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT # Simple ARP response packet with non zero padding echo "Checking padded ARP response packet decode using $SAMPLE02 ..." cat >$EXAMPLEOUTPUT <<_EOF_ 127.0.0.1 08:00:2b:06:07:08 DIGITAL EQUIPMENT CORPORATION Padding=55aa55aa55aa55aa55aa55aa55aa55aa55aa _EOF_ ARPARGS="--retry=1 --ouifile=$srcdir/ieee-oui.txt --iabfile=$srcdir/ieee-iab.txt --macfile=$srcdir/mac-vendor.txt --verbose" $srcdir/arp-scan $ARPARGS --readpktfromfile=$SAMPLE02 127.0.0.1 | grep -v '^Starting arp-scan ' | grep -v '^Interface: ' | grep -v '^Ending arp-scan ' | grep -v '^[0-9]* packets received ' > $ARPSCANOUTPUT 2>&1 if test $? -ne 0; then rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT echo "FAILED" exit 1 fi cmp -s $ARPSCANOUTPUT $EXAMPLEOUTPUT if test $? -ne 0; then rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT echo "FAILED" exit 1 fi echo "ok" rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT # ARP response packet with 802.1Q VLAN tag echo "Checking 802.1Q ARP response packet decode using $SAMPLE03 ..." cat >$EXAMPLEOUTPUT <<_EOF_ 127.0.0.1 08:00:2b:06:07:08 DIGITAL EQUIPMENT CORPORATION (802.1Q VLAN=4095) _EOF_ ARPARGS="--retry=1 --ouifile=$srcdir/ieee-oui.txt --iabfile=$srcdir/ieee-iab.txt --macfile=$srcdir/mac-vendor.txt" $srcdir/arp-scan $ARPARGS --readpktfromfile=$SAMPLE03 127.0.0.1 | grep -v '^Starting arp-scan ' | grep -v '^Interface: ' | grep -v '^Ending arp-scan ' | grep -v '^[0-9]* packets received ' > $ARPSCANOUTPUT 2>&1 if test $? -ne 0; then rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT echo "FAILED" exit 1 fi cmp -s $ARPSCANOUTPUT $EXAMPLEOUTPUT if test $? -ne 0; then rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT echo "FAILED" exit 1 fi echo "ok" rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT # ARP response packet with 802.2 LLC/SNAP encapsulation echo "Checking LLC/SNAP ARP response packet decode using $SAMPLE04 ..." cat >$EXAMPLEOUTPUT <<_EOF_ 127.0.0.1 08:00:2b:06:07:08 DIGITAL EQUIPMENT CORPORATION (802.2 LLC/SNAP) _EOF_ ARPARGS="--retry=1 --ouifile=$srcdir/ieee-oui.txt --iabfile=$srcdir/ieee-iab.txt --macfile=$srcdir/mac-vendor.txt" $srcdir/arp-scan $ARPARGS --readpktfromfile=$SAMPLE04 127.0.0.1 | grep -v '^Starting arp-scan ' | grep -v '^Interface: ' | grep -v '^Ending arp-scan ' | grep -v '^[0-9]* packets received ' > $ARPSCANOUTPUT 2>&1 if test $? -ne 0; then rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT echo "FAILED" exit 1 fi cmp -s $ARPSCANOUTPUT $EXAMPLEOUTPUT if test $? -ne 0; then rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT echo "FAILED" exit 1 fi echo "ok" rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT # 56 ARP responses from a Class-C sized network with various vendors echo "Checking 192.168.1.0/24 ARP response packet decode using $SAMPLE05 ..." cat >$EXAMPLEOUTPUT <<_EOF_ 192.168.1.3 00:0b:cd:26:aa:78 Hewlett Packard 192.168.1.4 00:08:02:e2:e3:2b Hewlett Packard 192.168.1.7 00:0b:cd:3d:4f:2a Hewlett Packard 192.168.1.5 00:02:a5:90:c3:e6 Hewlett Packard 192.168.1.6 00:c0:9f:3f:3d:70 QUANTA COMPUTER, INC. 192.168.1.8 00:02:a5:a9:27:29 Hewlett Packard 192.168.1.9 00:02:a5:f9:33:8d Hewlett Packard 192.168.1.10 00:08:02:89:b3:cb Hewlett Packard 192.168.1.11 00:0f:1f:5c:d1:13 WW PCBA Test 192.168.1.12 00:02:a5:de:c2:17 Hewlett Packard 192.168.1.14 00:c0:9f:0b:91:d1 QUANTA COMPUTER, INC. 192.168.1.13 00:08:02:1f:0e:42 Hewlett Packard 192.168.1.16 00:18:8b:7a:fe:28 Dell 192.168.1.17 00:12:3f:d4:41:86 Dell Inc 192.168.1.18 00:21:9b:18:bd:e2 Dell Inc 192.168.1.20 00:21:70:0a:5d:42 Dell Inc 192.168.1.22 00:12:3f:27:bb:ae Dell Inc 192.168.1.21 00:25:64:e7:ad:e2 Dell Inc. 192.168.1.23 00:21:70:0b:34:c8 Dell Inc 192.168.1.24 00:1a:a0:9e:fd:06 Dell Inc 192.168.1.26 00:08:74:bb:2a:33 Dell Computer Corp. 192.168.1.25 00:25:64:e7:b3:d6 Dell Inc. 192.168.1.28 00:18:8b:7a:fe:82 Dell 192.168.1.31 00:12:3f:d4:41:85 Dell Inc 192.168.1.35 00:12:3f:26:72:eb Dell Inc 192.168.1.37 00:18:8b:7a:fe:10 Dell 192.168.1.43 00:12:3f:d4:40:ae Dell Inc 192.168.1.41 00:12:3f:ae:bd:02 Dell Inc 192.168.1.48 00:12:3f:ae:a3:c5 Dell Inc 192.168.1.51 00:08:74:c0:40:ce Dell Computer Corp. 192.168.1.49 00:0f:1f:5c:c2:ae WW PCBA Test 192.168.1.68 f0:4d:a2:84:7c:07 Dell Inc. 192.168.1.73 00:11:25:83:92:e9 IBM Corp 192.168.1.89 00:21:9b:18:a4:84 Dell Inc 192.168.1.102 00:25:64:3d:98:5a Dell Inc. 192.168.1.104 00:0c:29:ec:85:39 VMware, Inc. 192.168.1.105 00:13:72:09:ad:76 Dell Inc. 192.168.1.148 00:90:27:9d:2a:0b INTEL CORPORATION 192.168.1.154 00:0c:30:85:58:9d Cisco 192.168.1.155 00:10:db:74:d0:52 Juniper Networks, Inc. 192.168.1.187 00:00:aa:a1:b3:60 XEROX CORPORATION 192.168.1.189 00:14:38:93:93:7e Hewlett Packard 192.168.1.196 00:15:99:5d:d5:26 Samsung Electronics Co., LTD 192.168.1.195 00:15:99:61:08:30 Samsung Electronics Co., LTD 192.168.1.202 00:d0:b7:25:61:6c INTEL CORPORATION 192.168.1.204 00:11:43:0f:f2:dd DELL INC. 192.168.1.205 00:02:b3:91:20:2a Intel Corporation 192.168.1.207 00:12:3f:ec:cf:a0 Dell Inc 192.168.1.206 00:c0:9f:39:f7:f2 QUANTA COMPUTER, INC. 192.168.1.222 00:90:27:9d:48:90 INTEL CORPORATION 192.168.1.192 00:01:e6:27:27:6e Hewlett-Packard Company 192.168.1.234 00:c0:9f:0d:00:9a QUANTA COMPUTER, INC. 192.168.1.245 00:0b:5f:d2:34:21 Cisco Systems 192.168.1.246 00:13:80:53:cd:79 Cisco Systems 192.168.1.250 00:12:00:2f:18:c0 Cisco 192.168.1.251 00:04:27:6a:5d:a1 Cisco Systems, Inc. _EOF_ ARPARGS="--retry=1 --ouifile=$srcdir/ieee-oui.txt --iabfile=$srcdir/ieee-iab.txt --macfile=$srcdir/mac-vendor.txt" $srcdir/arp-scan $ARPARGS --readpktfromfile=$SAMPLE05 192.168.1.0/24 | grep -v '^Starting arp-scan ' | grep -v '^Interface: ' | grep -v '^Ending arp-scan ' | grep -v '^[0-9]* packets received ' > $ARPSCANOUTPUT 2>&1 if test $? -ne 0; then rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT echo "FAILED" exit 1 fi cmp -s $ARPSCANOUTPUT $EXAMPLEOUTPUT if test $? -ne 0; then rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT echo "FAILED" exit 1 fi echo "ok" rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT # Simple ARP response packet using IPstart-IPend target syntax echo "Checking IP range ARP response packet decode using $SAMPLE01 ..." cat >$EXAMPLEOUTPUT <<_EOF_ 127.0.0.1 08:00:2b:06:07:08 DIGITAL EQUIPMENT CORPORATION _EOF_ ARPARGS="--retry=1 --ouifile=$srcdir/ieee-oui.txt --iabfile=$srcdir/ieee-iab.txt --macfile=$srcdir/mac-vendor.txt" $srcdir/arp-scan $ARPARGS --readpktfromfile=$SAMPLE01 127.0.0.1-127.0.0.9 | grep -v '^Starting arp-scan ' | grep -v '^Interface: ' | grep -v '^Ending arp-scan ' | grep -v '^[0-9]* packets received ' > $ARPSCANOUTPUT 2>&1 if test $? -ne 0; then rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT echo "FAILED" exit 1 fi cmp -s $ARPSCANOUTPUT $EXAMPLEOUTPUT if test $? -ne 0; then rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT echo "FAILED" exit 1 fi echo "ok" rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT # Simple ARP response packet using network:mask target syntax # We use a /22 (255.255.252.0) because this gives more than 1000 hosts, which # causes the list allocation code to call realloc(). echo "Checking IP net:mask ARP response packet decode using $SAMPLE01 ..." cat >$EXAMPLEOUTPUT <<_EOF_ 127.0.0.1 08:00:2b:06:07:08 DIGITAL EQUIPMENT CORPORATION _EOF_ ARPARGS="--retry=1 --ouifile=$srcdir/ieee-oui.txt --iabfile=$srcdir/ieee-iab.txt --macfile=$srcdir/mac-vendor.txt" $srcdir/arp-scan $ARPARGS --readpktfromfile=$SAMPLE01 127.0.0.0:255.255.252.0 | grep -v '^Starting arp-scan ' | grep -v '^Interface: ' | grep -v '^Ending arp-scan ' | grep -v '^[0-9]* packets received ' > $ARPSCANOUTPUT 2>&1 if test $? -ne 0; then rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT echo "FAILED" exit 1 fi cmp -s $ARPSCANOUTPUT $EXAMPLEOUTPUT if test $? -ne 0; then rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT echo "FAILED" exit 1 fi echo "ok" rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT # Simple ARP response packet with trailer ARP reply. echo "Checking trailer ARP response packet decode using $SAMPLE06 ..." cat >$EXAMPLEOUTPUT <<_EOF_ 127.0.0.1 08:00:2b:12:34:56 DIGITAL EQUIPMENT CORPORATION 127.0.0.1 08:00:2b:12:34:56 DIGITAL EQUIPMENT CORPORATION (ARP Proto=0x1000) (DUP: 2) _EOF_ ARPARGS="--retry=1 --ouifile=$srcdir/ieee-oui.txt --iabfile=$srcdir/ieee-iab.txt --macfile=$srcdir/mac-vendor.txt" $srcdir/arp-scan $ARPARGS --readpktfromfile=$SAMPLE06 127.0.0.1 | grep -v '^Starting arp-scan ' | grep -v '^Interface: ' | grep -v '^Ending arp-scan ' | grep -v '^[0-9]* packets received ' > $ARPSCANOUTPUT 2>&1 if test $? -ne 0; then rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT echo "FAILED" exit 1 fi cmp -s $ARPSCANOUTPUT $EXAMPLEOUTPUT if test $? -ne 0; then rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT echo "FAILED" exit 1 fi echo "ok" rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT # 802.1Q LLC ARP response packet echo "Checking 802.1Q LLC ARP response packet decode using $SAMPLE07 ..." cat >$EXAMPLEOUTPUT <<_EOF_ 127.0.0.1 08:00:2b:06:07:08 DIGITAL EQUIPMENT CORPORATION (802.2 LLC/SNAP) (802.1Q VLAN=100) _EOF_ ARPARGS="--retry=1 --ouifile=$srcdir/ieee-oui.txt --iabfile=$srcdir/ieee-iab.txt --macfile=$srcdir/mac-vendor.txt" $srcdir/arp-scan $ARPARGS --readpktfromfile=$SAMPLE07 127.0.0.1 | grep -v '^Starting arp-scan ' | grep -v '^Interface: ' | grep -v '^Ending arp-scan ' | grep -v '^[0-9]* packets received ' > $ARPSCANOUTPUT 2>&1 if test $? -ne 0; then rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT echo "FAILED" exit 1 fi cmp -s $ARPSCANOUTPUT $EXAMPLEOUTPUT if test $? -ne 0; then rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT echo "FAILED" exit 1 fi echo "ok" rm -f $ARPSCANOUTPUT rm -f $EXAMPLEOUTPUT arp-scan-1.8.1/get-oui0000774000175000017500000001033711512307725011455 00000000000000#!/usr/bin/env perl # # Copyright 2006-2011 Roy Hills # # This file is part of arp-scan. # # arp-scan is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # arp-scan is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with arp-scan. If not, see . # # $Id: get-oui 18078 2011-01-09 10:37:07Z rsh $ # # get-oui -- Fetch the OUI file from the IEEE website # # Author: Roy Hills # Date: 16 March 2006 # # This script downloads the Ethernet OUI file from the IEEE website, and # converts it to the format needed by arp-scan. # use warnings; use strict; use Getopt::Std; use LWP::Simple; # my $default_url = 'http://standards.ieee.org/regauth/oui/oui.txt'; my $default_filename='ieee-oui.txt'; # my $usage = qq/Usage: get-oui [options] Fetch the Ethernet OUI file from the IEEE website, and save it in the format used by arp-scan. 'options' is one or more of: -h Display this usage message. -f FILE Specify the output OUI file. Default=$default_filename -u URL Specify the URL to fetch the OUI data from. Default=$default_url -v Give verbose progress messages. /; my %opts; my $verbose; my $filename; my $url; my $lineno = 0; # # Process options # die "$usage\n" unless getopts('hf:v',\%opts); if ($opts{h}) { print "$usage\n"; exit(0); } if (defined $opts{f}) { $filename=$opts{f}; } else { $filename=$default_filename; } if (defined $opts{u}) { $url=$opts{u}; } else { $url=$default_url; } $verbose=$opts{v} ? 1 : 0; # # If the output filename already exists, rename it to filename.bak before # we create the new output file. # if (-f $filename) { print "Renaming $filename to $filename.bak\n" if $verbose; rename $filename, "$filename.bak" || die "Could not rename $filename to $filename.bak\n"; } # # Fetch the content from the URL # print "Fetching OUI data from $url\n" if $verbose; my $content = get $url; die "Could not get OUI data from $url\n" unless defined $content; my $content_length = length($content); die "Zero-sized response from from $url\n" unless ($content_length > 0); print "Fetched $content_length bytes\n" if $verbose; # # Open the output file for writing. # print "Opening output file $filename\n" if $verbose; open OUTPUT, ">$filename" || die "Could not open $filename for writing"; # # Write the header comments to the output file. # my ($sec,$min,$hour,$mday,$mon,$year,undef,undef,undef) = localtime(); $year += 1900; $mon++; my $date_string = sprintf("%04d-%02d-%02d %02d:%02d:%02d", $year, $mon, $mday, $hour, $min, $sec); my $header_comments = qq/# ieee-oui.txt -- Ethernet vendor OUI file for arp-scan # # This file contains the Ethernet vendor OUIs for arp-scan. These are used # to determine the vendor for a give Ethernet interface given the MAC address. # # Each line of this file contains an OUI-vendor mapping in the form: # # # # Where is the first three bytes of the MAC address in hex, and # is the name of the vendor. # # Blank lines and lines beginning with "#" are ignored. # # This file was automatically generated by get-oui at $date_string # using data from $url # # Do not edit this file. If you want to add additional MAC-Vendor mappings, # edit the file mac-vendor.txt instead. # /; print OUTPUT $header_comments; # # Parse the content received from the URL, and write the OUI entries to the # output file. Match lines that look like this: # 00-00-00 (hex) XEROX CORPORATION # and write them to the output file looking like this: # 000000 XEROX CORPORATION # while ($content =~ m/^(\w+)-(\w+)-(\w+)\s+\(hex\)\s+(.*)$/gm) { print OUTPUT "$1$2$3\t$4\n"; $lineno++; } # # All done. Close the output file and print OUI entry count # close OUTPUT || die "Error closing output file\n"; print "$lineno OUI entries written to file $filename\n" if $verbose; arp-scan-1.8.1/mt19937ar.c0000774000175000017500000001443410606662054011711 00000000000000/* $Id: mt19937ar.c 10534 2007-04-10 10:17:13Z rsh $ A C-program for MT19937, with initialization improved 2002/1/26. Coded by Takuji Nishimura and Makoto Matsumoto. Before using, initialize the state by using init_genrand(seed) or init_by_array(init_key, key_length). Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The names of its contributors may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Any feedback is very welcome. http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space) */ #include /* Period parameters */ #define N 624 #define M 397 #define MATRIX_A 0x9908b0dfUL /* constant vector a */ #define UPPER_MASK 0x80000000UL /* most significant w-r bits */ #define LOWER_MASK 0x7fffffffUL /* least significant r bits */ static unsigned long mt[N]; /* the array for the state vector */ static int mti=N+1; /* mti==N+1 means mt[N] is not initialized */ /* initializes mt[N] with a seed */ void init_genrand(unsigned long s) { mt[0]= s & 0xffffffffUL; for (mti=1; mti> 30)) + mti); /* See Knuth TAOCP Vol2. 3rd Ed. P.106 for multiplier. */ /* In the previous versions, MSBs of the seed affect */ /* only MSBs of the array mt[]. */ /* 2002/01/09 modified by Makoto Matsumoto */ mt[mti] &= 0xffffffffUL; /* for >32 bit machines */ } } /* initialize by an array with array-length */ /* init_key is the array for initializing keys */ /* key_length is its length */ /* slight change for C++, 2004/2/26 */ void init_by_array(unsigned long init_key[], int key_length) { int i, j, k; init_genrand(19650218UL); i=1; j=0; k = (N>key_length ? N : key_length); for (; k; k--) { mt[i] = (mt[i] ^ ((mt[i-1] ^ (mt[i-1] >> 30)) * 1664525UL)) + init_key[j] + j; /* non linear */ mt[i] &= 0xffffffffUL; /* for WORDSIZE > 32 machines */ i++; j++; if (i>=N) { mt[0] = mt[N-1]; i=1; } if (j>=key_length) j=0; } for (k=N-1; k; k--) { mt[i] = (mt[i] ^ ((mt[i-1] ^ (mt[i-1] >> 30)) * 1566083941UL)) - i; /* non linear */ mt[i] &= 0xffffffffUL; /* for WORDSIZE > 32 machines */ i++; if (i>=N) { mt[0] = mt[N-1]; i=1; } } mt[0] = 0x80000000UL; /* MSB is 1; assuring non-zero initial array */ } /* generates a random number on [0,0xffffffff]-interval */ unsigned long genrand_int32(void) { unsigned long y; static unsigned long mag01[2]={0x0UL, MATRIX_A}; /* mag01[x] = x * MATRIX_A for x=0,1 */ if (mti >= N) { /* generate N words at one time */ int kk; if (mti == N+1) /* if init_genrand() has not been called, */ init_genrand(5489UL); /* a default initial seed is used */ for (kk=0;kk> 1) ^ mag01[y & 0x1UL]; } for (;kk> 1) ^ mag01[y & 0x1UL]; } y = (mt[N-1]&UPPER_MASK)|(mt[0]&LOWER_MASK); mt[N-1] = mt[M-1] ^ (y >> 1) ^ mag01[y & 0x1UL]; mti = 0; } y = mt[mti++]; /* Tempering */ y ^= (y >> 11); y ^= (y << 7) & 0x9d2c5680UL; y ^= (y << 15) & 0xefc60000UL; y ^= (y >> 18); return y; } /* generates a random number on [0,0x7fffffff]-interval */ long genrand_int31(void) { return (long)(genrand_int32()>>1); } /* generates a random number on [0,1]-real-interval */ double genrand_real1(void) { return genrand_int32()*(1.0/4294967295.0); /* divided by 2^32-1 */ } /* generates a random number on [0,1)-real-interval */ double genrand_real2(void) { return genrand_int32()*(1.0/4294967296.0); /* divided by 2^32 */ } /* generates a random number on (0,1)-real-interval */ double genrand_real3(void) { return (((double)genrand_int32()) + 0.5)*(1.0/4294967296.0); /* divided by 2^32 */ } /* generates a random number on [0,1) with 53-bit resolution*/ double genrand_res53(void) { unsigned long a=genrand_int32()>>5, b=genrand_int32()>>6; return(a*67108864.0+b)*(1.0/9007199254740992.0); } /* These real versions are due to Isaku Wada, 2002/01/09 added */ #ifdef MT19937AR_TESTING int main(void) { int i; unsigned long init[4]={0x123, 0x234, 0x345, 0x456}, length=4; init_by_array(init, length); printf("1000 outputs of genrand_int32()\n"); for (i=0; i<1000; i++) { printf("%10lu ", genrand_int32()); if (i%5==4) printf("\n"); } printf("\n1000 outputs of genrand_real2()\n"); for (i=0; i<1000; i++) { printf("%10.8f ", genrand_real2()); if (i%5==4) printf("\n"); } return 0; } #endif arp-scan-1.8.1/COPYING0000664000175000017500000010451311512303045011201 00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . arp-scan-1.8.1/ChangeLog0000664000175000017500000004613711604415111011727 00000000000000$Id: ChangeLog 18259 2011-07-04 19:53:43Z rsh $ 2011-07-04 Roy Hills * Makefile.am: Added pkt-custom-request-vlan-llc.dat to EXTRA_DIST. 2011-03-07 Roy Hills * configure.ac: Incremented version to 1.8.1. 2011-03-01 Roy Hills * Released arp-scan version 1.8. tarball arp-scan-1.8.tar.gz, size 430221 bytes md5sum be8826574ec566217eb7ca040fe472f9 * configure.ac: Remove version number from AM_INIT_AUTOMAKE macro, as this usage is obsolete now. Incremented version to 1.8. * ieee-oui.txt, ieee-iab.txt: Updated IEEE OUI and IAB listings from IEEE website using get-oui and get-iab Perl scripts. 2011-02-26 Roy Hills * pkt-custom-request-vlan-llc.dat: New data file for check-packet script containing custom ARP request with 802.1Q VLAN tag and LLC/SNAP framing. * check-packet: Added check for custom ARP request with 802.1Q VLAN tag and LLC/SNAP framing. 2011-02-25 Roy Hills * pkt-vlan-llc-response.pcap: New file containing an example of an ARP reply with 802.1Q tag and LLC/SNAP framing. From a Cisco 2621 router. * pkt-trailer-response.pcap: Renamed from pkt-trailer-reply.pcap. * check-decode: New checks for trailer response and 802.1Q/LLC responses. * arp-scan.c: Modified pcap filter string to capture ARP responses with both 802.1Q tag and LLC/SNAP framing. * Makefile.am: Include pkt-trailer-response.pcap and pkt-vlan-llc-response.pcap. 2011-02-21 Roy Hills * arp-scan.c: Modified usage() so that it can output either brief or detailed help output depending on a new "detailed" argument. Now, detailed output, including information on the available options, is only displayed when arp-scan is run with the --help option. For error conditions such as incorrect options, it only produces brief output. * arp-scan.c: Modify display_packet() to report responses where the ARP protocol type (ar$pro) is not IP (0x0800). This allows trailer negotiation responses to be distinguished from regular ARP replies. * pkt-trailer-reply.pcap: New file containing an example of a trailer negotiation ARP response from a Quasijarus 4.3BSD system on SIMH VAX. * arp-fingerprint: Added fingerprint for Blackberry OS. 2011-02-19 Roy Hills * arp-scan.h: On Apple Mac OS X systems with Xcode 2.5 and later, include before . * configure.ac: Increment version number to 1.7.6. 2011-02-06 Roy Hills * acinclude.m4: Changed GCC_FORTIFY_SOURCE macro so the test program doesn't include , because that header file is not present on all the operating systems that we support, e.g. OpenBSD. 2011-02-04 Roy Hills * arp-scan.c: Use pcap_get_selectable_fd() rather than pcap_fileno() to get the pcap file descriptor. * check-host-list: Added new test to check the creation of the host list. 2011-02-03 Roy Hills * arp-scan.c: When using --writepkttofile we no longer open a link layer socket or a pcap handle, so we don't need root privileges. * check-packet: Remove check for root privileges as this is no longer needed. * check-decode: Added two new tests to improve code coverage. * arp-scan.c, arp-scan.h: Modify add_host_pattern() and add_host() so we always use the more efficient inet_pton() rather than get_host_address() for IPnet/bits, IPnet:mask and IPstart-IPend patterns. 2011-02-02 Roy Hills * arp-scan.c: Change operation of --readpktfromfile so it reads from a pcap savefile rather than from a raw file. * pkt-simple-response.pcap, pkt-padding-response.pcap, pkt-vlan-response.pcap, pkt-llc-response.pcap: New pcap format files for check-decode. * check-decode: Modified to use new pcap format savefiles, and remove check for root privileges as this is no longer needed. 2011-01-31 Roy Hills * link-dlpi.c: Fix "comparison between signed and unsigned" warning in function dlpi_msg. * arp-fingerprint: Added fingerprint for Windows 7. * arp-scan.c: Changed what gets displayed for the different verbose levels, and updated the --help output to reflect the new behaviour. 2011-01-30 Roy Hills * check-packet, check-decode: New checks to check packet creation and packet decoding. * pkt-custom-request.dat, pkt-custom-request-llc.dat, pkt-custom-request-padding.dat, pkt-custom-request-vlan.dat, pkt-padding-response.dat, pkt-simple-request.dat, pkt-simple-response.dat: Data files for check-packet and check-decode scripts. * Makefile.am: Add new check scripts and data files. * arp-scan.c, arp-scan.h: Added undocumented options --writepkttofile and --readpktfromfile to allow data to be written to or read from a file instead of the network for testing. * arp-scan.c: Use "stdin" instead of fdopen(0,"r") when using --filename=-, fixing a bug which was causing fd 0 to be closed. Set the frame type correctly for LLC/SNAP format frames: before it was always set to 0x0806. * configure.ac: Add headers required for --writepkttofile and --readpktfromfile. Increment version number to 1.7.5. 2011-01-09 Roy Hills * COPYING: Changed license from GPLv2 to GPLv3. * Modified licence statement in source files to specify GPLv3 * Modified copyright statement in files to include up to 2011. 2010-12-22 Roy Hills * arp-scan.c: Change req_interval back from unsigned to int. This addresses a bug in the timing code that was introduced in svn r18043, which caused the packet rate to be very high irrespective of the specified interval. * configure.ac: Enable -Wextra warnings for gcc. Increment version number to 1.7.4. 2010-12-22 Roy Hills * hash.c, hash.h, obstack.c, obstack.h: Updated version of GAS hash table code to the latest version from GNU binutils 2.21. This new version addresses the shadowed variable warnings that the old version used to produce when compiled with -Wshadow. * configure.ac: define ATTRIBUTE_UNUSED macro to enable portable use of attribute unused to mark possibly unused function arguments. * arp-scan.c: Minor changes to remove a couple of shadowed variable warnings. 2010-12-07 Roy Hills * acinclude.m4: Added GCC_WEXTRA macro to determine if the C compiler supports the -Wextra switch to enable extra warnings. * arp-scan.c, arp-scan.h, utils.c: Remove unused function parameters and address signed/unsigned comparisons highlighted by -Wextra. 2010-12-03 Roy Hills * arp-scan.1: Added warning about setting ar$spa to the destination IP address. Suggested by Ed Schaller. 2010-04-25 Roy Hills * arp-fingerprint: Added 2.11BSD 2009-08-15 Roy Hills * arp-scan.c, utils.c: Improve handling of --bandwidth and --interval options: Allow either upper or lowercase multiplier letters and give an error if an unknown multiplier character is used. Previously an unknown multiplier character or one with the wrong case was silently ignored and treated as no multiplier at all. * wrappers.c: Change Strtoul and Strtol so they give an error if the underlying function finishes at an unconvertible character other than NULL or whitespace. * configure.ac: Added extra warning "-Wwrite-strings" for gcc. 2009-08-14 Roy Hills * arp-scan.c, arp-scan.h, configure.ac, error.c: Removed syslog functionality as this is not used and has been #ifdef'ed out for some time. 2009-05-06 Roy Hills * autoconf.ac: Updated to autoconf 2.61 2009-03-06 Roy Hills * acinclude.m4: Added macros to detect compiler support for -fstack-protect, -D_FORTIFY_SOURCE and -Wformat-security. * configure.ac: Conditionally enable compiler flags for -fstack-protect, -D_FORTIFY_SOURCE and -Wformat-security using the new acinclude.m4 autoconf macros. * configure.ac: Incremented version to 1.7.2. 2008-08-01 Roy Hills * arp-fingerprint get-iab get-oui: Replaced "#!/usr/bin/perl" shebang with "#!/usr/bin/env perl" to increase portability. This allows these perl scripts to work on systems where perl is not installed in /usr/bin, such as NetBSD. 2008-07-26 Roy Hills * configure.ac: Incremented version to 1.7.1. * arp-fingerprint: Added NetBSD 4.0, FreeBSD 7.0 and Vista SP1 2008-07-25 Roy Hills * Released arp-scan version 1.7. tarball arp-scan-1.7.tar.gz, size 344,771 bytes md5sum a9927dba2b1dbdfd1c3b3bb09615fc14 2008-07-24 Roy Hills * ieee-oui.txt, ieee-iab.txt: Updated IEEE OUI and IAB listings from IEEE website using get-oui and get-iab Perl scripts. * configure.ac: Incremented version to 1.7. 2008-07-11 Roy Hills * arp-scan.a: Removed reference to RMIF environment variable. arp-scan now uses the value specified with --interface, or if that is not specified, picks an interface with pcap_lookupdev(). * configure.ac: Incremented version to 1.6.4 for pre-release testing. * *.c, *.h: Modified copyright statements to read 2005-2008. 2008-05-03 Roy Hills * arp-scan.c: Added --pcapsavefile (-W) option to allow received ARP responses to be saved in the specified pcap savefile for later analysis. * TODO: Removed plan to support libpcap 0.7 as just about every system has at least libpcap 0.8, and most have 0.9. * arp-scan.c: changed display_packet() so it displays the source address from the frame header in parens if it is different from the ar$sha address. E.g. 192.168.1.255 ff:ff:ff:ff:ff:ff (00:03:a0:88:eb:a8) Broadcast 2007-12-10 Roy Hills * arp-scan.c: Change most calls to strtol() to use the new wrapper function Strtol() instead, because this checks for errors. Previously, a non-numeric value would be converted to zero without any error, meaning something like "--snap=xxx" would be silently accepted. Now such invalid inputs results in an error. * arp-scan.c: Added new --vlan (-Q) option to support sending ARP packets with an 802.1Q VLAN tag. Response packets with an 802.1Q tag are decoded and displayed irrespective of this option. 2007-04-17 Roy Hills * arp-scan.h: Reduced MAX_FRAME from 65536 to 2048 bytes. * arp-scan.c: Add the optional padding in marshal_arp_pkt(), and avoid potential buffer overflow if padding is longer than the remaining buffer size. * arp-scan.c: Changed display_packet() to take ARP structure, extra data and framing type as parameters passed from callback() to avoid having to call unmarshal_arp_pkt() twice. This also means that we don't need to pass the raw frame to display_packet() now as it has the data in individual variables. * arp-scan.c: Move padding addition to marshal_arp_pkt(). 2007-04-14 Roy Hills * arp-scan.h, arp-scan.c: Changed MAXIP to MAX_FRAME and changed value to 65536 bytes. This is the maximum allowable frame size, which is used to size read/write buffers. This is much larger than any layer-2 frame. * arp-scan.h: Changed PACKET_OVERHEAD to 18 (6+6+2 ... +4) and MINIMUM_FRAME_SIZE to 46. * arp-scan.h: undefine SYSLOG, as we don't use this any more, and I doubt that anyone else needs it. The syslog functionality may be removed in a future release. 2007-04-13 Roy Hills * arp-scan.c: Added support for RFC 1042 LLC/SNAP framing with the new --llc (-L) option. 2007-04-12 Roy Hills * Released arp-scan version 1.6. tarball arp-scan-1.6.tar.gz, size 319,566 bytes md5sum eb24303c6eb4d77c3abf23511efce642 2007-04-10 Roy Hills * mt19937ar.c: New file - Mersenne Twister random number generator. * arp-scan.c: Changed random number implementation to use the mersenne twister functions from mt19937ar.c rather than random() from the C library. This improves portability, as random() is not part of standard C. * Updated ieee-oui.txt and ieee-iab.txt from the IEEE website using get-oui and get-iab Perl scripts. 2007-04-08 Roy Hills * utils.c: Removed ununsed function printable(). * arp-scan.c: Added /* NOTREACHED */ comments in appropriate places. Removed unneeded max_iter global variable. Added call to pcap_lib_version() in arp_scan_version(). * configure.ac: Changed check for pcap_datalink_val_to_name() to check for pcap_lib_version() instead. 2007-04-06 Roy Hills * configure.ac: Added checks for strlcat and strlcpy, with replacement functions using the OpenBSD implementations if they are not present. * strlcat.c, strlcpy.c: New source files from the OpenBSD source at http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/string * *.c: replaced most calls to strcat and strncat with strlcat, and calls to strcpy and strncpy with strlcpy. Two calls to strncpy remain because the source strings are not null terminated. 2007-04-05 Roy Hills * arp-scan.c: Check the return status of pcap_dispatch() against -1 rather than < 0 to check for error because the use of pcap_breakloop results in a return status of -2, and this is not an error. Even though we don't use pcap_breakloop, we should still behave correctly if it used in the future. * arp-scan.c: Check return status of inet_pton() separately against < 0, which indicates and error, and against == 0, which indicates that the string is not a valid address. Previously we handled these together with the comparison <= 0. Also return from add_host() immediately if the host lookup fails. 2007-04-04 Roy Hills * arp-fingerprint: Check that the target host specification is not an IP network or range, and terminate with an error message if it is. Some users have mistakenly tried to use arp-fingerprint against a network, and I want to give a better error message in these cases. * arp-fingerprint: Remove the default "-N" from the arp-scan command line as it is valid to use a hostname. Modified the associated manpage so it agrees with this change. 2007-04-03 Roy Hills * arp-scan.c: Add ioctl to reduce the bufmod timeout to zero for Solaris (DLPI). This prevents buffering, and ensures that packets are available immediately. This allows arp-scan to work on Solaris (tested on Solaris/SPARC 2.9 with Libpcap 0.9.5). 2007-03-29 Roy Hills * arp-scan.c: Change help output, so we display the default value for the --bandwidth option, and don't display it for the --interval option (as the latter will always be zero because we use bandwidth by default). Updated arp-scan.1 manpage with the new output. 2007-02-15 Roy Hills * link-dlpi.c: Wrote link-level functions for DLPI. Compiles on Solaris 9, but not fully tested. 2007-01-26 Roy Hills * Updated ieee-oui.txt and ieee-iab.txt from the IEEE website using get-oui and get-iab Perl scripts. 2006-07-26 Roy Hills * Released version 1.5. Tarball details: -rw-rw-r-- 1 rsh nta 298917 2006-07-26 13:50 arp-scan-1.5.tar.gz 85b0e04323ce3a423f60ab905a589856 arp-scan-1.5.tar.gz Version details: $Id: ChangeLog 18259 2011-07-04 19:53:43Z rsh $ $Id: ChangeLog 18259 2011-07-04 19:53:43Z rsh $ $Id: ChangeLog 18259 2011-07-04 19:53:43Z rsh $ $Id: ChangeLog 18259 2011-07-04 19:53:43Z rsh $ $Id: ChangeLog 18259 2011-07-04 19:53:43Z rsh $ * configure.ac: Incremented version number to 1.5.1 in preparation for post-1.5 changes. 2006-07-24 Roy Hills * ieee-oui.txt, ieee-iab.txt: Updated IEEE OUI and IAB listings from IEEE website using get-oui and get-iab Perl scripts. 2006-07-22 Roy Hills * configure.ac: Increased version number to 1.4.5. * README: Added installation instructions. 2006-07-21 Roy Hills * link-bpf.c: New file containing link-level sending functions for BPF as used by BSD OSes. * link-packet-socket.c: Changed socket protocol from SOCK_DGRAM to SOCK_RAW, so the entire Ethernet frame including the header can be controlled. * arp-scan.c: Changed to build entire outgoing frame, rather than just the ARP payload. * arp-scan.c: Modifications to support BPF link-layer. This has been tested on FreeBSD 6.1, OpenBSD 3.9, NetBSD 3.0.1 and Darwin 7.9.0 (MacOS 10.3.9). * arp-scan.c: Changed operation of the --srcaddr option. Now it sets the hardware address in the frame header of outgoing packets without altering the address of the outgoing interface. * link-packet-socket.c, link-bpf.c: Removed set_hardware_address() function, as this is no longer needed with the new operation of the --srcaddr option. 2006-07-11 Roy Hills * arp-scan.c: Removed unneeded gettimeofday() call in add_host(). This increases the host addition rate considerably, so adding a class-A network (2^24 hosts) now takes 15 seconds as opposed to 80 seconds. 2006-07-10 Roy Hills * arp-scan.h, arp-scan.c: Removed unneeded element "n" from host entry structure. This reduces the per-host memory usage from 32 bytes per host to 28 bytes per host. * mac-vendor.5: New manual page for the mac-vendor.txt file format. 2006-07-03 Roy Hills * link-packet-socket.c: New file containing all functions that use Linux packet socket link layer interface. This moves all the packet-socket implementation dependent to this one file, which should make future porting to other operating systems easier. * arp-scan.c, arp-scan.h: Modified to use link-layer functions in new link-packet-socket.c file. * configure.ac: Increased version number to 1.4.2. 2006-06-28 Roy Hills * arp-scan.c, arp-scan.h: removed the unneeded ip_address union and replaced it with "struct in_addr". As arp-scan is only applicable to IPv4, we don't need to use the union. This change reduces the size of an address from 16 bytes to 4, and reduces the per-host memory usage from 44 bytes/host to 32. * arp-fingerprint: Added Windows Vista Beta 2 fingerprint. 2006-06-27 Roy Hills * configure.ac: Increase version number to 1.4.1 in preparation for future changes. 2006-06-26 Roy Hills * Released version 1.4. This is the first stable version. v1.3 was a beta, and v1.0, 1.1 and 1.2 were NTA Monitor internal versions before it was released under GPL. arp-scan-1.8.1/pkt-net1921681-response.pcap0000644000175000017500000001030011522230671014776 00000000000000Ôò¡@¥-IM×l <<ÀŸ ¸Û Í&ªx Í&ªxÀ¨ÀŸ ¸ÛÀ¨¥-IM_| <<ÀŸ ¸Ûâã+âã+À¨ÀŸ ¸ÛÀ¨¥-IMQŒ <<ÀŸ ¸Û Í=O* Í=O*À¨ÀŸ ¸ÛÀ¨¥-IMXŒ <<ÀŸ ¸Û¥Ãæ¥ÃæÀ¨ÀŸ ¸ÛÀ¨¥-IMÄ <<ÀŸ ¸ÛÀŸ?=pÀŸ?=pÀ¨ÀŸ ¸ÛÀ¨¥-IMœ <<ÀŸ ¸Û¥©')¥©')À¨ÀŸ ¸ÛÀ¨¥-IMV« <<ÀŸ ¸Û¥ù3¥ù3À¨ ÀŸ ¸ÛÀ¨¥-IM\« <<ÀŸ ¸Û‰³Ë‰³ËÀ¨ ÀŸ ¸ÛÀ¨¥-IM° <<ÀŸ ¸Û\Ñ\ÑÀ¨ ÀŸ ¸ÛÀ¨¥-IMY» <<ÀŸ ¸Û¥ÞÂ¥ÞÂÀ¨ ÀŸ ¸ÛÀ¨¥-IM§Ê <<ÀŸ ¸ÛÀŸ ‘ÑÀŸ ‘ÑÀ¨ÀŸ ¸ÛÀ¨¥-IM¯Ê <<ÀŸ ¸ÛBBÀ¨ ÀŸ ¸ÛÀ¨¥-IM}Þ <<ÀŸ ¸Û‹zþ(‹zþ(À¨ÀŸ ¸ÛÀ¨¥-IM!ê <<ÀŸ ¸Û?ÔA†?ÔA†À¨ÀŸ ¸ÛÀ¨¥-IM¯ë <<ÀŸ ¸Û!›½â!›½âÀ¨ÀŸ ¸ÛÀ¨¥-IM$ÿ <<ÀŸ ¸Û!p ]B!p ]BÀ¨ÀŸ ¸ÛÀ¨¥-IM@ <<ÀŸ ¸Û?'»®?'»®À¨ÀŸ ¸ÛÀ¨¥-IMe <<ÀŸ ¸Û%dç­â%dç­âÀ¨ÀŸ ¸ÛÀ¨¥-IMl <<ÀŸ ¸Û!p 4È!p 4ÈÀ¨ÀŸ ¸ÛÀ¨¥-IM) <<ÀŸ ¸Û žý žýÀ¨ÀŸ ¸ÛÀ¨¥-IMº( <<ÀŸ ¸Ût»*3t»*3À¨ÀŸ ¸ÛÀ¨¥-IMÀ( <<ÀŸ ¸Û%dç³Ö%dç³ÖÀ¨ÀŸ ¸ÛÀ¨¥-IME< <<ÀŸ ¸Û‹zþ‚‹zþ‚À¨ÀŸ ¸ÛÀ¨¥-IMÉG <<ÀŸ ¸Û?ÔA…?ÔA…À¨ÀŸ ¸ÛÀ¨¥-IMg <<ÀŸ ¸Û?&rë?&rëÀ¨#ÀŸ ¸ÛÀ¨¥-IMeŠ <<ÀŸ ¸Û‹zþ‹zþÀ¨%ÀŸ ¸ÛÀ¨¥-IMz¥ <<ÀŸ ¸Û?Ô@®?Ô@®À¨+ÀŸ ¸ÛÀ¨¥-IM¥ <<ÀŸ ¸Û?®½?®½À¨)ÀŸ ¸ÛÀ¨¥-IM‚Ø <<ÀŸ ¸Û?®£Å?®£ÅÀ¨0ÀŸ ¸ÛÀ¨¥-IMä <<ÀŸ ¸ÛtÀ@ÎtÀ@ÎÀ¨3ÀŸ ¸ÛÀ¨¥-IM ä <<ÀŸ ¸Û\®\®À¨1ÀŸ ¸ÛÀ¨¥-IM¿t<<ÀŸ ¸ÛðM¢„|ðM¢„|À¨DÀŸ ¸ÛÀ¨¥-IM ¤<<ÀŸ ¸Û%ƒ’é%ƒ’éÀ¨IÀŸ ¸ÛÀ¨¥-IM­ <<ÀŸ ¸Û!›¤„!›¤„À¨YÀŸ ¸ÛÀ¨¦-IM”<<<ÀŸ ¸Û%d=˜Z%d=˜ZÀ¨fÀŸ ¸ÛÀ¨¦-IM"H<<ÀŸ ¸Û )ì…9 )ì…9À¨hÀŸ ¸ÛÀ¨¦-IMW<<ÀŸ ¸Ûr ­vr ­vÀ¨iÀŸ ¸ÛÀ¨¦-IM±§<<ÀŸ ¸Û'* '* À¨”ÀŸ ¸ÛÀ¨¦-IMÔ<<ÀŸ ¸Û 0…X 0…XÀ¨šÀŸ ¸ÛÀ¨¦-IM:Ú<<ÀŸ ¸ÛÛtÐRÛtÐRÀ¨›ÀŸ ¸ÛÀ¨¦-IMèÛ<<ÀŸ ¸Ûª¡³`ª¡³`À¨»ÀŸ ¸ÛÀ¨¦-IMÊÞ<<ÀŸ ¸Û8““~8““~À¨½ÀŸ ¸ÛÀ¨¦-IM±<<ÀŸ ¸Û™]Õ&™]Õ&À¨ÄÀŸ ¸ÛÀ¨¦-IMº<<ÀŸ ¸Û™a0™a0À¨ÃÀŸ ¸ÛÀ¨¦-IME<<ÀŸ ¸Ûз%alз%alÀ¨ÊÀŸ ¸ÛÀ¨¦-IMY@jÀŸ ¸ÛCòÝCòÝÀ¨ÌÀŸ ¸ÛÀ¨¦-IM»h<<ÀŸ ¸Û³‘ *³‘ *À¨ÍÀŸ ¸ÛÀ¨¦-IM×i@jÀŸ ¸Û?ìÏ ?ìÏ À¨ÏÀŸ ¸ÛÀ¨¦-IM*k<<ÀŸ ¸ÛÀŸ9÷òÀŸ9÷òÀ¨ÎÀŸ ¸ÛÀ¨¦-IMŒå<<ÀŸ ¸Û'H'HÀ¨ÞÀŸ ¸ÛÀ¨¦-IMé5<<ÀŸ ¸Ûæ''næ''nÀ¨ÀÀŸ ¸ÛÀ¨¦-IMhG<<ÀŸ ¸ÛÀŸ šÀŸ šÀ¨êÀŸ ¸ÛÀ¨¦-IM@ <<ÀŸ ¸Û _Ò4! _Ò4!À¨õÀŸ ¸ÛÀ¨¦-IME <<ÀŸ ¸Û€SÍy€SÍyÀ¨öÀŸ ¸ÛÀ¨¦-IM8Ç<<ÀŸ ¸Û/À/ÀÀ¨úÀŸ ¸ÛÀ¨¦-IM’Ð<<ÀŸ ¸Û'j]¡'j]¡À¨ûÀŸ ¸ÛÀ¨arp-scan-1.8.1/get-iab.10000664000175000017500000000666010734723312011554 00000000000000.\" Copyright (C) Roy Hills, NTA Monitor Ltd. .\" .\" Copying and distribution of this file, with or without modification, .\" are permitted in any medium without royalty provided the copyright .\" notice and this notice are preserved. .\" .\" $Id: get-iab.1 7780 2006-06-20 08:32:01Z rsh $ .TH GET-IAB 1 "March 30, 2007" .\" Please adjust this date whenever revising the man page. .SH NAME get-iab \- Fetch the arp-scan IAB file from the IEEE website .SH SYNOPSIS .B get-iab .RI [ options ] .SH DESCRIPTION .B get-iab fetches the Ethernet IAB file from the IEEE website, and saves it in the format used by arp-scan. .PP The IAB file contains all of the IABs (Individual Address Blocks) that have been registered with IEEE. Each IAB entry in the file specifies the first 36-bits of the 48-bit Ethernet hardware address, leaving the remaining 12-bits for use by the registering organisation. For example the IAB entry "0050C2003", registered to Microsoft, applies to any Ethernet hardware address from .I 00:50:c2:00:30:00 to .I 00:50:c2:00:3f:ff inclusive. Each IAB assignment represents a total of 2^12 (4,096) Ethernet addresses. .PP Major Ethernet hardware vendors typically use an OUI registration rather than an IAB registration. See .BR get-oui (1) for details. .PP This script can be used to update the .B arp-scan IAB file from the latest data on the IEEE website. It is relatively rare to see Ethernet addresses from IAB registrations, so the IAB file is not as important as the OUI file. .PP The IAB data is fetched from the URL .I http://standards.ieee.org/regauth/oui/iab.txt and the output file is saved to the file .I ieee-iab.txt in the current directory. The URL to fetch the data from can be changed with the .B -u option, and the output file name can be changed with the .B -f option. .PP The .I ieee-iab.txt file that is produced by this script is used by .B arp-scan to determine the Ethernet card vendor from its hardware address. .PP The directory that .B arp-scan will look for the .I ieee-iab.txt file depends on the options used when it was built. If it was built using the default options, then it will look in .IR /usr/local/share/arp-scan . .SH OPTIONS .TP .B -h Display a brief usage message and exit. .TP .B -f Write the output to the specified file instead of the default .I ieee-iab.txt. .TP .B -u Use the specified URL to fetch the raw IAB data from instead of the default .I http://standards.ieee.org/regauth/oui/iab.txt .TP .B -v Display verbose progress messages. .SH FILES .TP .I ieee-iab.txt The default output file. .SH EXAMPLES .nf $ get-iab -v Renaming ieee-iab.txt to ieee-iab.txt.bak Fetching IAB data from http://standards.ieee.org/regauth/oui/iab.txt Fetched 230786 bytes Opening output file ieee-iab.txt 1535 IAB entries written to file ieee-iab.txt .fi .SH NOTES .B get-iab is implemented in Perl, so you need to have the Perl interpreter installed on your system to use it. .PP .B get-iab uses the .I LWP::Simple Perl module to fetch the data from the IEEE website. You must have this module installed on your system for it to work. This module is available on most distributions, often called .IR libwww-perl . It is also available in source form from CPAN. .PP You can use a proxy server by defining the .I http_proxy environment variable. .SH AUTHOR Roy Hills .SH "SEE ALSO" .TP .BR arp-scan (1) .TP .BR get-oui (1) .TP .BR arp-fingerprint (1) .PP .I http://www.nta-monitor.com/wiki/ The arp-scan wiki page. arp-scan-1.8.1/pkt-trailer-response.pcap0000644000175000017500000000027011531714000015074 00000000000000Ôò¡`ÓaMò7 @@+4V+4VÓaM : @@+4V+4Varp-scan-1.8.1/obstack.h0000644000175000017500000005064011504445312011751 00000000000000/* obstack.h - object stack macros Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@gnu.org. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ /* Summary: All the apparent functions defined here are macros. The idea is that you would use these pre-tested macros to solve a very specific set of problems, and they would run fast. Caution: no side-effects in arguments please!! They may be evaluated MANY times!! These macros operate a stack of objects. Each object starts life small, and may grow to maturity. (Consider building a word syllable by syllable.) An object can move while it is growing. Once it has been "finished" it never changes address again. So the "top of the stack" is typically an immature growing object, while the rest of the stack is of mature, fixed size and fixed address objects. These routines grab large chunks of memory, using a function you supply, called `obstack_chunk_alloc'. On occasion, they free chunks, by calling `obstack_chunk_free'. You must define them and declare them before using any obstack macros. Each independent stack is represented by a `struct obstack'. Each of the obstack macros expects a pointer to such a structure as the first argument. One motivation for this package is the problem of growing char strings in symbol tables. Unless you are "fascist pig with a read-only mind" --Gosper's immortal quote from HAKMEM item 154, out of context--you would not like to put any arbitrary upper limit on the length of your symbols. In practice this often means you will build many short symbols and a few long symbols. At the time you are reading a symbol you don't know how long it is. One traditional method is to read a symbol into a buffer, realloc()ating the buffer every time you try to read a symbol that is longer than the buffer. This is beaut, but you still will want to copy the symbol from the buffer to a more permanent symbol-table entry say about half the time. With obstacks, you can work differently. Use one obstack for all symbol names. As you read a symbol, grow the name in the obstack gradually. When the name is complete, finalize it. Then, if the symbol exists already, free the newly read name. The way we do this is to take a large chunk, allocating memory from low addresses. When you want to build a symbol in the chunk you just add chars above the current "high water mark" in the chunk. When you have finished adding chars, because you got to the end of the symbol, you know how long the chars are, and you can create a new object. Mostly the chars will not burst over the highest address of the chunk, because you would typically expect a chunk to be (say) 100 times as long as an average object. In case that isn't clear, when we have enough chars to make up the object, THEY ARE ALREADY CONTIGUOUS IN THE CHUNK (guaranteed) so we just point to it where it lies. No moving of chars is needed and this is the second win: potentially long strings need never be explicitly shuffled. Once an object is formed, it does not change its address during its lifetime. When the chars burst over a chunk boundary, we allocate a larger chunk, and then copy the partly formed object from the end of the old chunk to the beginning of the new larger chunk. We then carry on accreting characters to the end of the object as we normally would. A special macro is provided to add a single char at a time to a growing object. This allows the use of register variables, which break the ordinary 'growth' macro. Summary: We allocate large chunks. We carve out one object at a time from the current chunk. Once carved, an object never moves. We are free to append data of any size to the currently growing object. Exactly one object is growing in an obstack at any one time. You can run one obstack per control block. You may have as many control blocks as you dare. Because of the way we do it, you can `unwind' an obstack back to a previous state. (You may remove objects much as you would with a stack.) */ /* Don't do the contents of this file more than once. */ #ifndef _OBSTACK_H #define _OBSTACK_H 1 #ifdef __cplusplus extern "C" { #endif /* We use subtraction of (char *) 0 instead of casting to int because on word-addressable machines a simple cast to int may ignore the byte-within-word field of the pointer. */ #ifndef __PTR_TO_INT # define __PTR_TO_INT(P) ((P) - (char *) 0) #endif #ifndef __INT_TO_PTR # define __INT_TO_PTR(P) ((P) + (char *) 0) #endif /* We need the type of the resulting object. If __PTRDIFF_TYPE__ is defined, as with GNU C, use that; that way we don't pollute the namespace with 's symbols. Otherwise, if is available, include it and use ptrdiff_t. In traditional C, long is the best that we can do. */ #ifdef __PTRDIFF_TYPE__ # define PTR_INT_TYPE __PTRDIFF_TYPE__ #else # ifdef HAVE_STDDEF_H # include # define PTR_INT_TYPE ptrdiff_t # else # define PTR_INT_TYPE long # endif #endif #if defined _LIBC || defined HAVE_STRING_H # include # define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N)) #else # ifdef memcpy # define _obstack_memcpy(To, From, N) memcpy ((To), (char *)(From), (N)) # else # define _obstack_memcpy(To, From, N) bcopy ((char *)(From), (To), (N)) # endif #endif struct _obstack_chunk /* Lives at front of each chunk. */ { char *limit; /* 1 past end of this chunk */ struct _obstack_chunk *prev; /* address of prior chunk or NULL */ char contents[4]; /* objects begin here */ }; struct obstack /* control current object in current chunk */ { long chunk_size; /* preferred size to allocate chunks in */ struct _obstack_chunk *chunk; /* address of current struct obstack_chunk */ char *object_base; /* address of object we are building */ char *next_free; /* where to add next char to current object */ char *chunk_limit; /* address of char after current chunk */ PTR_INT_TYPE temp; /* Temporary for some macros. */ int alignment_mask; /* Mask of alignment for each object. */ /* These prototypes vary based on `use_extra_arg', and we use casts to the prototypeless function type in all assignments, but having prototypes here quiets -Wstrict-prototypes. */ struct _obstack_chunk *(*chunkfun) (void *, long); void (*freefun) (void *, struct _obstack_chunk *); void *extra_arg; /* first arg for chunk alloc/dealloc funcs */ unsigned use_extra_arg:1; /* chunk alloc/dealloc funcs take extra arg */ unsigned maybe_empty_object:1;/* There is a possibility that the current chunk contains a zero-length object. This prevents freeing the chunk if we allocate a bigger chunk to replace it. */ unsigned alloc_failed:1; /* No longer used, as we now call the failed handler on error, but retained for binary compatibility. */ }; /* Declare the external functions we use; they are in obstack.c. */ extern void _obstack_newchunk (struct obstack *, int); extern void _obstack_free (struct obstack *, void *); extern int _obstack_begin (struct obstack *, int, int, void *(*) (long), void (*) (void *)); extern int _obstack_begin_1 (struct obstack *, int, int, void *(*) (void *, long), void (*) (void *, void *), void *); extern int _obstack_memory_used (struct obstack *); /* Do the function-declarations after the structs but before defining the macros. */ void obstack_init (struct obstack *obstack); void * obstack_alloc (struct obstack *obstack, int size); void * obstack_copy (struct obstack *obstack, void *address, int size); void * obstack_copy0 (struct obstack *obstack, void *address, int size); void obstack_free (struct obstack *obstack, void *block); void obstack_blank (struct obstack *obstack, int size); void obstack_grow (struct obstack *obstack, void *data, int size); void obstack_grow0 (struct obstack *obstack, void *data, int size); void obstack_1grow (struct obstack *obstack, int data_char); void obstack_ptr_grow (struct obstack *obstack, void *data); void obstack_int_grow (struct obstack *obstack, int data); void * obstack_finish (struct obstack *obstack); int obstack_object_size (struct obstack *obstack); int obstack_room (struct obstack *obstack); void obstack_make_room (struct obstack *obstack, int size); void obstack_1grow_fast (struct obstack *obstack, int data_char); void obstack_ptr_grow_fast (struct obstack *obstack, void *data); void obstack_int_grow_fast (struct obstack *obstack, int data); void obstack_blank_fast (struct obstack *obstack, int size); void * obstack_base (struct obstack *obstack); void * obstack_next_free (struct obstack *obstack); int obstack_alignment_mask (struct obstack *obstack); int obstack_chunk_size (struct obstack *obstack); int obstack_memory_used (struct obstack *obstack); /* Error handler called when `obstack_chunk_alloc' failed to allocate more memory. This can be set to a user defined function. The default action is to print a message and abort. */ extern void (*obstack_alloc_failed_handler) (void); /* Exit value used when `print_and_abort' is used. */ extern int obstack_exit_failure; /* Pointer to beginning of object being allocated or to be allocated next. Note that this might not be the final address of the object because a new chunk might be needed to hold the final size. */ #define obstack_base(h) ((h)->object_base) /* Size for allocating ordinary chunks. */ #define obstack_chunk_size(h) ((h)->chunk_size) /* Pointer to next byte not yet allocated in current chunk. */ #define obstack_next_free(h) ((h)->next_free) /* Mask specifying low bits that should be clear in address of an object. */ #define obstack_alignment_mask(h) ((h)->alignment_mask) /* To prevent prototype warnings provide complete argument list in standard C version. */ # define obstack_init(h) \ _obstack_begin ((h), 0, 0, \ (void *(*) (long)) obstack_chunk_alloc, (void (*) (void *)) obstack_chunk_free) # define obstack_begin(h, size) \ _obstack_begin ((h), (size), 0, \ (void *(*) (long)) obstack_chunk_alloc, (void (*) (void *)) obstack_chunk_free) # define obstack_specify_allocation(h, size, alignment, chunkfun, freefun) \ _obstack_begin ((h), (size), (alignment), \ (void *(*) (long)) (chunkfun), (void (*) (void *)) (freefun)) # define obstack_specify_allocation_with_arg(h, size, alignment, chunkfun, freefun, arg) \ _obstack_begin_1 ((h), (size), (alignment), \ (void *(*) (void *, long)) (chunkfun), \ (void (*) (void *, void *)) (freefun), (arg)) # define obstack_chunkfun(h, newchunkfun) \ ((h) -> chunkfun = (struct _obstack_chunk *(*)(void *, long)) (newchunkfun)) # define obstack_freefun(h, newfreefun) \ ((h) -> freefun = (void (*)(void *, struct _obstack_chunk *)) (newfreefun)) #define obstack_1grow_fast(h,achar) (*((h)->next_free)++ = (achar)) #define obstack_blank_fast(h,n) ((h)->next_free += (n)) #define obstack_memory_used(h) _obstack_memory_used (h) #if defined __GNUC__ && defined __STDC__ && __STDC__ /* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ = 2 and does not implement __extension__. But that compiler doesn't define __GNUC_MINOR__. */ # if __GNUC__ < 2 || (__NeXT__ && !__GNUC_MINOR__) # define __extension__ # endif /* For GNU C, if not -traditional, we can define these macros to compute all args only once without using a global variable. Also, we can avoid using the `temp' slot, to make faster code. */ # define obstack_object_size(OBSTACK) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ (unsigned) (__o->next_free - __o->object_base); }) # define obstack_room(OBSTACK) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ (unsigned) (__o->chunk_limit - __o->next_free); }) # define obstack_make_room(OBSTACK,length) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ int __len = (length); \ if (__o->chunk_limit - __o->next_free < __len) \ _obstack_newchunk (__o, __len); \ (void) 0; }) # define obstack_empty_p(OBSTACK) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ (__o->chunk->prev == 0 && __o->next_free - __o->chunk->contents == 0); }) # define obstack_grow(OBSTACK,where,length) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ int __len = (length); \ if (__o->next_free + __len > __o->chunk_limit) \ _obstack_newchunk (__o, __len); \ _obstack_memcpy (__o->next_free, (where), __len); \ __o->next_free += __len; \ (void) 0; }) # define obstack_grow0(OBSTACK,where,length) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ int __len = (length); \ if (__o->next_free + __len + 1 > __o->chunk_limit) \ _obstack_newchunk (__o, __len + 1); \ _obstack_memcpy (__o->next_free, (where), __len); \ __o->next_free += __len; \ *(__o->next_free)++ = 0; \ (void) 0; }) # define obstack_1grow(OBSTACK,datum) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ if (__o->next_free + 1 > __o->chunk_limit) \ _obstack_newchunk (__o, 1); \ obstack_1grow_fast (__o, datum); \ (void) 0; }) /* These assume that the obstack alignment is good enough for pointers or ints, and that the data added so far to the current object shares that much alignment. */ # define obstack_ptr_grow(OBSTACK,datum) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ if (__o->next_free + sizeof (void *) > __o->chunk_limit) \ _obstack_newchunk (__o, sizeof (void *)); \ obstack_ptr_grow_fast (__o, datum); }) # define obstack_int_grow(OBSTACK,datum) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ if (__o->next_free + sizeof (int) > __o->chunk_limit) \ _obstack_newchunk (__o, sizeof (int)); \ obstack_int_grow_fast (__o, datum); }) # define obstack_ptr_grow_fast(OBSTACK,aptr) \ __extension__ \ ({ struct obstack *__o1 = (OBSTACK); \ *(const void **) __o1->next_free = (aptr); \ __o1->next_free += sizeof (const void *); \ (void) 0; }) # define obstack_int_grow_fast(OBSTACK,aint) \ __extension__ \ ({ struct obstack *__o1 = (OBSTACK); \ *(int *) __o1->next_free = (aint); \ __o1->next_free += sizeof (int); \ (void) 0; }) # define obstack_blank(OBSTACK,length) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ int __len = (length); \ if (__o->chunk_limit - __o->next_free < __len) \ _obstack_newchunk (__o, __len); \ obstack_blank_fast (__o, __len); \ (void) 0; }) # define obstack_alloc(OBSTACK,length) \ __extension__ \ ({ struct obstack *__h = (OBSTACK); \ obstack_blank (__h, (length)); \ obstack_finish (__h); }) # define obstack_copy(OBSTACK,where,length) \ __extension__ \ ({ struct obstack *__h = (OBSTACK); \ obstack_grow (__h, (where), (length)); \ obstack_finish (__h); }) # define obstack_copy0(OBSTACK,where,length) \ __extension__ \ ({ struct obstack *__h = (OBSTACK); \ obstack_grow0 (__h, (where), (length)); \ obstack_finish (__h); }) /* The local variable is named __o1 to avoid a name conflict when obstack_blank is called. */ # define obstack_finish(OBSTACK) \ __extension__ \ ({ struct obstack *__o1 = (OBSTACK); \ void *value; \ value = (void *) __o1->object_base; \ if (__o1->next_free == value) \ __o1->maybe_empty_object = 1; \ __o1->next_free \ = __INT_TO_PTR ((__PTR_TO_INT (__o1->next_free)+__o1->alignment_mask)\ & ~ (__o1->alignment_mask)); \ if (__o1->next_free - (char *)__o1->chunk \ > __o1->chunk_limit - (char *)__o1->chunk) \ __o1->next_free = __o1->chunk_limit; \ __o1->object_base = __o1->next_free; \ value; }) # define obstack_free(OBSTACK, OBJ) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ void *__obj = (void *) (OBJ); \ if (__obj > (void *)__o->chunk && __obj < (void *)__o->chunk_limit) \ __o->next_free = __o->object_base = (char *) __obj; \ else (obstack_free) (__o, __obj); }) #else /* not __GNUC__ or not __STDC__ */ # define obstack_object_size(h) \ (unsigned) ((h)->next_free - (h)->object_base) # define obstack_room(h) \ (unsigned) ((h)->chunk_limit - (h)->next_free) # define obstack_empty_p(h) \ ((h)->chunk->prev == 0 && (h)->next_free - (h)->chunk->contents == 0) /* Note that the call to _obstack_newchunk is enclosed in (..., 0) so that we can avoid having void expressions in the arms of the conditional expression. Casting the third operand to void was tried before, but some compilers won't accept it. */ # define obstack_make_room(h,length) \ ( (h)->temp = (length), \ (((h)->next_free + (h)->temp > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), (h)->temp), 0) : 0)) # define obstack_grow(h,where,length) \ ( (h)->temp = (length), \ (((h)->next_free + (h)->temp > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \ _obstack_memcpy ((h)->next_free, (where), (h)->temp), \ (h)->next_free += (h)->temp) # define obstack_grow0(h,where,length) \ ( (h)->temp = (length), \ (((h)->next_free + (h)->temp + 1 > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), (h)->temp + 1), 0) : 0), \ _obstack_memcpy ((h)->next_free, (where), (h)->temp), \ (h)->next_free += (h)->temp, \ *((h)->next_free)++ = 0) # define obstack_1grow(h,datum) \ ( (((h)->next_free + 1 > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), 1), 0) : 0), \ obstack_1grow_fast (h, datum)) # define obstack_ptr_grow(h,datum) \ ( (((h)->next_free + sizeof (char *) > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0), \ obstack_ptr_grow_fast (h, datum)) # define obstack_int_grow(h,datum) \ ( (((h)->next_free + sizeof (int) > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0), \ obstack_int_grow_fast (h, datum)) # define obstack_ptr_grow_fast(h,aptr) \ (((const void **) ((h)->next_free += sizeof (void *)))[-1] = (aptr)) # define obstack_int_grow_fast(h,aint) \ (((int *) ((h)->next_free += sizeof (int)))[-1] = (aptr)) # define obstack_blank(h,length) \ ( (h)->temp = (length), \ (((h)->chunk_limit - (h)->next_free < (h)->temp) \ ? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \ obstack_blank_fast (h, (h)->temp)) # define obstack_alloc(h,length) \ (obstack_blank ((h), (length)), obstack_finish ((h))) # define obstack_copy(h,where,length) \ (obstack_grow ((h), (where), (length)), obstack_finish ((h))) # define obstack_copy0(h,where,length) \ (obstack_grow0 ((h), (where), (length)), obstack_finish ((h))) # define obstack_finish(h) \ ( ((h)->next_free == (h)->object_base \ ? (((h)->maybe_empty_object = 1), 0) \ : 0), \ (h)->temp = __PTR_TO_INT ((h)->object_base), \ (h)->next_free \ = __INT_TO_PTR ((__PTR_TO_INT ((h)->next_free)+(h)->alignment_mask) \ & ~ ((h)->alignment_mask)), \ (((h)->next_free - (char *) (h)->chunk \ > (h)->chunk_limit - (char *) (h)->chunk) \ ? ((h)->next_free = (h)->chunk_limit) : 0), \ (h)->object_base = (h)->next_free, \ (void *) __INT_TO_PTR ((h)->temp)) # define obstack_free(h,obj) \ ( (h)->temp = (char *) (obj) - (char *) (h)->chunk, \ (((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)\ ? (int) ((h)->next_free = (h)->object_base \ = (h)->temp + (char *) (h)->chunk) \ : (((obstack_free) ((h), (h)->temp + (char *) (h)->chunk), 0), 0))) #endif /* not __GNUC__ or not __STDC__ */ #ifdef __cplusplus } /* C++ */ #endif #endif /* obstack.h */ arp-scan-1.8.1/check-packet0000774000175000017500000001174411532162276012433 00000000000000#!/bin/sh # The ARP Scanner (arp-scan) is Copyright (C) 2005-2011 Roy Hills, # NTA Monitor Ltd. # # This file is part of arp-scan. # # arp-scan is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # arp-scan is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with arp-scan. If not, see . # # $Id: check-packet 18137 2011-02-26 11:32:12Z rsh $ # # check-packet - Shell script to test arp-scan packet creation # # Author: Roy Hills # Date: 30 January 2011 # # This script checks that arp-scan builds ARP request packets correctly. # It uses the undocumented arp-scan option --writepkttofile to write the # packet to a file rather than sending it via the network. # TMPFILE=/tmp/arp-scan-test.$$.tmp # SAMPLE01="$srcdir/pkt-simple-request.dat" SAMPLE02="$srcdir/pkt-custom-request.dat" SAMPLE03="$srcdir/pkt-custom-request-padding.dat" SAMPLE04="$srcdir/pkt-custom-request-llc.dat" SAMPLE05="$srcdir/pkt-custom-request-vlan.dat" SAMPLE06="$srcdir/pkt-custom-request-vlan-llc.dat" echo "Checking simple ARP request packet against $SAMPLE01 ..." ARPARGS="--retry=1 --file=- --srcaddr=00:01:02:03:04:05 --arpsha=00:01:02:03:04:05 --arpspa=127.0.0.1" echo "127.0.0.1" | $srcdir/arp-scan $ARPARGS --writepkttofile=$TMPFILE >/dev/null 2>&1 if test $? -ne 0; then rm -f $TMPFILE echo "FAILED" exit 1 fi cmp -s $TMPFILE $SAMPLE01 if test $? -ne 0; then rm -f $TMPFILE echo "FAILED" exit 1 fi echo "ok" rm -f $TMPFILE echo "Checking custom ARP request packet against $SAMPLE02 ..." ARPARGS="--retry=1 --file=- --destaddr=11:11:11:11:11:11 --srcaddr=22:22:22:22:22:22 --prototype=0x3333 --arphrd=0x4444 --arppro=0x5555 --arphln=0x66 --arppln=0x77 --arpop=0x8888 --arpsha=99:99:99:99:99:99 --arpspa=170.170.170.170 --arptha=bb:bb:bb:bb:bb:bb" echo "204.204.204.204" | $srcdir/arp-scan $ARPARGS --writepkttofile=$TMPFILE >/dev/null 2>&1 if test $? -ne 0; then rm -f $TMPFILE echo "FAILED" exit 1 fi cmp -s $TMPFILE $SAMPLE02 if test $? -ne 0; then rm -f $TMPFILE echo "FAILED" exit 1 fi echo "ok" rm -f $TMPFILE echo "Checking custom ARP request packet with padding against $SAMPLE03 ..." ARPARGS="--retry=1 --file=- --destaddr=11:11:11:11:11:11 --srcaddr=22:22:22:22:22:22 --prototype=0x3333 --arphrd=0x4444 --arppro=0x5555 --arphln=0x66 --arppln=0x77 --arpop=0x8888 --arpsha=99:99:99:99:99:99 --arpspa=170.170.170.170 --arptha=bb:bb:bb:bb:bb:bb --padding=dddddddddddddddd" echo "204.204.204.204" | $srcdir/arp-scan $ARPARGS --writepkttofile=$TMPFILE >/dev/null 2>&1 if test $? -ne 0; then rm -f $TMPFILE echo "FAILED" exit 1 fi cmp -s $TMPFILE $SAMPLE03 if test $? -ne 0; then rm -f $TMPFILE echo "FAILED" exit 1 fi echo "ok" rm -f $TMPFILE echo "Checking custom ARP request packet with LLC/SNAP framing against $SAMPLE04 ..." ARPARGS="--retry=1 --file=- --destaddr=11:11:11:11:11:11 --srcaddr=22:22:22:22:22:22 --prototype=0x3333 --arphrd=0x4444 --arppro=0x5555 --arphln=0x66 --arppln=0x77 --arpop=0x8888 --arpsha=99:99:99:99:99:99 --arpspa=170.170.170.170 --arptha=bb:bb:bb:bb:bb:bb --llc" echo "204.204.204.204" | $srcdir/arp-scan $ARPARGS --writepkttofile=$TMPFILE >/dev/null 2>&1 if test $? -ne 0; then rm -f $TMPFILE echo "FAILED" exit 1 fi cmp -s $TMPFILE $SAMPLE04 if test $? -ne 0; then rm -f $TMPFILE echo "FAILED" exit 1 fi echo "ok" rm -f $TMPFILE echo "Checking custom ARP request packet with VLAN tag against $SAMPLE05 ..." ARPARGS="--retry=1 --file=- --destaddr=11:11:11:11:11:11 --srcaddr=22:22:22:22:22:22 --prototype=0x3333 --arphrd=0x4444 --arppro=0x5555 --arphln=0x66 --arppln=0x77 --arpop=0x8888 --arpsha=99:99:99:99:99:99 --arpspa=170.170.170.170 --arptha=bb:bb:bb:bb:bb:bb --vlan=0xddd" echo "204.204.204.204" | $srcdir/arp-scan $ARPARGS --writepkttofile=$TMPFILE >/dev/null 2>&1 if test $? -ne 0; then rm -f $TMPFILE echo "FAILED" exit 1 fi cmp -s $TMPFILE $SAMPLE05 if test $? -ne 0; then rm -f $TMPFILE echo "FAILED" exit 1 fi echo "ok" rm -f $TMPFILE echo "Checking custom ARP request packet with VLAN tag and LLC/SNAP framing against $SAMPLE06 ..." ARPARGS="--retry=1 --file=- --destaddr=11:11:11:11:11:11 --srcaddr=22:22:22:22:22:22 --prototype=0x3333 --arphrd=0x4444 --arppro=0x5555 --arphln=0x66 --arppln=0x77 --arpop=0x8888 --arpsha=99:99:99:99:99:99 --arpspa=170.170.170.170 --arptha=bb:bb:bb:bb:bb:bb --vlan=0xddd --llc" echo "204.204.204.204" | $srcdir/arp-scan $ARPARGS --writepkttofile=$TMPFILE >/dev/null 2>&1 if test $? -ne 0; then rm -f $TMPFILE echo "FAILED" exit 1 fi cmp -s $TMPFILE $SAMPLE06 if test $? -ne 0; then rm -f $TMPFILE echo "FAILED" exit 1 fi echo "ok" rm -f $TMPFILE arp-scan-1.8.1/configure0000774000175000017500000066242211546362370012101 00000000000000#! /bin/sh # From configure.ac Revision: 18169 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61 for arp-scan 1.8.1. # # Report bugs to . # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH if test "x$CONFIG_SHELL" = x; then if (eval ":") 2>/dev/null; then as_have_required=yes else as_have_required=no fi if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=\$LINENO as_lineno_2=\$LINENO test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ") 2> /dev/null; then : else as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. case $as_dir in /*) for as_base in sh bash ksh sh5; do as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac done IFS=$as_save_IFS for as_shell in $as_candidate_shells $SHELL; do # Try only shells that exist, to save several forks. if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { ("$as_shell") 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : _ASEOF }; then CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : (as_func_return () { (exit $1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = "$1" ); then : else exitcode=1 echo positional parameters were not saved. fi test $exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } _ASEOF }; then break fi fi done if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test $as_have_required = no; then echo This script requires a shell more modern than all the echo shells that I found on your system. Please install a echo modern shell, or manually run the script under such a echo shell if you do have one. { (exit 1); exit 1; } fi fi fi (eval "as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0") || { echo No shell found that supports shell functions. echo Please tell autoconf@gnu.org about your system, echo including any error possibly output before this echo message } as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='arp-scan' PACKAGE_TARNAME='arp-scan' PACKAGE_VERSION='1.8.1' PACKAGE_STRING='arp-scan 1.8.1' PACKAGE_BUGREPORT='arp-scan@nta-monitor.com' ac_unique_file="arp-scan.c" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir localstatedir includedir oldincludedir docdir infodir htmldir dvidir pdfdir psdir libdir localedir mandir DEFS ECHO_C ECHO_N ECHO_T LIBS build_alias host_alias target_alias INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA am__isrc CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE LN_S CPP GREP EGREP LIBOBJS LTLIBOBJS' ac_subst_files='' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=\$ac_optarg ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute directory names. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; } done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || { echo "$as_me: error: Working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { echo "$as_me: error: pwd does not report name of working directory" >&2 { (exit 1); exit 1; }; } # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$0" || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 { (exit 1); exit 1; }; } pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures arp-scan 1.8.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/arp-scan] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of arp-scan 1.8.1:";; esac cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF arp-scan configure 1.8.1 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by arp-scan $as_me 1.8.1, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------------- ## ## File substitutions. ## ## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo cat confdefs.h echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -n "$CONFIG_SITE"; then set x "$CONFIG_SITE" elif test "x$prefix" != xNONE; then set x "$prefix/share/config.site" "$prefix/etc/config.site" else set x "$ac_default_prefix/share/config.site" \ "$ac_default_prefix/etc/config.site" fi shift for ac_site_file do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu am__api_version='1.10' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} { (exit 1); exit 1; }; } fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi test "$2" = conftest.file ) then # Ok. : else { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. echo might interpret backslashes. # By default was `s,x,x', remove it if useless. cat <<\_ACEOF >conftest.sed s/[\\$]/&&/g;s/;s,x,x,$// _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm -f conftest.sed # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi { echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi { echo "$as_me:$LINENO: result: $MKDIR_P" >&5 echo "${ECHO_T}$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$AWK" && break done { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } SET_MAKE= else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='arp-scan' VERSION='1.8.1' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' ac_config_headers="$ac_config_headers config.h" # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6; } if test "${ac_cv_build+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 echo "$as_me: error: invalid value of canonical build" >&2;} { (exit 1); exit 1; }; };; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { echo "$as_me:$LINENO: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6; } if test "${ac_cv_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 echo "$as_me: error: invalid value of canonical host" >&2;} { (exit 1); exit 1; }; };; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO: checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # # List of possible output files, starting from the most likely. # The algorithm is not robust to junk in `.', hence go to wildcards (a.*) # only as a last resort. b.out is created by i960 compilers. ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' # # The IRIX 6 linker writes into existing files which may not be # executable, retaining their permissions. Remove them first so a # subsequent execution test works. ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { (ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi { echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6; } if test -z "$ac_file"; then echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6; } { echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext { echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT { echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6; } ;; xno) { echo "$as_me:$LINENO: result: unsupported" >&5 echo "${ECHO_T}unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi { echo "$as_me:$LINENO: result: $_am_result" >&5 echo "${ECHO_T}$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CC" am_compiler_list= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi if test -n "$GCC"; then cat >>confdefs.h <<\_ACEOF #define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) _ACEOF CFLAGS="$CFLAGS -Wall -Wshadow -Wwrite-strings" gcc_wextra=yes if test "X$CC" != "X"; then { echo "$as_me:$LINENO: checking whether ${CC} accepts -Wextra" >&5 echo $ECHO_N "checking whether ${CC} accepts -Wextra... $ECHO_C" >&6; } gcc_old_cflags="$CFLAGS" CFLAGS="$CFLAGS -Wextra" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } gcc_wextra=no CFLAGS="$ssp_old_cflags" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ssp_cc=yes if test "X$CC" != "X"; then { echo "$as_me:$LINENO: checking whether ${CC} accepts -fstack-protector" >&5 echo $ECHO_N "checking whether ${CC} accepts -fstack-protector... $ECHO_C" >&6; } ssp_old_cflags="$CFLAGS" CFLAGS="$CFLAGS -fstack-protector" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ssp_cc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext echo $ssp_cc if test "X$ssp_cc" = "Xno"; then CFLAGS="$ssp_old_cflags" else cat >>confdefs.h <<\_ACEOF #define ENABLE_SSP_CC 1 _ACEOF fi fi if test "x$CC" != "X"; then { echo "$as_me:$LINENO: checking whether ${CC} accepts -D_FORTIFY_SOURCE" >&5 echo $ECHO_N "checking whether ${CC} accepts -D_FORTIFY_SOURCE... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #define GNUC_PREREQ(maj, min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) #if !(GNUC_PREREQ (4, 1) \ || (defined __GNUC_RH_RELEASE__ && GNUC_PREREQ (4, 0)) \ || (defined __GNUC_RH_RELEASE__ && GNUC_PREREQ (3, 4) \ && __GNUC_MINOR__ == 4 \ && (__GNUC_PATCHLEVEL__ > 2 \ || (__GNUC_PATCHLEVEL__ == 2 && __GNUC_RH_RELEASE__ >= 8)))) #error No FORTIFY_SOURCE support #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test "x$CC" != "X"; then { echo "$as_me:$LINENO: checking whether ${CC} accepts -Wformat-security" >&5 echo $ECHO_N "checking whether ${CC} accepts -Wformat-security... $ECHO_C" >&6; } wfs_old_cflags="$CFLAGS" CFLAGS="$CFLAGS -Wall -Werror -Wformat -Wformat-security" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { char *fmt=NULL; printf(fmt); return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } CFLAGS="$wfs_old_cflags" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } CFLAGS="$wfs_old_cflags -Wformat -Wformat-security" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi else cat >>confdefs.h <<\_ACEOF #define ATTRIBUTE_UNUSED _ACEOF fi # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { echo "$as_me:$LINENO: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6; } fi { echo "$as_me:$LINENO: checking for library containing gethostbyname" >&5 echo $ECHO_N "checking for library containing gethostbyname... $ECHO_C" >&6; } if test "${ac_cv_search_gethostbyname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_func_search_save_LIBS=$LIBS cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char gethostbyname (); int main () { return gethostbyname (); ; return 0; } _ACEOF for ac_lib in '' nsl; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_search_gethostbyname=$ac_res else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext if test "${ac_cv_search_gethostbyname+set}" = set; then break fi done if test "${ac_cv_search_gethostbyname+set}" = set; then : else ac_cv_search_gethostbyname=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_search_gethostbyname" >&5 echo "${ECHO_T}$ac_cv_search_gethostbyname" >&6; } ac_res=$ac_cv_search_gethostbyname if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi { echo "$as_me:$LINENO: checking for library containing socket" >&5 echo $ECHO_N "checking for library containing socket... $ECHO_C" >&6; } if test "${ac_cv_search_socket+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_func_search_save_LIBS=$LIBS cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char socket (); int main () { return socket (); ; return 0; } _ACEOF for ac_lib in '' socket; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_search_socket=$ac_res else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext if test "${ac_cv_search_socket+set}" = set; then break fi done if test "${ac_cv_search_socket+set}" = set; then : else ac_cv_search_socket=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_search_socket" >&5 echo "${ECHO_T}$ac_cv_search_socket" >&6; } ac_res=$ac_cv_search_socket if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi { echo "$as_me:$LINENO: checking for library containing pcap_open_live" >&5 echo $ECHO_N "checking for library containing pcap_open_live... $ECHO_C" >&6; } if test "${ac_cv_search_pcap_open_live+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_func_search_save_LIBS=$LIBS cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pcap_open_live (); int main () { return pcap_open_live (); ; return 0; } _ACEOF for ac_lib in '' pcap; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_search_pcap_open_live=$ac_res else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext if test "${ac_cv_search_pcap_open_live+set}" = set; then break fi done if test "${ac_cv_search_pcap_open_live+set}" = set; then : else ac_cv_search_pcap_open_live=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_search_pcap_open_live" >&5 echo "${ECHO_T}$ac_cv_search_pcap_open_live" >&6; } ac_res=$ac_cv_search_pcap_open_live if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" else { echo "$as_me:$LINENO: Cannot find pcap library containing pcap_open_live" >&5 echo "$as_me: Cannot find pcap library containing pcap_open_live" >&6;} { { echo "$as_me:$LINENO: error: Check that you have libpcap version 0.8 or later installed" >&5 echo "$as_me: error: Check that you have libpcap version 0.8 or later installed" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: checking for a compatible pcap library" >&5 echo $ECHO_N "checking for a compatible pcap library... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pcap_lib_version (); int main () { return pcap_lib_version (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } { echo "$as_me:$LINENO: Cannot find pcap_lib_version in pcap library" >&5 echo "$as_me: Cannot find pcap_lib_version in pcap library" >&6;} { { echo "$as_me:$LINENO: error: Check that the pcap library is at least version 0.8" >&5 echo "$as_me: error: Check that the pcap library is at least version 0.8" >&2;} { (exit 1); exit 1; }; } fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { echo "$as_me:$LINENO: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Extract the first word of "grep ggrep" to use in msg output if test -z "$GREP"; then set dummy grep ggrep; ac_prog_name=$2 if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS fi GREP="$ac_cv_path_GREP" if test -z "$GREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 echo "${ECHO_T}$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else # Extract the first word of "egrep" to use in msg output if test -z "$EGREP"; then set dummy egrep; ac_prog_name=$2 if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS fi EGREP="$ac_cv_path_EGREP" if test -z "$EGREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_EGREP=$EGREP fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in arpa/inet.h netdb.h netinet/in.h sys/socket.h sys/time.h unistd.h getopt.h pcap.h sys/ioctl.h sys/stat.h fcntl.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------------- ## ## Report this to arp-scan@nta-monitor.com ## ## --------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; } if test "${ac_cv_c_const+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { /* FIXME: Include the comments suggested by Paul. */ #ifndef __cplusplus /* Ultrix mips cc rejects this. */ typedef int charset[2]; const charset cs; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this. */ char *t; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; }; struct s *b; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; if (!foo) return 0; } return !cs[0] && !zero.x; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_const=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 echo "${ECHO_T}$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then cat >>confdefs.h <<\_ACEOF #define const _ACEOF fi { echo "$as_me:$LINENO: checking for size_t" >&5 echo $ECHO_N "checking for size_t... $ECHO_C" >&6; } if test "${ac_cv_type_size_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef size_t ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_size_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_size_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 echo "${ECHO_T}$ac_cv_type_size_t" >&6; } if test $ac_cv_type_size_t = yes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned int _ACEOF fi { echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6; } if test "${ac_cv_header_time+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include int main () { if ((struct tm *) 0) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_time=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_time=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 echo "${ECHO_T}$ac_cv_header_time" >&6; } if test $ac_cv_header_time = yes; then cat >>confdefs.h <<\_ACEOF #define TIME_WITH_SYS_TIME 1 _ACEOF fi { echo "$as_me:$LINENO: checking for uint8_t using $CC" >&5 echo $ECHO_N "checking for uint8_t using $CC... $ECHO_C" >&6; } if test "${ac_cv_nta_have_uint8_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ # include "confdefs.h" # include # if HAVE_SYS_TYPES_H # include # endif # if HAVE_SYS_STAT_H # include # endif # ifdef STDC_HEADERS # include # include # endif # if HAVE_INTTYPES_H # include # else # if HAVE_STDINT_H # include # endif # endif # if HAVE_UNISTD_H # include # endif # ifdef HAVE_ARPA_INET_H # include # endif # ifdef HAVE_NETDB_H # include # endif # ifdef HAVE_NETINET_IN_H # include # endif # ifdef SYS_SOCKET_H # include # endif int main () { uint8_t i ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_nta_have_uint8_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_nta_have_uint8_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_nta_have_uint8_t" >&5 echo "${ECHO_T}$ac_cv_nta_have_uint8_t" >&6; } if test $ac_cv_nta_have_uint8_t = no ; then cat >>confdefs.h <<\_ACEOF #define uint8_t unsigned char _ACEOF fi { echo "$as_me:$LINENO: checking for uint16_t using $CC" >&5 echo $ECHO_N "checking for uint16_t using $CC... $ECHO_C" >&6; } if test "${ac_cv_nta_have_uint16_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ # include "confdefs.h" # include # if HAVE_SYS_TYPES_H # include # endif # if HAVE_SYS_STAT_H # include # endif # ifdef STDC_HEADERS # include # include # endif # if HAVE_INTTYPES_H # include # else # if HAVE_STDINT_H # include # endif # endif # if HAVE_UNISTD_H # include # endif # ifdef HAVE_ARPA_INET_H # include # endif # ifdef HAVE_NETDB_H # include # endif # ifdef HAVE_NETINET_IN_H # include # endif # ifdef SYS_SOCKET_H # include # endif int main () { uint16_t i ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_nta_have_uint16_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_nta_have_uint16_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_nta_have_uint16_t" >&5 echo "${ECHO_T}$ac_cv_nta_have_uint16_t" >&6; } if test $ac_cv_nta_have_uint16_t = no ; then cat >>confdefs.h <<\_ACEOF #define uint16_t unsigned short _ACEOF fi { echo "$as_me:$LINENO: checking for uint32_t using $CC" >&5 echo $ECHO_N "checking for uint32_t using $CC... $ECHO_C" >&6; } if test "${ac_cv_nta_have_uint32_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ # include "confdefs.h" # include # if HAVE_SYS_TYPES_H # include # endif # if HAVE_SYS_STAT_H # include # endif # ifdef STDC_HEADERS # include # include # endif # if HAVE_INTTYPES_H # include # else # if HAVE_STDINT_H # include # endif # endif # if HAVE_UNISTD_H # include # endif # ifdef HAVE_ARPA_INET_H # include # endif # ifdef HAVE_NETDB_H # include # endif # ifdef HAVE_NETINET_IN_H # include # endif # ifdef SYS_SOCKET_H # include # endif int main () { uint32_t i ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_nta_have_uint32_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_nta_have_uint32_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_nta_have_uint32_t" >&5 echo "${ECHO_T}$ac_cv_nta_have_uint32_t" >&6; } if test $ac_cv_nta_have_uint32_t = no ; then cat >>confdefs.h <<\_ACEOF #define uint32_t unsigned int _ACEOF fi { echo "$as_me:$LINENO: checking whether long int is 64 bits" >&5 echo $ECHO_N "checking whether long int is 64 bits... $ECHO_C" >&6; } if test "${pgac_cv_type_long_int_64+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then # If cross-compiling, check the size reported by the compiler and # trust that the arithmetic works. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { static int test_array [1 - 2 * !(sizeof(long int) == 8)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then pgac_cv_type_long_int_64=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 pgac_cv_type_long_int_64=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ typedef long int int64; /* * These are globals to discourage the compiler from folding all the * arithmetic tests down to compile-time constants. */ int64 a = 20000001; int64 b = 40000005; int does_int64_work() { int64 c,d; if (sizeof(int64) != 8) return 0; /* definitely not the right size */ /* Do perfunctory checks to see if 64-bit arithmetic seems to work */ c = a * b; d = (c + b) / b; if (d != a+1) return 0; return 1; } main() { exit(! does_int64_work()); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then pgac_cv_type_long_int_64=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) pgac_cv_type_long_int_64=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $pgac_cv_type_long_int_64" >&5 echo "${ECHO_T}$pgac_cv_type_long_int_64" >&6; } HAVE_LONG_INT_64=$pgac_cv_type_long_int_64 if test x"$pgac_cv_type_long_int_64" = xyes ; then cat >>confdefs.h <<\_ACEOF #define HAVE_LONG_INT_64 _ACEOF fi if test x"$HAVE_LONG_INT_64" = x"yes" ; then INT64_TYPE="long int" UINT64_TYPE="unsigned long int" else { echo "$as_me:$LINENO: checking whether long long int is 64 bits" >&5 echo $ECHO_N "checking whether long long int is 64 bits... $ECHO_C" >&6; } if test "${pgac_cv_type_long_long_int_64+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then # If cross-compiling, check the size reported by the compiler and # trust that the arithmetic works. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { static int test_array [1 - 2 * !(sizeof(long long int) == 8)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then pgac_cv_type_long_long_int_64=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 pgac_cv_type_long_long_int_64=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ typedef long long int int64; /* * These are globals to discourage the compiler from folding all the * arithmetic tests down to compile-time constants. */ int64 a = 20000001; int64 b = 40000005; int does_int64_work() { int64 c,d; if (sizeof(int64) != 8) return 0; /* definitely not the right size */ /* Do perfunctory checks to see if 64-bit arithmetic seems to work */ c = a * b; d = (c + b) / b; if (d != a+1) return 0; return 1; } main() { exit(! does_int64_work()); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then pgac_cv_type_long_long_int_64=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) pgac_cv_type_long_long_int_64=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $pgac_cv_type_long_long_int_64" >&5 echo "${ECHO_T}$pgac_cv_type_long_long_int_64" >&6; } HAVE_LONG_LONG_INT_64=$pgac_cv_type_long_long_int_64 if test x"$pgac_cv_type_long_long_int_64" = xyes ; then cat >>confdefs.h <<\_ACEOF #define HAVE_LONG_LONG_INT_64 _ACEOF fi if test x"$HAVE_LONG_LONG_INT_64" = x"yes" ; then INT64_TYPE="long long int" UINT64_TYPE="unsigned long long int" else { { echo "$as_me:$LINENO: error: cannot determine 64-bit integer type" >&5 echo "$as_me: error: cannot determine 64-bit integer type" >&2;} { (exit 1); exit 1; }; } fi fi cat >>confdefs.h <<_ACEOF #define ARP_INT64 $INT64_TYPE _ACEOF cat >>confdefs.h <<_ACEOF #define ARP_UINT64 $UINT64_TYPE _ACEOF if test "$HAVE_LONG_LONG_INT_64" = yes ; then { echo "$as_me:$LINENO: checking snprintf format for long long int" >&5 echo $ECHO_N "checking snprintf format for long long int... $ECHO_C" >&6; } if test "${pgac_cv_snprintf_long_long_int_format+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else for pgac_format in '%lld' '%qd' '%I64d'; do if test "$cross_compiling" = yes; then pgac_cv_snprintf_long_long_int_format=cross; break else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include typedef long long int int64; #define INT64_FORMAT "$pgac_format" int64 a = 20000001; int64 b = 40000005; int does_int64_snprintf_work() { int64 c; char buf[100]; if (sizeof(int64) != 8) return 0; /* doesn't look like the right size */ c = a * b; snprintf(buf, 100, INT64_FORMAT, c); if (strcmp(buf, "800000140000005") != 0) return 0; /* either multiply or snprintf is busted */ return 1; } main() { exit(! does_int64_snprintf_work()); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then pgac_cv_snprintf_long_long_int_format=$pgac_format; break else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi done fi LONG_LONG_INT_FORMAT='' case $pgac_cv_snprintf_long_long_int_format in cross) { echo "$as_me:$LINENO: result: cannot test (not on host machine)" >&5 echo "${ECHO_T}cannot test (not on host machine)" >&6; };; ?*) { echo "$as_me:$LINENO: result: $pgac_cv_snprintf_long_long_int_format" >&5 echo "${ECHO_T}$pgac_cv_snprintf_long_long_int_format" >&6; } LONG_LONG_INT_FORMAT=$pgac_cv_snprintf_long_long_int_format;; *) { echo "$as_me:$LINENO: result: none" >&5 echo "${ECHO_T}none" >&6; };; esac if test "$LONG_LONG_INT_FORMAT" = ""; then { { echo "$as_me:$LINENO: error: cannot determine snprintf format string for long long int" >&5 echo "$as_me: error: cannot determine snprintf format string for long long int" >&2;} { (exit 1); exit 1; }; } fi LONG_LONG_UINT_FORMAT=`echo "$LONG_LONG_INT_FORMAT" | sed 's/d$/u/'` INT64_FORMAT="\"$LONG_LONG_INT_FORMAT\"" UINT64_FORMAT="\"$LONG_LONG_UINT_FORMAT\"" else # Here if we are not using 'long long int' at all INT64_FORMAT='"%ld"' UINT64_FORMAT='"%lu"' fi cat >>confdefs.h <<_ACEOF #define ARP_INT64_FORMAT $INT64_FORMAT _ACEOF cat >>confdefs.h <<_ACEOF #define ARP_UINT64_FORMAT $UINT64_FORMAT _ACEOF for ac_func in malloc gethostbyname gettimeofday inet_ntoa memset select socket strerror do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for posix regular expression support" >&5 echo $ECHO_N "checking for posix regular expression support... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { regcomp(0, 0, 0); regexec(0, 0, 0, 0, 0) ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_nta_posix_regex=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_nta_posic_regex=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_nta_posix_regex" >&5 echo "${ECHO_T}$ac_nta_posix_regex" >&6; } if test $ac_nta_posix_regex = no; then { { echo "$as_me:$LINENO: error: You don't seem to have posix regular expression support" >&5 echo "$as_me: error: You don't seem to have posix regular expression support" >&2;} { (exit 1); exit 1; }; } else cat >>confdefs.h <<\_ACEOF #define HAVE_REGEX_H 1 _ACEOF fi case $host_os in *linux* ) { echo "$as_me:$LINENO: Using packet socket link layer implementation." >&5 echo "$as_me: Using packet socket link layer implementation." >&6;}; for ac_header in netpacket/packet.h net/if.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------------- ## ## Report this to arp-scan@nta-monitor.com ## ## --------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done case " $LIBOBJS " in *" link-packet-socket.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS link-packet-socket.$ac_objext" ;; esac ;; *freebsd* | *darwin* | *openbsd* | *netbsd* ) { echo "$as_me:$LINENO: Using BPF link layer implementation." >&5 echo "$as_me: Using BPF link layer implementation." >&6;}; for ac_header in net/if.h net/bpf.h sys/param.h sys/sysctl.h net/route.h net/if_dl.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_SYS_PARAM_H #include #endif #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done cat >>confdefs.h <<\_ACEOF #define ARP_PCAP_BPF 1 _ACEOF case " $LIBOBJS " in *" link-bpf.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS link-bpf.$ac_objext" ;; esac ;; *solaris* ) { echo "$as_me:$LINENO: Using DLPI link layer implementation." >&5 echo "$as_me: Using DLPI link layer implementation." >&6;}; for ac_header in sys/dlpi.h sys/dlpihdr.h stropts.h sys/ioctl.h sys/sockio.h net/if.h sys/bufmod.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifdef HAVE_SYS_SOCKET_H #include #endif #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done cat >>confdefs.h <<\_ACEOF #define ARP_PCAP_DLPI 1 _ACEOF case " $LIBOBJS " in *" link-dlpi.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS link-dlpi.$ac_objext" ;; esac ;; * ) { { echo "$as_me:$LINENO: error: Host operating system $host_os is not supported" >&5 echo "$as_me: error: Host operating system $host_os is not supported" >&2;} { (exit 1); exit 1; }; } ;; esac { echo "$as_me:$LINENO: checking for getopt_long_only" >&5 echo $ECHO_N "checking for getopt_long_only... $ECHO_C" >&6; } if test "${ac_cv_func_getopt_long_only+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define getopt_long_only to an innocuous variant, in case declares getopt_long_only. For example, HP-UX 11i declares gettimeofday. */ #define getopt_long_only innocuous_getopt_long_only /* System header to define __stub macros and hopefully few prototypes, which can conflict with char getopt_long_only (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef getopt_long_only /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char getopt_long_only (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_getopt_long_only || defined __stub___getopt_long_only choke me #endif int main () { return getopt_long_only (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_getopt_long_only=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_getopt_long_only=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_getopt_long_only" >&5 echo "${ECHO_T}$ac_cv_func_getopt_long_only" >&6; } if test $ac_cv_func_getopt_long_only = yes; then : else case " $LIBOBJS " in *" getopt.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS getopt.$ac_objext" ;; esac case " $LIBOBJS " in *" getopt1.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS getopt1.$ac_objext" ;; esac fi { echo "$as_me:$LINENO: checking for inet_aton" >&5 echo $ECHO_N "checking for inet_aton... $ECHO_C" >&6; } if test "${ac_cv_func_inet_aton+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define inet_aton to an innocuous variant, in case declares inet_aton. For example, HP-UX 11i declares gettimeofday. */ #define inet_aton innocuous_inet_aton /* System header to define __stub macros and hopefully few prototypes, which can conflict with char inet_aton (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef inet_aton /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char inet_aton (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_inet_aton || defined __stub___inet_aton choke me #endif int main () { return inet_aton (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_inet_aton=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_inet_aton=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_inet_aton" >&5 echo "${ECHO_T}$ac_cv_func_inet_aton" >&6; } if test $ac_cv_func_inet_aton = yes; then : else case " $LIBOBJS " in *" inet_aton.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS inet_aton.$ac_objext" ;; esac fi { echo "$as_me:$LINENO: checking for strlcat" >&5 echo $ECHO_N "checking for strlcat... $ECHO_C" >&6; } if test "${ac_cv_func_strlcat+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define strlcat to an innocuous variant, in case declares strlcat. For example, HP-UX 11i declares gettimeofday. */ #define strlcat innocuous_strlcat /* System header to define __stub macros and hopefully few prototypes, which can conflict with char strlcat (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef strlcat /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char strlcat (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_strlcat || defined __stub___strlcat choke me #endif int main () { return strlcat (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_strlcat=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_strlcat=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_strlcat" >&5 echo "${ECHO_T}$ac_cv_func_strlcat" >&6; } if test $ac_cv_func_strlcat = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_STRLCAT 1 _ACEOF else case " $LIBOBJS " in *" strlcat.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS strlcat.$ac_objext" ;; esac fi { echo "$as_me:$LINENO: checking for strlcpy" >&5 echo $ECHO_N "checking for strlcpy... $ECHO_C" >&6; } if test "${ac_cv_func_strlcpy+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define strlcpy to an innocuous variant, in case declares strlcpy. For example, HP-UX 11i declares gettimeofday. */ #define strlcpy innocuous_strlcpy /* System header to define __stub macros and hopefully few prototypes, which can conflict with char strlcpy (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef strlcpy /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char strlcpy (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_strlcpy || defined __stub___strlcpy choke me #endif int main () { return strlcpy (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_strlcpy=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_strlcpy=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_strlcpy" >&5 echo "${ECHO_T}$ac_cv_func_strlcpy" >&6; } if test $ac_cv_func_strlcpy = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_STRLCPY 1 _ACEOF else case " $LIBOBJS " in *" strlcpy.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS strlcpy.$ac_objext" ;; esac fi ac_config_files="$ac_config_files Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { echo "$as_me:$LINENO: updating cache $cache_file" >&5 echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 # Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by arp-scan $as_me 1.8.1, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ arp-scan config.status 1.8.1 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2006 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header { echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF if \$ac_cs_recheck; then echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 CONFIG_SHELL=$SHELL export CONFIG_SHELL exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # # Set up the sed scripts for CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "$CONFIG_FILES"; then _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF SHELL!$SHELL$ac_delim PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim PACKAGE_NAME!$PACKAGE_NAME$ac_delim PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim PACKAGE_STRING!$PACKAGE_STRING$ac_delim PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim exec_prefix!$exec_prefix$ac_delim prefix!$prefix$ac_delim program_transform_name!$program_transform_name$ac_delim bindir!$bindir$ac_delim sbindir!$sbindir$ac_delim libexecdir!$libexecdir$ac_delim datarootdir!$datarootdir$ac_delim datadir!$datadir$ac_delim sysconfdir!$sysconfdir$ac_delim sharedstatedir!$sharedstatedir$ac_delim localstatedir!$localstatedir$ac_delim includedir!$includedir$ac_delim oldincludedir!$oldincludedir$ac_delim docdir!$docdir$ac_delim infodir!$infodir$ac_delim htmldir!$htmldir$ac_delim dvidir!$dvidir$ac_delim pdfdir!$pdfdir$ac_delim psdir!$psdir$ac_delim libdir!$libdir$ac_delim localedir!$localedir$ac_delim mandir!$mandir$ac_delim DEFS!$DEFS$ac_delim ECHO_C!$ECHO_C$ac_delim ECHO_N!$ECHO_N$ac_delim ECHO_T!$ECHO_T$ac_delim LIBS!$LIBS$ac_delim build_alias!$build_alias$ac_delim host_alias!$host_alias$ac_delim target_alias!$target_alias$ac_delim INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim INSTALL_DATA!$INSTALL_DATA$ac_delim am__isrc!$am__isrc$ac_delim CYGPATH_W!$CYGPATH_W$ac_delim PACKAGE!$PACKAGE$ac_delim VERSION!$VERSION$ac_delim ACLOCAL!$ACLOCAL$ac_delim AUTOCONF!$AUTOCONF$ac_delim AUTOMAKE!$AUTOMAKE$ac_delim AUTOHEADER!$AUTOHEADER$ac_delim MAKEINFO!$MAKEINFO$ac_delim install_sh!$install_sh$ac_delim STRIP!$STRIP$ac_delim INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim mkdir_p!$mkdir_p$ac_delim AWK!$AWK$ac_delim SET_MAKE!$SET_MAKE$ac_delim am__leading_dot!$am__leading_dot$ac_delim AMTAR!$AMTAR$ac_delim am__tar!$am__tar$ac_delim am__untar!$am__untar$ac_delim build!$build$ac_delim build_cpu!$build_cpu$ac_delim build_vendor!$build_vendor$ac_delim build_os!$build_os$ac_delim host!$host$ac_delim host_cpu!$host_cpu$ac_delim host_vendor!$host_vendor$ac_delim host_os!$host_os$ac_delim CC!$CC$ac_delim CFLAGS!$CFLAGS$ac_delim LDFLAGS!$LDFLAGS$ac_delim CPPFLAGS!$CPPFLAGS$ac_delim ac_ct_CC!$ac_ct_CC$ac_delim EXEEXT!$EXEEXT$ac_delim OBJEXT!$OBJEXT$ac_delim DEPDIR!$DEPDIR$ac_delim am__include!$am__include$ac_delim am__quote!$am__quote$ac_delim AMDEP_TRUE!$AMDEP_TRUE$ac_delim AMDEP_FALSE!$AMDEP_FALSE$ac_delim AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim CCDEPMODE!$CCDEPMODE$ac_delim am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim LN_S!$LN_S$ac_delim CPP!$CPP$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 89; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF :end s/|#_!!_#|//g CEOF$ac_eof _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/ s/:*\${srcdir}:*/:/ s/:*@srcdir@:*/:/ s/^\([^=]*=[ ]*\):*/\1/ s/:*$// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF fi # test -n "$CONFIG_FILES" for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 echo "$as_me: error: Invalid tag $ac_tag." >&2;} { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac ac_file_inputs="$ac_file_inputs $ac_f" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input="Generated from "`IFS=: echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} fi case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin";; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir="$ac_dir" case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= case `sed -n '/datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p ' $ac_file_inputs` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s&@configure_input@&$configure_input&;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out"; rm -f "$tmp/out";; *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; esac ;; :H) # # CONFIG_HEADER # _ACEOF # Transform confdefs.h into a sed script `conftest.defines', that # substitutes the proper values into config.h.in to produce config.h. rm -f conftest.defines conftest.tail # First, append a space to every undef/define line, to ease matching. echo 's/$/ /' >conftest.defines # Then, protect against being on the right side of a sed subst, or in # an unquoted here document, in config.status. If some macros were # called several times there might be several #defines for the same # symbol, which is useless. But do not sort them, since the last # AC_DEFINE must be honored. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* # These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where # NAME is the cpp macro being defined, VALUE is the value it is being given. # PARAMS is the parameter list in the macro definition--in most cases, it's # just an empty string. ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' ac_dB='\\)[ (].*,\\1define\\2' ac_dC=' ' ac_dD=' ,' uniq confdefs.h | sed -n ' t rset :rset s/^[ ]*#[ ]*define[ ][ ]*// t ok d :ok s/[\\&,]/\\&/g s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p ' >>conftest.defines # Remove the space that was appended to ease matching. # Then replace #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. # (The regexp can be short, since the line contains either #define or #undef.) echo 's/ $// s,^[ #]*u.*,/* & */,' >>conftest.defines # Break up conftest.defines: ac_max_sed_lines=50 # First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" # Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" # Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" # et cetera. ac_in='$ac_file_inputs' ac_out='"$tmp/out1"' ac_nxt='"$tmp/out2"' while : do # Write a here document: cat >>$CONFIG_STATUS <<_ACEOF # First, check the format of the line: cat >"\$tmp/defines.sed" <<\\CEOF /^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def /^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def b :def _ACEOF sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS echo 'CEOF sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail grep . conftest.tail >/dev/null || break rm -f conftest.defines mv conftest.tail conftest.defines done rm -f conftest.defines conftest.tail echo "ac_result=$ac_in" >>$CONFIG_STATUS cat >>$CONFIG_STATUS <<\_ACEOF if test x"$ac_file" != x-; then echo "/* $configure_input */" >"$tmp/config.h" cat "$ac_result" >>"$tmp/config.h" if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else rm -f $ac_file mv "$tmp/config.h" $ac_file fi else echo "/* $configure_input */" cat "$ac_result" fi rm -f "$tmp/out12" # Compute $ac_file's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $ac_file | $ac_file:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || $as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X$ac_file : 'X\(//\)[^/]' \| \ X$ac_file : 'X\(//\)$' \| \ X$ac_file : 'X\(/\)' \| . 2>/dev/null || echo X$ac_file | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir=$dirpart/$fdir case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ;; esac done # for ac_tag { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi arp-scan-1.8.1/ieee-oui.txt0000664000175000017500000146133011533141736012426 00000000000000# ieee-oui.txt -- Ethernet vendor OUI file for arp-scan # # This file contains the Ethernet vendor OUIs for arp-scan. These are used # to determine the vendor for a give Ethernet interface given the MAC address. # # Each line of this file contains an OUI-vendor mapping in the form: # # # # Where is the first three bytes of the MAC address in hex, and # is the name of the vendor. # # Blank lines and lines beginning with "#" are ignored. # # This file was automatically generated by get-oui at 2011-03-01 10:00:23 # using data from http://standards.ieee.org/regauth/oui/oui.txt # # Do not edit this file. If you want to add additional MAC-Vendor mappings, # edit the file mac-vendor.txt instead. # 000000 XEROX CORPORATION 000001 XEROX CORPORATION 000002 XEROX CORPORATION 000003 XEROX CORPORATION 000004 XEROX CORPORATION 000005 XEROX CORPORATION 000006 XEROX CORPORATION 000007 XEROX CORPORATION 000008 XEROX CORPORATION 000009 XEROX CORPORATION 00000A OMRON TATEISI ELECTRONICS CO. 00000B MATRIX CORPORATION 00000C CISCO SYSTEMS, INC. 00000D FIBRONICS LTD. 00000E FUJITSU LIMITED 00000F NEXT, INC. 000010 SYTEK INC. 000011 NORMEREL SYSTEMES 000012 INFORMATION TECHNOLOGY LIMITED 000013 CAMEX 000014 NETRONIX 000015 DATAPOINT CORPORATION 000016 DU PONT PIXEL SYSTEMS . 000017 TEKELEC 000018 WEBSTER COMPUTER CORPORATION 000019 APPLIED DYNAMICS INTERNATIONAL 00001A ADVANCED MICRO DEVICES 00001B NOVELL INC. 00001C BELL TECHNOLOGIES 00001D CABLETRON SYSTEMS, INC. 00001E TELSIST INDUSTRIA ELECTRONICA 00001F Telco Systems, Inc. 000020 DATAINDUSTRIER DIAB AB 000021 SUREMAN COMP. & COMMUN. CORP. 000022 VISUAL TECHNOLOGY INC. 000023 ABB INDUSTRIAL SYSTEMS AB 000024 CONNECT AS 000025 RAMTEK CORP. 000026 SHA-KEN CO., LTD. 000027 JAPAN RADIO COMPANY 000028 PRODIGY SYSTEMS CORPORATION 000029 IMC NETWORKS CORP. 00002A TRW - SEDD/INP 00002B CRISP AUTOMATION, INC 00002C AUTOTOTE LIMITED 00002D CHROMATICS INC 00002E SOCIETE EVIRA 00002F TIMEPLEX INC. 000030 VG LABORATORY SYSTEMS LTD 000031 QPSX COMMUNICATIONS PTY LTD 000032 Marconi plc 000033 EGAN MACHINERY COMPANY 000034 NETWORK RESOURCES CORPORATION 000035 SPECTRAGRAPHICS CORPORATION 000036 ATARI CORPORATION 000037 OXFORD METRICS LIMITED 000038 CSS LABS 000039 TOSHIBA CORPORATION 00003A CHYRON CORPORATION 00003B i Controls, Inc. 00003C AUSPEX SYSTEMS INC. 00003D UNISYS 00003E SIMPACT 00003F SYNTREX, INC. 000040 APPLICON, INC. 000041 ICE CORPORATION 000042 METIER MANAGEMENT SYSTEMS LTD. 000043 MICRO TECHNOLOGY 000044 CASTELLE CORPORATION 000045 FORD AEROSPACE & COMM. CORP. 000046 OLIVETTI NORTH AMERICA 000047 NICOLET INSTRUMENTS CORP. 000048 SEIKO EPSON CORPORATION 000049 APRICOT COMPUTERS, LTD 00004A ADC CODENOLL TECHNOLOGY CORP. 00004B ICL DATA OY 00004C NEC CORPORATION 00004D DCI CORPORATION 00004E AMPEX CORPORATION 00004F LOGICRAFT, INC. 000050 RADISYS CORPORATION 000051 HOB ELECTRONIC GMBH & CO. KG 000052 Intrusion.com, Inc. 000053 COMPUCORP 000054 MODICON, INC. 000055 COMMISSARIAT A L`ENERGIE ATOM. 000056 DR. B. STRUCK 000057 SCITEX CORPORATION LTD. 000058 RACORE COMPUTER PRODUCTS INC. 000059 HELLIGE GMBH 00005A SysKonnect GmbH 00005B ELTEC ELEKTRONIK AG 00005C TELEMATICS INTERNATIONAL INC. 00005D CS TELECOM 00005E USC INFORMATION SCIENCES INST 00005F SUMITOMO ELECTRIC IND., LTD. 000060 KONTRON ELEKTRONIK GMBH 000061 GATEWAY COMMUNICATIONS 000062 BULL HN INFORMATION SYSTEMS 000063 BARCO CONTROL ROOMS GMBH 000064 YOKOGAWA DIGITAL COMPUTER CORP 000065 Network General Corporation 000066 TALARIS SYSTEMS, INC. 000067 SOFT * RITE, INC. 000068 ROSEMOUNT CONTROLS 000069 CONCORD COMMUNICATIONS INC 00006A COMPUTER CONSOLES INC. 00006B SILICON GRAPHICS INC./MIPS 00006C PRIVATE 00006D CRAY COMMUNICATIONS, LTD. 00006E ARTISOFT, INC. 00006F Madge Ltd. 000070 HCL LIMITED 000071 ADRA SYSTEMS INC. 000072 MINIWARE TECHNOLOGY 000073 SIECOR CORPORATION 000074 RICOH COMPANY LTD. 000075 Nortel Networks 000076 ABEKAS VIDEO SYSTEM 000077 INTERPHASE CORPORATION 000078 LABTAM LIMITED 000079 NETWORTH INCORPORATED 00007A DANA COMPUTER INC. 00007B RESEARCH MACHINES 00007C AMPERE INCORPORATED 00007D Oracle Corporation 00007E CLUSTRIX CORPORATION 00007F LINOTYPE-HELL AG 000080 CRAY COMMUNICATIONS A/S 000081 BAY NETWORKS 000082 LECTRA SYSTEMES SA 000083 TADPOLE TECHNOLOGY PLC 000084 SUPERNET 000085 CANON INC. 000086 MEGAHERTZ CORPORATION 000087 HITACHI, LTD. 000088 Brocade Communications Systems, Inc. 000089 CAYMAN SYSTEMS INC. 00008A DATAHOUSE INFORMATION SYSTEMS 00008B INFOTRON 00008C Alloy Computer Products (Australia) Pty Ltd 00008D Cryptek Inc. 00008E SOLBOURNE COMPUTER, INC. 00008F Raytheon 000090 MICROCOM 000091 ANRITSU CORPORATION 000092 COGENT DATA TECHNOLOGIES 000093 PROTEON INC. 000094 ASANTE TECHNOLOGIES 000095 SONY TEKTRONIX CORP. 000096 MARCONI ELECTRONICS LTD. 000097 EMC Corporation 000098 CROSSCOMM CORPORATION 000099 MTX, INC. 00009A RC COMPUTER A/S 00009B INFORMATION INTERNATIONAL, INC 00009C ROLM MIL-SPEC COMPUTERS 00009D LOCUS COMPUTING CORPORATION 00009E MARLI S.A. 00009F AMERISTAR TECHNOLOGIES INC. 0000A0 SANYO Electric Co., Ltd. 0000A1 MARQUETTE ELECTRIC CO. 0000A2 BAY NETWORKS 0000A3 NETWORK APPLICATION TECHNOLOGY 0000A4 ACORN COMPUTERS LIMITED 0000A5 COMPATIBLE SYSTEMS CORP. 0000A6 NETWORK GENERAL CORPORATION 0000A7 NETWORK COMPUTING DEVICES INC. 0000A8 STRATUS COMPUTER INC. 0000A9 NETWORK SYSTEMS CORP. 0000AA XEROX CORPORATION 0000AB LOGIC MODELING CORPORATION 0000AC CONWARE COMPUTER CONSULTING 0000AD BRUKER INSTRUMENTS INC. 0000AE DASSAULT ELECTRONIQUE 0000AF NUCLEAR DATA INSTRUMENTATION 0000B0 RND-RAD NETWORK DEVICES 0000B1 ALPHA MICROSYSTEMS INC. 0000B2 TELEVIDEO SYSTEMS, INC. 0000B3 CIMLINC INCORPORATED 0000B4 EDIMAX COMPUTER COMPANY 0000B5 DATABILITY SOFTWARE SYS. INC. 0000B6 MICRO-MATIC RESEARCH 0000B7 DOVE COMPUTER CORPORATION 0000B8 SEIKOSHA CO., LTD. 0000B9 MCDONNELL DOUGLAS COMPUTER SYS 0000BA SIIG, INC. 0000BB TRI-DATA 0000BC Rockwell Automation 0000BD MITSUBISHI CABLE COMPANY 0000BE THE NTI GROUP 0000BF SYMMETRIC COMPUTER SYSTEMS 0000C0 WESTERN DIGITAL CORPORATION 0000C1 Madge Ltd. 0000C2 INFORMATION PRESENTATION TECH. 0000C3 HARRIS CORP COMPUTER SYS DIV 0000C4 WATERS DIV. OF MILLIPORE 0000C5 FARALLON COMPUTING/NETOPIA 0000C6 EON SYSTEMS 0000C7 ARIX CORPORATION 0000C8 ALTOS COMPUTER SYSTEMS 0000C9 Emulex Corporation 0000CA ARRIS International 0000CB COMPU-SHACK ELECTRONIC GMBH 0000CC DENSAN CO., LTD. 0000CD Allied Telesis Labs Ltd 0000CE MEGADATA CORP. 0000CF HAYES MICROCOMPUTER PRODUCTS 0000D0 DEVELCON ELECTRONICS LTD. 0000D1 ADAPTEC INCORPORATED 0000D2 SBE, INC. 0000D3 WANG LABORATORIES INC. 0000D4 PURE DATA LTD. 0000D5 MICROGNOSIS INTERNATIONAL 0000D6 PUNCH LINE HOLDING 0000D7 DARTMOUTH COLLEGE 0000D8 NOVELL, INC. 0000D9 NIPPON TELEGRAPH & TELEPHONE 0000DA ATEX 0000DB BRITISH TELECOMMUNICATIONS PLC 0000DC HAYES MICROCOMPUTER PRODUCTS 0000DD TCL INCORPORATED 0000DE CETIA 0000DF BELL & HOWELL PUB SYS DIV 0000E0 QUADRAM CORP. 0000E1 GRID SYSTEMS 0000E2 ACER TECHNOLOGIES CORP. 0000E3 INTEGRATED MICRO PRODUCTS LTD 0000E4 IN2 GROUPE INTERTECHNIQUE 0000E5 SIGMEX LTD. 0000E6 APTOR PRODUITS DE COMM INDUST 0000E7 STAR GATE TECHNOLOGIES 0000E8 ACCTON TECHNOLOGY CORP. 0000E9 ISICAD, INC. 0000EA UPNOD AB 0000EB MATSUSHITA COMM. IND. CO. LTD. 0000EC MICROPROCESS 0000ED APRIL 0000EE NETWORK DESIGNERS, LTD. 0000EF KTI 0000F0 SAMSUNG ELECTRONICS CO., LTD. 0000F1 MAGNA COMPUTER CORPORATION 0000F2 SPIDER COMMUNICATIONS 0000F3 GANDALF DATA LIMITED 0000F4 Allied Telesis 0000F5 DIAMOND SALES LIMITED 0000F6 APPLIED MICROSYSTEMS CORP. 0000F7 YOUTH KEEP ENTERPRISE CO LTD 0000F8 DIGITAL EQUIPMENT CORPORATION 0000F9 QUOTRON SYSTEMS INC. 0000FA MICROSAGE COMPUTER SYSTEMS INC 0000FB RECHNER ZUR KOMMUNIKATION 0000FC MEIKO 0000FD HIGH LEVEL HARDWARE 0000FE ANNAPOLIS MICRO SYSTEMS 0000FF CAMTEC ELECTRONICS LTD. 000100 EQUIP'TRANS 000101 PRIVATE 000102 3COM CORPORATION 000103 3COM CORPORATION 000104 DVICO Co., Ltd. 000105 Beckhoff Automation GmbH 000106 Tews Datentechnik GmbH 000107 Leiser GmbH 000108 AVLAB Technology, Inc. 000109 Nagano Japan Radio Co., Ltd. 00010A CIS TECHNOLOGY INC. 00010B Space CyberLink, Inc. 00010C System Talks Inc. 00010D CORECO, INC. 00010E Bri-Link Technologies Co., Ltd 00010F Brocade Communications Systems, Inc. 000110 Gotham Networks 000111 iDigm Inc. 000112 Shark Multimedia Inc. 000113 OLYMPUS CORPORATION 000114 KANDA TSUSHIN KOGYO CO., LTD. 000115 EXTRATECH CORPORATION 000116 Netspect Technologies, Inc. 000117 CANAL + 000118 EZ Digital Co., Ltd. 000119 RTUnet (Australia) 00011A EEH DataLink GmbH 00011B Unizone Technologies, Inc. 00011C Universal Talkware Corporation 00011D Centillium Communications 00011E Precidia Technologies, Inc. 00011F RC Networks, Inc. 000120 OSCILLOQUARTZ S.A. 000121 Watchguard Technologies, Inc. 000122 Trend Communications, Ltd. 000123 DIGITAL ELECTRONICS CORP. 000124 Acer Incorporated 000125 YAESU MUSEN CO., LTD. 000126 PAC Labs 000127 OPEN Networks Pty Ltd 000128 EnjoyWeb, Inc. 000129 DFI Inc. 00012A Telematica Sistems Inteligente 00012B TELENET Co., Ltd. 00012C Aravox Technologies, Inc. 00012D Komodo Technology 00012E PC Partner Ltd. 00012F Twinhead International Corp 000130 Extreme Networks 000131 Bosch Security Systems, Inc. 000132 Dranetz - BMI 000133 KYOWA Electronic Instruments C 000134 Selectron Systems AG 000135 KDC Corp. 000136 CyberTAN Technology, Inc. 000137 IT Farm Corporation 000138 XAVi Technologies Corp. 000139 Point Multimedia Systems 00013A SHELCAD COMMUNICATIONS, LTD. 00013B BNA SYSTEMS 00013C TIW SYSTEMS 00013D RiscStation Ltd. 00013E Ascom Tateco AB 00013F Neighbor World Co., Ltd. 000140 Sendtek Corporation 000141 CABLE PRINT 000142 Cisco Systems, Inc. 000143 Cisco Systems, Inc. 000144 EMC Corporation 000145 WINSYSTEMS, INC. 000146 Tesco Controls, Inc. 000147 Zhone Technologies 000148 X-traWeb Inc. 000149 T.D.T. Transfer Data Test GmbH 00014A Sony Corporation 00014B Ennovate Networks, Inc. 00014C Berkeley Process Control 00014D Shin Kin Enterprises Co., Ltd 00014E WIN Enterprises, Inc. 00014F ADTRAN INC 000150 GILAT COMMUNICATIONS, LTD. 000151 Ensemble Communications 000152 CHROMATEK INC. 000153 ARCHTEK TELECOM CORPORATION 000154 G3M Corporation 000155 Promise Technology, Inc. 000156 FIREWIREDIRECT.COM, INC. 000157 SYSWAVE CO., LTD 000158 Electro Industries/Gauge Tech 000159 S1 Corporation 00015A Digital Video Broadcasting 00015B ITALTEL S.p.A/RF-UP-I 00015C CADANT INC. 00015D Oracle Corporation 00015E BEST TECHNOLOGY CO., LTD. 00015F DIGITAL DESIGN GmbH 000160 ELMEX Co., LTD. 000161 Meta Machine Technology 000162 Cygnet Technologies, Inc. 000163 Cisco Systems, Inc. 000164 Cisco Systems, Inc. 000165 AirSwitch Corporation 000166 TC GROUP A/S 000167 HIOKI E.E. CORPORATION 000168 VITANA CORPORATION 000169 Celestix Networks Pte Ltd. 00016A ALITEC 00016B LightChip, Inc. 00016C FOXCONN 00016D CarrierComm Inc. 00016E Conklin Corporation 00016F Inkel Corp. 000170 ESE Embedded System Engineer'g 000171 Allied Data Technologies 000172 TechnoLand Co., LTD. 000173 AMCC 000174 CyberOptics Corporation 000175 Radiant Communications Corp. 000176 Orient Silver Enterprises 000177 EDSL 000178 MARGI Systems, Inc. 000179 WIRELESS TECHNOLOGY, INC. 00017A Chengdu Maipu Electric Industrial Co., Ltd. 00017B Heidelberger Druckmaschinen AG 00017C AG-E GmbH 00017D ThermoQuest 00017E ADTEK System Science Co., Ltd. 00017F Experience Music Project 000180 AOpen, Inc. 000181 Nortel Networks 000182 DICA TECHNOLOGIES AG 000183 ANITE TELECOMS 000184 SIEB & MEYER AG 000185 Aloka Co., Ltd. 000186 Uwe Disch 000187 i2SE GmbH 000188 LXCO Technologies ag 000189 Refraction Technology, Inc. 00018A ROI COMPUTER AG 00018B NetLinks Co., Ltd. 00018C Mega Vision 00018D AudeSi Technologies 00018E Logitec Corporation 00018F Kenetec, Inc. 000190 SMK-M 000191 SYRED Data Systems 000192 Texas Digital Systems 000193 Hanbyul Telecom Co., Ltd. 000194 Capital Equipment Corporation 000195 Sena Technologies, Inc. 000196 Cisco Systems, Inc. 000197 Cisco Systems, Inc. 000198 Darim Vision 000199 HeiSei Electronics 00019A LEUNIG GmbH 00019B Kyoto Microcomputer Co., Ltd. 00019C JDS Uniphase Inc. 00019D E-Control Systems, Inc. 00019E ESS Technology, Inc. 00019F Phonex Broadband 0001A0 Infinilink Corporation 0001A1 Mag-Tek, Inc. 0001A2 Logical Co., Ltd. 0001A3 GENESYS LOGIC, INC. 0001A4 Microlink Corporation 0001A5 Nextcomm, Inc. 0001A6 Scientific-Atlanta Arcodan A/S 0001A7 UNEX TECHNOLOGY CORPORATION 0001A8 Welltech Computer Co., Ltd. 0001A9 BMW AG 0001AA Airspan Communications, Ltd. 0001AB Main Street Networks 0001AC Sitara Networks, Inc. 0001AD Coach Master International d.b.a. CMI Worldwide, Inc. 0001AE Trex Enterprises 0001AF Emerson Network Power 0001B0 Fulltek Technology Co., Ltd. 0001B1 General Bandwidth 0001B2 Digital Processing Systems, Inc. 0001B3 Precision Electronic Manufacturing 0001B4 Wayport, Inc. 0001B5 Turin Networks, Inc. 0001B6 SAEJIN T&M Co., Ltd. 0001B7 Centos, Inc. 0001B8 Netsensity, Inc. 0001B9 SKF Condition Monitoring 0001BA IC-Net, Inc. 0001BB Frequentis 0001BC Brains Corporation 0001BD Peterson Electro-Musical Products, Inc. 0001BE Gigalink Co., Ltd. 0001BF Teleforce Co., Ltd. 0001C0 CompuLab, Ltd. 0001C1 Vitesse Semiconductor Corporation 0001C2 ARK Research Corp. 0001C3 Acromag, Inc. 0001C4 NeoWave, Inc. 0001C5 Simpler Networks 0001C6 Quarry Technologies 0001C7 Cisco Systems, Inc. 0001C8 THOMAS CONRAD CORP. 0001C8 CONRAD CORP. 0001C9 Cisco Systems, Inc. 0001CA Geocast Network Systems, Inc. 0001CB EVR 0001CC Japan Total Design Communication Co., Ltd. 0001CD ARtem 0001CE Custom Micro Products, Ltd. 0001CF Alpha Data Parallel Systems, Ltd. 0001D0 VitalPoint, Inc. 0001D1 CoNet Communications, Inc. 0001D2 MacPower Peripherals, Ltd. 0001D3 PAXCOMM, Inc. 0001D4 Leisure Time, Inc. 0001D5 HAEDONG INFO & COMM CO., LTD 0001D6 manroland AG 0001D7 F5 Networks, Inc. 0001D8 Teltronics, Inc. 0001D9 Sigma, Inc. 0001DA WINCOMM Corporation 0001DB Freecom Technologies GmbH 0001DC Activetelco 0001DD Avail Networks 0001DE Trango Systems, Inc. 0001DF ISDN Communications, Ltd. 0001E0 Fast Systems, Inc. 0001E1 Kinpo Electronics, Inc. 0001E2 Ando Electric Corporation 0001E3 Siemens AG 0001E4 Sitera, Inc. 0001E5 Supernet, Inc. 0001E6 Hewlett-Packard Company 0001E7 Hewlett-Packard Company 0001E8 Force10 Networks, Inc. 0001E9 Litton Marine Systems B.V. 0001EA Cirilium Corp. 0001EB C-COM Corporation 0001EC Ericsson Group 0001ED SETA Corp. 0001EE Comtrol Europe, Ltd. 0001EF Camtel Technology Corp. 0001F0 Tridium, Inc. 0001F1 Innovative Concepts, Inc. 0001F2 Mark of the Unicorn, Inc. 0001F3 QPS, Inc. 0001F4 Enterasys Networks 0001F5 ERIM S.A. 0001F6 Association of Musical Electronics Industry 0001F7 Image Display Systems, Inc. 0001F8 Adherent Systems, Ltd. 0001F9 TeraGlobal Communications Corp. 0001FA HOROSCAS 0001FB DoTop Technology, Inc. 0001FC Keyence Corporation 0001FD Digital Voice Systems, Inc. 0001FE DIGITAL EQUIPMENT CORPORATION 0001FF Data Direct Networks, Inc. 000200 Net & Sys Co., Ltd. 000201 IFM Electronic gmbh 000202 Amino Communications, Ltd. 000203 Woonsang Telecom, Inc. 000204 Bodmann Industries Elektronik GmbH 000205 Hitachi Denshi, Ltd. 000206 Telital R&D Denmark A/S 000207 VisionGlobal Network Corp. 000208 Unify Networks, Inc. 000209 Shenzhen SED Information Technology Co., Ltd. 00020A Gefran Spa 00020B Native Networks, Inc. 00020C Metro-Optix 00020D Micronpc.com 00020E ECI Telecom, Ltd., NSD-US 00020F AATR 000210 Fenecom 000211 Nature Worldwide Technology Corp. 000212 SierraCom 000213 S.D.E.L. 000214 DTVRO 000215 Cotas Computer Technology A/B 000216 Cisco Systems, Inc. 000217 Cisco Systems, Inc. 000218 Advanced Scientific Corp 000219 Paralon Technologies 00021A Zuma Networks 00021B Kollmorgen-Servotronix 00021C Network Elements, Inc. 00021D Data General Communication Ltd. 00021E SIMTEL S.R.L. 00021F Aculab PLC 000220 Canon Aptex, Inc. 000221 DSP Application, Ltd. 000222 Chromisys, Inc. 000223 ClickTV 000224 C-COR 000225 One Stop Systems 000226 XESystems, Inc. 000227 ESD Electronic System Design GmbH 000228 Necsom, Ltd. 000229 Adtec Corporation 00022A Asound Electronic 00022B SAXA, Inc. 00022C ABB Bomem, Inc. 00022D Agere Systems 00022E TEAC Corp. R& D 00022F P-Cube, Ltd. 000230 Intersoft Electronics 000231 Ingersoll-Rand 000232 Avision, Inc. 000233 Mantra Communications, Inc. 000234 Imperial Technology, Inc. 000235 Paragon Networks International 000236 INIT GmbH 000237 Cosmo Research Corp. 000238 Serome Technology, Inc. 000239 Visicom 00023A ZSK Stickmaschinen GmbH 00023B Redback Networks 00023C Creative Technology, Ltd. 00023D Cisco Systems, Inc. 00023E Selta Telematica S.p.a 00023F Compal Electronics, Inc. 000240 Seedek Co., Ltd. 000241 Amer.com 000242 Videoframe Systems 000243 Raysis Co., Ltd. 000244 SURECOM Technology Co. 000245 Lampus Co, Ltd. 000246 All-Win Tech Co., Ltd. 000247 Great Dragon Information Technology (Group) Co., Ltd. 000248 Pilz GmbH & Co. 000249 Aviv Infocom Co, Ltd. 00024A Cisco Systems, Inc. 00024B Cisco Systems, Inc. 00024C SiByte, Inc. 00024D Mannesman Dematic Colby Pty. Ltd. 00024E Datacard Group 00024F IPM Datacom S.R.L. 000250 Geyser Networks, Inc. 000251 Soma Networks, Inc. 000252 Carrier Corporation 000253 Televideo, Inc. 000254 WorldGate 000255 IBM Corp 000256 Alpha Processor, Inc. 000257 Microcom Corp. 000258 Flying Packets Communications 000259 Tsann Kuen China (Shanghai)Enterprise Co., Ltd. IT Group 00025A Catena Networks 00025B Cambridge Silicon Radio 00025C SCI Systems (Kunshan) Co., Ltd. 00025D Calix Networks 00025E High Technology Ltd 00025F Nortel Networks 000260 Accordion Networks, Inc. 000261 Tilgin AB 000262 Soyo Group Soyo Com Tech Co., Ltd 000263 UPS Manufacturing SRL 000264 AudioRamp.com 000265 Virditech Co. Ltd. 000266 Thermalogic Corporation 000267 NODE RUNNER, INC. 000268 Harris Government Communications 000269 Nadatel Co., Ltd 00026A Cocess Telecom Co., Ltd. 00026B BCM Computers Co., Ltd. 00026C Philips CFT 00026D Adept Telecom 00026E NeGeN Access, Inc. 00026F Senao International Co., Ltd. 000270 Crewave Co., Ltd. 000271 Zhone Technologies 000272 CC&C Technologies, Inc. 000273 Coriolis Networks 000274 Tommy Technologies Corp. 000275 SMART Technologies, Inc. 000276 Primax Electronics Ltd. 000277 Cash Systemes Industrie 000278 Samsung Electro-Mechanics Co., Ltd. 000279 Control Applications, Ltd. 00027A IOI Technology Corporation 00027B Amplify Net, Inc. 00027C Trilithic, Inc. 00027D Cisco Systems, Inc. 00027E Cisco Systems, Inc. 00027F ask-technologies.com 000280 Mu Net, Inc. 000281 Madge Ltd. 000282 ViaClix, Inc. 000283 Spectrum Controls, Inc. 000284 AREVA T&D 000285 Riverstone Networks 000286 Occam Networks 000287 Adapcom 000288 GLOBAL VILLAGE COMMUNICATION 000289 DNE Technologies 00028A Ambit Microsystems Corporation 00028B VDSL Systems OY 00028C Micrel-Synergy Semiconductor 00028D Movita Technologies, Inc. 00028E Rapid 5 Networks, Inc. 00028F Globetek, Inc. 000290 Woorigisool, Inc. 000291 Open Network Co., Ltd. 000292 Logic Innovations, Inc. 000293 Solid Data Systems 000294 Tokyo Sokushin Co., Ltd. 000295 IP.Access Limited 000296 Lectron Co,. Ltd. 000297 C-COR.net 000298 Broadframe Corporation 000299 Apex, Inc. 00029A Storage Apps 00029B Kreatel Communications AB 00029C 3COM 00029D Merix Corp. 00029E Information Equipment Co., Ltd. 00029F L-3 Communication Aviation Recorders 0002A0 Flatstack Ltd. 0002A1 World Wide Packets 0002A2 Hilscher GmbH 0002A3 ABB Switzerland Ltd, Power Systems 0002A4 AddPac Technology Co., Ltd. 0002A5 Hewlett Packard 0002A6 Effinet Systems Co., Ltd. 0002A7 Vivace Networks 0002A8 Air Link Technology 0002A9 RACOM, s.r.o. 0002AA PLcom Co., Ltd. 0002AB CTC Union Technologies Co., Ltd. 0002AC 3PAR data 0002AD HOYA Corporation 0002AE Scannex Electronics Ltd. 0002AF TeleCruz Technology, Inc. 0002B0 Hokubu Communication & Industrial Co., Ltd. 0002B1 Anritsu, Ltd. 0002B2 Cablevision 0002B3 Intel Corporation 0002B4 DAPHNE 0002B5 Avnet, Inc. 0002B6 Acrosser Technology Co., Ltd. 0002B7 Watanabe Electric Industry Co., Ltd. 0002B8 WHI KONSULT AB 0002B9 Cisco Systems, Inc. 0002BA Cisco Systems, Inc. 0002BB Continuous Computing Corp 0002BC LVL 7 Systems, Inc. 0002BD Bionet Co., Ltd. 0002BE Totsu Engineering, Inc. 0002BF dotRocket, Inc. 0002C0 Bencent Tzeng Industry Co., Ltd. 0002C1 Innovative Electronic Designs, Inc. 0002C2 Net Vision Telecom 0002C3 Arelnet Ltd. 0002C4 Vector International BVBA 0002C5 Evertz Microsystems Ltd. 0002C6 Data Track Technology PLC 0002C7 ALPS ELECTRIC Co., Ltd. 0002C8 Technocom Communications Technology (pte) Ltd 0002C9 Mellanox Technologies 0002CA EndPoints, Inc. 0002CB TriState Ltd. 0002CC M.C.C.I 0002CD TeleDream, Inc. 0002CE FoxJet, Inc. 0002CF ZyGate Communications, Inc. 0002D0 Comdial Corporation 0002D1 Vivotek, Inc. 0002D2 Workstation AG 0002D3 NetBotz, Inc. 0002D4 PDA Peripherals, Inc. 0002D5 ACR 0002D6 NICE Systems 0002D7 EMPEG Ltd 0002D8 BRECIS Communications Corporation 0002D9 Reliable Controls 0002DA ExiO Communications, Inc. 0002DB NETSEC 0002DC Fujitsu General Limited 0002DD Bromax Communications, Ltd. 0002DE Astrodesign, Inc. 0002DF Net Com Systems, Inc. 0002E0 ETAS GmbH 0002E1 Integrated Network Corporation 0002E2 NDC Infared Engineering 0002E3 LITE-ON Communications, Inc. 0002E4 JC HYUN Systems, Inc. 0002E5 Timeware Ltd. 0002E6 Gould Instrument Systems, Inc. 0002E7 CAB GmbH & Co KG 0002E8 E.D.&A. 0002E9 CS Systemes De Securite - C3S 0002EA Focus Enhancements 0002EB Pico Communications 0002EC Maschoff Design Engineering 0002ED DXO Telecom Co., Ltd. 0002EE Nokia Danmark A/S 0002EF CCC Network Systems Group Ltd. 0002F0 AME Optimedia Technology Co., Ltd. 0002F1 Pinetron Co., Ltd. 0002F2 eDevice, Inc. 0002F3 Media Serve Co., Ltd. 0002F4 PCTEL, Inc. 0002F5 VIVE Synergies, Inc. 0002F6 Equipe Communications 0002F7 ARM 0002F8 SEAKR Engineering, Inc. 0002F9 Mimos Semiconductor SDN BHD 0002FA DX Antenna Co., Ltd. 0002FB Baumuller Aulugen-Systemtechnik GmbH 0002FC Cisco Systems, Inc. 0002FD Cisco Systems, Inc. 0002FE Viditec, Inc. 0002FF Handan BroadInfoCom 000300 Barracuda Networks, Inc. 000301 Avantas Networks Corporation 000302 Charles Industries, Ltd. 000303 JAMA Electronics Co., Ltd. 000304 Pacific Broadband Communications 000305 MSC Vertriebs GmbH 000306 Fusion In Tech Co., Ltd. 000307 Secure Works, Inc. 000308 AM Communications, Inc. 000309 Texcel Technology PLC 00030A Argus Technologies 00030B Hunter Technology, Inc. 00030C Telesoft Technologies Ltd. 00030D Uniwill Computer Corp. 00030E Core Communications Co., Ltd. 00030F Digital China (Shanghai) Networks Ltd. 000310 ITX E-Globaledge Corporation 000311 Micro Technology Co., Ltd. 000312 TR-Systemtechnik GmbH 000313 Access Media SPA 000314 Teleware Network Systems 000315 Cidco Incorporated 000316 Nobell Communications, Inc. 000317 Merlin Systems, Inc. 000318 Cyras Systems, Inc. 000319 Infineon AG 00031A Beijing Broad Telecom Ltd., China 00031B Cellvision Systems, Inc. 00031C Svenska Hardvarufabriken AB 00031D Taiwan Commate Computer, Inc. 00031E Optranet, Inc. 00031F Condev Ltd. 000320 Xpeed, Inc. 000321 Reco Research Co., Ltd. 000322 IDIS Co., Ltd. 000323 Cornet Technology, Inc. 000324 SANYO Consumer Electronics Co., Ltd. 000325 Arima Computer Corp. 000326 Iwasaki Information Systems Co., Ltd. 000327 ACT'L 000328 Mace Group, Inc. 000329 F3, Inc. 00032A UniData Communication Systems, Inc. 00032B GAI Datenfunksysteme GmbH 00032C ABB Switzerland Ltd 00032D IBASE Technology, Inc. 00032E Scope Information Management, Ltd. 00032F Global Sun Technology, Inc. 000330 Imagenics, Co., Ltd. 000331 Cisco Systems, Inc. 000332 Cisco Systems, Inc. 000333 Digitel Co., Ltd. 000334 Newport Electronics 000335 Mirae Technology 000336 Zetes Technologies 000337 Vaone, Inc. 000338 Oak Technology 000339 Eurologic Systems, Ltd. 00033A Silicon Wave, Inc. 00033B TAMI Tech Co., Ltd. 00033C Daiden Co., Ltd. 00033D ILSHin Lab 00033E Tateyama System Laboratory Co., Ltd. 00033F BigBand Networks, Ltd. 000340 Floware Wireless Systems, Ltd. 000341 Axon Digital Design 000342 Nortel Networks 000343 Martin Professional A/S 000344 Tietech.Co., Ltd. 000345 Routrek Networks Corporation 000346 Hitachi Kokusai Electric, Inc. 000347 Intel Corporation 000348 Norscan Instruments, Ltd. 000349 Vidicode Datacommunicatie B.V. 00034A RIAS Corporation 00034B Nortel Networks 00034C Shanghai DigiVision Technology Co., Ltd. 00034D Chiaro Networks, Ltd. 00034E Pos Data Company, Ltd. 00034F Sur-Gard Security 000350 BTICINO SPA 000351 Diebold, Inc. 000352 Colubris Networks 000353 Mitac, Inc. 000354 Fiber Logic Communications 000355 TeraBeam Internet Systems 000356 Wincor Nixdorf International GmbH 000357 Intervoice-Brite, Inc. 000358 Hanyang Digitech Co., Ltd. 000359 DigitalSis 00035A Photron Limited 00035B BridgeWave Communications 00035C Saint Song Corp. 00035D Bosung Hi-Net Co., Ltd. 00035E Metropolitan Area Networks, Inc. 00035F Prueftechnik Condition Monitoring GmbH & Co. KG 000360 PAC Interactive Technology, Inc. 000361 Widcomm, Inc. 000362 Vodtel Communications, Inc. 000363 Miraesys Co., Ltd. 000364 Scenix Semiconductor, Inc. 000365 Kira Information & Communications, Ltd. 000366 ASM Pacific Technology 000367 Jasmine Networks, Inc. 000368 Embedone Co., Ltd. 000369 Nippon Antenna Co., Ltd. 00036A Mainnet, Ltd. 00036B Cisco Systems, Inc. 00036C Cisco Systems, Inc. 00036D Runtop, Inc. 00036E Nicon Systems (Pty) Limited 00036F Telsey SPA 000370 NXTV, Inc. 000371 Acomz Networks Corp. 000372 ULAN 000373 Aselsan A.S 000374 Control Microsystems 000375 NetMedia, Inc. 000376 Graphtec Technology, Inc. 000377 Gigabit Wireless 000378 HUMAX Co., Ltd. 000379 Proscend Communications, Inc. 00037A Taiyo Yuden Co., Ltd. 00037B IDEC IZUMI Corporation 00037C Coax Media 00037D Stellcom 00037E PORTech Communications, Inc. 00037F Atheros Communications, Inc. 000380 SSH Communications Security Corp. 000381 Ingenico International 000382 A-One Co., Ltd. 000383 Metera Networks, Inc. 000384 AETA 000385 Actelis Networks, Inc. 000386 Ho Net, Inc. 000387 Blaze Network Products 000388 Fastfame Technology Co., Ltd. 000389 Plantronics 00038A America Online, Inc. 00038B PLUS-ONE I&T, Inc. 00038C Total Impact 00038D PCS Revenue Control Systems, Inc. 00038E Atoga Systems, Inc. 00038F Weinschel Corporation 000390 Digital Video Communications, Inc. 000391 Advanced Digital Broadcast, Ltd. 000392 Hyundai Teletek Co., Ltd. 000393 Apple Computer, Inc. 000394 Connect One 000395 California Amplifier 000396 EZ Cast Co., Ltd. 000397 Watchfront Limited 000398 WISI 000399 Dongju Informations & Communications Co., Ltd. 00039A SiConnect 00039B NetChip Technology, Inc. 00039C OptiMight Communications, Inc. 00039D Qisda Corporation 00039E Tera System Co., Ltd. 00039F Cisco Systems, Inc. 0003A0 Cisco Systems, Inc. 0003A1 HIPER Information & Communication, Inc. 0003A2 Catapult Communications 0003A3 MAVIX, Ltd. 0003A4 Imation Corp. 0003A5 Medea Corporation 0003A6 Traxit Technology, Inc. 0003A7 Unixtar Technology, Inc. 0003A8 IDOT Computers, Inc. 0003A9 AXCENT Media AG 0003AA Watlow 0003AB Bridge Information Systems 0003AC Fronius Schweissmaschinen 0003AD Emerson Energy Systems AB 0003AE Allied Advanced Manufacturing Pte, Ltd. 0003AF Paragea Communications 0003B0 Xsense Technology Corp. 0003B1 Hospira Inc. 0003B2 Radware 0003B3 IA Link Systems Co., Ltd. 0003B4 Macrotek International Corp. 0003B5 Entra Technology Co. 0003B6 QSI Corporation 0003B7 ZACCESS Systems 0003B8 NetKit Solutions, LLC 0003B9 Hualong Telecom Co., Ltd. 0003BA Oracle Corporation 0003BB Signal Communications Limited 0003BC COT GmbH 0003BD OmniCluster Technologies, Inc. 0003BE Netility 0003BF Centerpoint Broadband Technologies, Inc. 0003C0 RFTNC Co., Ltd. 0003C1 Packet Dynamics Ltd 0003C2 Solphone K.K. 0003C3 Micronik Multimedia 0003C4 Tomra Systems ASA 0003C5 Mobotix AG 0003C6 ICUE Systems, Inc. 0003C7 hopf Elektronik GmbH 0003C8 CML Emergency Services 0003C9 TECOM Co., Ltd. 0003CA MTS Systems Corp. 0003CB Nippon Systems Development Co., Ltd. 0003CC Momentum Computer, Inc. 0003CD Clovertech, Inc. 0003CE ETEN Technologies, Inc. 0003CF Muxcom, Inc. 0003D0 KOANKEISO Co., Ltd. 0003D1 Takaya Corporation 0003D2 Crossbeam Systems, Inc. 0003D3 Internet Energy Systems, Inc. 0003D4 Alloptic, Inc. 0003D5 Advanced Communications Co., Ltd. 0003D6 RADVision, Ltd. 0003D7 NextNet Wireless, Inc. 0003D8 iMPath Networks, Inc. 0003D9 Secheron SA 0003DA Takamisawa Cybernetics Co., Ltd. 0003DB Apogee Electronics Corp. 0003DC Lexar Media, Inc. 0003DD Comark Corp. 0003DE OTC Wireless 0003DF Desana Systems 0003E0 Motorola, Inc. 0003E1 Winmate Communication, Inc. 0003E2 Comspace Corporation 0003E3 Cisco Systems, Inc. 0003E4 Cisco Systems, Inc. 0003E5 Hermstedt SG 0003E6 Entone, Inc. 0003E7 Logostek Co. Ltd. 0003E8 Wavelength Digital Limited 0003E9 Akara Canada, Inc. 0003EA Mega System Technologies, Inc. 0003EB Atrica 0003EC ICG Research, Inc. 0003ED Shinkawa Electric Co., Ltd. 0003EE MKNet Corporation 0003EF Oneline AG 0003F0 Redfern Broadband Networks 0003F1 Cicada Semiconductor, Inc. 0003F2 Seneca Networks 0003F3 Dazzle Multimedia, Inc. 0003F4 NetBurner 0003F5 Chip2Chip 0003F6 Allegro Networks, Inc. 0003F7 Plast-Control GmbH 0003F8 SanCastle Technologies, Inc. 0003F9 Pleiades Communications, Inc. 0003FA TiMetra Networks 0003FB ENEGATE Co.,Ltd. 0003FC Intertex Data AB 0003FD Cisco Systems, Inc. 0003FE Cisco Systems, Inc. 0003FF Microsoft Corporation 000400 LEXMARK INTERNATIONAL, INC. 000401 Osaki Electric Co., Ltd. 000402 Nexsan Technologies, Ltd. 000403 Nexsi Corporation 000404 Makino Milling Machine Co., Ltd. 000405 ACN Technologies 000406 Fa. Metabox AG 000407 Topcon Positioning Systems, Inc. 000408 Sanko Electronics Co., Ltd. 000409 Cratos Networks 00040A Sage Systems 00040B 3com Europe Ltd. 00040C KANNO Work's Ltd. 00040D Avaya, Inc. 00040E AVM GmbH 00040F Asus Network Technologies, Inc. 000410 Spinnaker Networks, Inc. 000411 Inkra Networks, Inc. 000412 WaveSmith Networks, Inc. 000413 SNOM Technology AG 000414 Umezawa Musen Denki Co., Ltd. 000415 Rasteme Systems Co., Ltd. 000416 Parks S/A Comunicacoes Digitais 000417 ELAU AG 000418 Teltronic S.A.U. 000419 Fibercycle Networks, Inc. 00041A Ines Test and Measurement GmbH & CoKG 00041B Bridgeworks Ltd. 00041C ipDialog, Inc. 00041D Corega of America 00041E Shikoku Instrumentation Co., Ltd. 00041F Sony Computer Entertainment, Inc. 000420 Slim Devices, Inc. 000421 Ocular Networks 000422 Gordon Kapes, Inc. 000423 Intel Corporation 000424 TMC s.r.l. 000425 Atmel Corporation 000426 Autosys 000427 Cisco Systems, Inc. 000428 Cisco Systems, Inc. 000429 Pixord Corporation 00042A Wireless Networks, Inc. 00042B IT Access Co., Ltd. 00042C Minet, Inc. 00042D Sarian Systems, Ltd. 00042E Netous Technologies, Ltd. 00042F International Communications Products, Inc. 000430 Netgem 000431 GlobalStreams, Inc. 000432 Voyetra Turtle Beach, Inc. 000433 Cyberboard A/S 000434 Accelent Systems, Inc. 000435 Comptek International, Inc. 000436 ELANsat Technologies, Inc. 000437 Powin Information Technology, Inc. 000438 Nortel Networks 000439 Rosco Entertainment Technology, Inc. 00043A Intelligent Telecommunications, Inc. 00043B Lava Computer Mfg., Inc. 00043C SONOS Co., Ltd. 00043D INDEL AG 00043E Telencomm 00043F ESTeem Wireless Modems, Inc 000440 cyberPIXIE, Inc. 000441 Half Dome Systems, Inc. 000442 NACT 000443 Agilent Technologies, Inc. 000444 Western Multiplex Corporation 000445 LMS Skalar Instruments GmbH 000446 CYZENTECH Co., Ltd. 000447 Acrowave Systems Co., Ltd. 000448 Polaroid Corporation 000449 Mapletree Networks 00044A iPolicy Networks, Inc. 00044B NVIDIA 00044C JENOPTIK 00044D Cisco Systems, Inc. 00044E Cisco Systems, Inc. 00044F Leukhardt Systemelektronik GmbH 000450 DMD Computers SRL 000451 Medrad, Inc. 000452 RocketLogix, Inc. 000453 YottaYotta, Inc. 000454 Quadriga UK 000455 ANTARA.net 000456 Motorola PTP Inc 000457 Universal Access Technology, Inc. 000458 Fusion X Co., Ltd. 000459 Veristar Corporation 00045A The Linksys Group, Inc. 00045B Techsan Electronics Co., Ltd. 00045C Mobiwave Pte Ltd 00045D BEKA Elektronik 00045E PolyTrax Information Technology AG 00045F Evalue Technology, Inc. 000460 Knilink Technology, Inc. 000461 EPOX Computer Co., Ltd. 000462 DAKOS Data & Communication Co., Ltd. 000463 Bosch Security Systems 000464 Fantasma Networks, Inc. 000465 i.s.t isdn-support technik GmbH 000466 ARMITEL Co. 000467 Wuhan Research Institute of MII 000468 Vivity, Inc. 000469 Innocom, Inc. 00046A Navini Networks 00046B Palm Wireless, Inc. 00046C Cyber Technology Co., Ltd. 00046D Cisco Systems, Inc. 00046E Cisco Systems, Inc. 00046F Digitel S/A Industria Eletronica 000470 ipUnplugged AB 000471 IPrad 000472 Telelynx, Inc. 000473 Photonex Corporation 000474 LEGRAND 000475 3 Com Corporation 000476 3 Com Corporation 000477 Scalant Systems, Inc. 000478 G. Star Technology Corporation 000479 Radius Co., Ltd. 00047A AXXESSIT ASA 00047B Schlumberger 00047C Skidata AG 00047D Pelco 00047E Optelecom=NKF 00047F Chr. Mayr GmbH & Co. KG 000480 Brocade Communications Systems, Inc 000481 Econolite Control Products, Inc. 000482 Medialogic Corp. 000483 Deltron Technology, Inc. 000484 Amann GmbH 000485 PicoLight 000486 ITTC, University of Kansas 000487 Cogency Semiconductor, Inc. 000488 Eurotherm Controls 000489 YAFO Networks, Inc. 00048A Temia Vertriebs GmbH 00048B Poscon Corporation 00048C Nayna Networks, Inc. 00048D Tone Commander Systems, Inc. 00048E Ohm Tech Labs, Inc. 00048F TD Systems Corporation 000490 Optical Access 000491 Technovision, Inc. 000492 Hive Internet, Ltd. 000493 Tsinghua Unisplendour Co., Ltd. 000494 Breezecom, Ltd. 000495 Tejas Networks India Limited 000496 Extreme Networks 000497 MacroSystem Digital Video AG 000498 Mahi Networks 000499 Chino Corporation 00049A Cisco Systems, Inc. 00049B Cisco Systems, Inc. 00049C Surgient Networks, Inc. 00049D Ipanema Technologies 00049E Wirelink Co., Ltd. 00049F Freescale Semiconductor 0004A0 Verity Instruments, Inc. 0004A1 Pathway Connectivity 0004A2 L.S.I. Japan Co., Ltd. 0004A3 Microchip Technology, Inc. 0004A4 NetEnabled, Inc. 0004A5 Barco Projection Systems NV 0004A6 SAF Tehnika Ltd. 0004A7 FabiaTech Corporation 0004A8 Broadmax Technologies, Inc. 0004A9 SandStream Technologies, Inc. 0004AA Jetstream Communications 0004AB Comverse Network Systems, Inc. 0004AC IBM Corp 0004AD Malibu Networks 0004AE Sullair Corporation 0004AF Digital Fountain, Inc. 0004B0 ELESIGN Co., Ltd. 0004B1 Signal Technology, Inc. 0004B2 ESSEGI SRL 0004B3 Videotek, Inc. 0004B4 CIAC 0004B5 Equitrac Corporation 0004B6 Stratex Networks, Inc. 0004B7 AMB i.t. Holding 0004B8 Kumahira Co., Ltd. 0004B9 S.I. Soubou, Inc. 0004BA KDD Media Will Corporation 0004BB Bardac Corporation 0004BC Giantec, Inc. 0004BD Motorola BCS 0004BE OptXCon, Inc. 0004BF VersaLogic Corp. 0004C0 Cisco Systems, Inc. 0004C1 Cisco Systems, Inc. 0004C2 Magnipix, Inc. 0004C3 CASTOR Informatique 0004C4 Allen & Heath Limited 0004C5 ASE Technologies, USA 0004C6 Yamaha Motor Co., Ltd. 0004C7 NetMount 0004C8 LIBA Maschinenfabrik GmbH 0004C9 Micro Electron Co., Ltd. 0004CA FreeMs Corp. 0004CB Tdsoft Communication, Ltd. 0004CC Peek Traffic B.V. 0004CD Informedia Research Group 0004CE Patria Ailon 0004CF Seagate Technology 0004D0 Softlink s.r.o. 0004D1 Drew Technologies, Inc. 0004D2 Adcon Telemetry GmbH 0004D3 Toyokeiki Co., Ltd. 0004D4 Proview Electronics Co., Ltd. 0004D5 Hitachi Information & Communication Engineering, Ltd. 0004D6 Takagi Industrial Co., Ltd. 0004D7 Omitec Instrumentation Ltd. 0004D8 IPWireless, Inc. 0004D9 Titan Electronics, Inc. 0004DA Relax Technology, Inc. 0004DB Tellus Group Corp. 0004DC Nortel Networks 0004DD Cisco Systems, Inc. 0004DE Cisco Systems, Inc. 0004DF Teracom Telematica Ltda. 0004E0 Procket Networks 0004E1 Infinior Microsystems 0004E2 SMC Networks, Inc. 0004E3 Accton Technology Corp. 0004E4 Daeryung Ind., Inc. 0004E5 Glonet Systems, Inc. 0004E6 Banyan Network Private Limited 0004E7 Lightpointe Communications, Inc 0004E8 IER, Inc. 0004E9 Infiniswitch Corporation 0004EA Hewlett-Packard Company 0004EB Paxonet Communications, Inc. 0004EC Memobox SA 0004ED Billion Electric Co., Ltd. 0004EE Lincoln Electric Company 0004EF Polestar Corp. 0004F0 International Computers, Ltd 0004F1 WhereNet 0004F2 Polycom 0004F3 FS FORTH-SYSTEME GmbH 0004F4 Infinite Electronics Inc. 0004F5 SnowShore Networks, Inc. 0004F6 Amphus 0004F7 Omega Band, Inc. 0004F8 QUALICABLE TV Industria E Com., Ltda 0004F9 Xtera Communications, Inc. 0004FA NBS Technologies Inc. 0004FB Commtech, Inc. 0004FC Stratus Computer (DE), Inc. 0004FD Japan Control Engineering Co., Ltd. 0004FE Pelago Networks 0004FF Acronet Co., Ltd. 000500 Cisco Systems, Inc. 000501 Cisco Systems, Inc. 000502 APPLE COMPUTER 000503 ICONAG 000504 Naray Information & Communication Enterprise 000505 Systems Integration Solutions, Inc. 000506 Reddo Networks AB 000507 Fine Appliance Corp. 000508 Inetcam, Inc. 000509 AVOC Nishimura Ltd. 00050A ICS Spa 00050B SICOM Systems, Inc. 00050C Network Photonics, Inc. 00050D Midstream Technologies, Inc. 00050E 3ware, Inc. 00050F Tanaka S/S Ltd. 000510 Infinite Shanghai Communication Terminals Ltd. 000511 Complementary Technologies Ltd 000512 MeshNetworks, Inc. 000513 VTLinx Multimedia Systems, Inc. 000514 KDT Systems Co., Ltd. 000515 Nuark Co., Ltd. 000516 SMART Modular Technologies 000517 Shellcomm, Inc. 000518 Jupiters Technology 000519 Siemens Building Technologies AG, 00051A 3Com Europe Ltd. 00051B Magic Control Technology Corporation 00051C Xnet Technology Corp. 00051D Airocon, Inc. 00051E Brocade Communications Systems, Inc. 00051F Taijin Media Co., Ltd. 000520 Smartronix, Inc. 000521 Control Microsystems 000522 LEA*D Corporation, Inc. 000523 AVL List GmbH 000524 BTL System (HK) Limited 000525 Puretek Industrial Co., Ltd. 000526 IPAS GmbH 000527 SJ Tek Co. Ltd 000528 New Focus, Inc. 000529 Shanghai Broadan Communication Technology Co., Ltd 00052A Ikegami Tsushinki Co., Ltd. 00052B HORIBA, Ltd. 00052C Supreme Magic Corporation 00052D Zoltrix International Limited 00052E Cinta Networks 00052F Leviton Network Solutions 000530 Andiamo Systems, Inc. 000531 Cisco Systems, Inc. 000532 Cisco Systems, Inc. 000533 Brocade Communications Systems, Inc. 000534 Northstar Engineering Ltd. 000535 Chip PC Ltd. 000536 Danam Communications, Inc. 000537 Nets Technology Co., Ltd. 000538 Merilus, Inc. 000539 A Brand New World in Sweden AB 00053A Willowglen Services Pte Ltd 00053B Harbour Networks Ltd., Co. Beijing 00053C Xircom 00053D Agere Systems 00053E KID Systeme GmbH 00053F VisionTek, Inc. 000540 FAST Corporation 000541 Advanced Systems Co., Ltd. 000542 Otari, Inc. 000543 IQ Wireless GmbH 000544 Valley Technologies, Inc. 000545 Internet Photonics 000546 KDDI Network & Solultions Inc. 000547 Starent Networks 000548 Disco Corporation 000549 Salira Optical Network Systems 00054A Ario Data Networks, Inc. 00054B Eaton Automation AG 00054C RF Innovations Pty Ltd 00054D Brans Technologies, Inc. 00054E Philips 00054F PRIVATE 000550 Vcomms Connect Limited 000551 F & S Elektronik Systeme GmbH 000552 Xycotec Computer GmbH 000553 DVC Company, Inc. 000554 Rangestar Wireless 000555 Japan Cash Machine Co., Ltd. 000556 360 Systems 000557 Agile TV Corporation 000558 Synchronous, Inc. 000559 Intracom S.A. 00055A Power Dsine Ltd. 00055B Charles Industries, Ltd. 00055C Kowa Company, Ltd. 00055D D-Link Systems, Inc. 00055E Cisco Systems, Inc. 00055F Cisco Systems, Inc. 000560 LEADER COMM.CO., LTD 000561 nac Image Technology, Inc. 000562 Digital View Limited 000563 J-Works, Inc. 000564 Tsinghua Bitway Co., Ltd. 000565 Tailyn Communication Company Ltd. 000566 Secui.com Corporation 000567 Etymonic Design, Inc. 000568 Piltofish Networks AB 000569 VMware, Inc. 00056A Heuft Systemtechnik GmbH 00056B C.P. Technology Co., Ltd. 00056C Hung Chang Co., Ltd. 00056D Pacific Corporation 00056E National Enhance Technology, Inc. 00056F Innomedia Technologies Pvt. Ltd. 000570 Baydel Ltd. 000571 Seiwa Electronics Co. 000572 Deonet Co., Ltd. 000573 Cisco Systems, Inc. 000574 Cisco Systems, Inc. 000575 CDS-Electronics BV 000576 NSM Technology Ltd. 000577 SM Information & Communication 000578 PRIVATE 000579 Universal Control Solution Corp. 00057A Hatteras Networks 00057B Chung Nam Electronic Co., Ltd. 00057C RCO Security AB 00057D Sun Communications, Inc. 00057E Eckelmann Steuerungstechnik GmbH 00057F Acqis Technology 000580 Fibrolan Ltd. 000581 Snell 000582 ClearCube Technology 000583 ImageCom Limited 000584 AbsoluteValue Systems, Inc. 000585 Juniper Networks, Inc. 000586 Lucent Technologies 000587 Locus, Incorporated 000588 Sensoria Corp. 000589 National Datacomputer 00058A Netcom Co., Ltd. 00058B IPmental, Inc. 00058C Opentech Inc. 00058D Lynx Photonic Networks, Inc. 00058E Flextronics International GmbH & Co. Nfg. KG 00058F CLCsoft co. 000590 Swissvoice Ltd. 000591 Active Silicon Ltd. 000592 Pultek Corp. 000593 Grammar Engine Inc. 000594 IXXAT Automation GmbH 000595 Alesis Corporation 000596 Genotech Co., Ltd. 000597 Eagle Traffic Control Systems 000598 CRONOS S.r.l. 000599 DRS Test and Energy Management or DRS-TEM 00059A Cisco Systems, Inc. 00059B Cisco Systems, Inc. 00059C Kleinknecht GmbH, Ing. Buero 00059D Daniel Computing Systems, Inc. 00059E Zinwell Corporation 00059F Yotta Networks, Inc. 0005A0 MOBILINE Kft. 0005A1 Zenocom 0005A2 CELOX Networks 0005A3 QEI, Inc. 0005A4 Lucid Voice Ltd. 0005A5 KOTT 0005A6 Extron Electronics 0005A7 Hyperchip, Inc. 0005A8 WYLE ELECTRONICS 0005A9 Princeton Networks, Inc. 0005AA Moore Industries International Inc. 0005AB Cyber Fone, Inc. 0005AC Northern Digital, Inc. 0005AD Topspin Communications, Inc. 0005AE Mediaport USA 0005AF InnoScan Computing A/S 0005B0 Korea Computer Technology Co., Ltd. 0005B1 ASB Technology BV 0005B2 Medison Co., Ltd. 0005B3 Asahi-Engineering Co., Ltd. 0005B4 Aceex Corporation 0005B5 Broadcom Technologies 0005B6 INSYS Microelectronics GmbH 0005B7 Arbor Technology Corp. 0005B8 Electronic Design Associates, Inc. 0005B9 Airvana, Inc. 0005BA Area Netwoeks, Inc. 0005BB Myspace AB 0005BC Resorsys Ltd. 0005BD ROAX BV 0005BE Kongsberg Seatex AS 0005BF JustEzy Technology, Inc. 0005C0 Digital Network Alacarte Co., Ltd. 0005C1 A-Kyung Motion, Inc. 0005C2 Soronti, Inc. 0005C3 Pacific Instruments, Inc. 0005C4 Telect, Inc. 0005C5 Flaga HF 0005C6 Triz Communications 0005C7 I/F-COM A/S 0005C8 VERYTECH 0005C9 LG Innotek Co., Ltd. 0005CA Hitron Technology, Inc. 0005CB ROIS Technologies, Inc. 0005CC Sumtel Communications, Inc. 0005CD Denon, Ltd. 0005CE Prolink Microsystems Corporation 0005CF Thunder River Technologies, Inc. 0005D0 Solinet Systems 0005D1 Metavector Technologies 0005D2 DAP Technologies 0005D3 eProduction Solutions, Inc. 0005D4 FutureSmart Networks, Inc. 0005D5 Speedcom Wireless 0005D6 Titan Wireless 0005D7 Vista Imaging, Inc. 0005D8 Arescom, Inc. 0005D9 Techno Valley, Inc. 0005DA Apex Automationstechnik 0005DB PSI Nentec GmbH 0005DC Cisco Systems, Inc. 0005DD Cisco Systems, Inc. 0005DE Gi Fone Korea, Inc. 0005DF Electronic Innovation, Inc. 0005E0 Empirix Corp. 0005E1 Trellis Photonics, Ltd. 0005E2 Creativ Network Technologies 0005E3 LightSand Communications, Inc. 0005E4 Red Lion Controls Inc. 0005E5 Renishaw PLC 0005E6 Egenera, Inc. 0005E7 Netrake an AudioCodes Company 0005E8 TurboWave, Inc. 0005E9 Unicess Network, Inc. 0005EA Rednix 0005EB Blue Ridge Networks, Inc. 0005EC Mosaic Systems Inc. 0005ED Technikum Joanneum GmbH 0005EE BEWATOR Group 0005EF ADOIR Digital Technology 0005F0 SATEC 0005F1 Vrcom, Inc. 0005F2 Power R, Inc. 0005F3 Weboyn 0005F4 System Base Co., Ltd. 0005F5 OYO Geospace 0005F6 Young Chang Co. Ltd. 0005F7 Analog Devices, Inc. 0005F8 Real Time Access, Inc. 0005F9 TOA Corporation 0005FA IPOptical, Inc. 0005FB ShareGate, Inc. 0005FC Schenck Pegasus Corp. 0005FD PacketLight Networks Ltd. 0005FE Traficon N.V. 0005FF SNS Solutions, Inc. 000600 Toshiba Teli Corporation 000601 Otanikeiki Co., Ltd. 000602 Cirkitech Electronics Co. 000603 Baker Hughes Inc. 000604 @Track Communications, Inc. 000605 Inncom International, Inc. 000606 RapidWAN, Inc. 000607 Omni Directional Control Technology Inc. 000608 At-Sky SAS 000609 Crossport Systems 00060A Blue2space 00060B Emerson Network Power 00060C Melco Industries, Inc. 00060D Wave7 Optics 00060E IGYS Systems, Inc. 00060F Narad Networks Inc 000610 Abeona Networks Inc 000611 Zeus Wireless, Inc. 000612 Accusys, Inc. 000613 Kawasaki Microelectronics Incorporated 000614 Prism Holdings 000615 Kimoto Electric Co., Ltd. 000616 Tel Net Co., Ltd. 000617 Redswitch Inc. 000618 DigiPower Manufacturing Inc. 000619 Connection Technology Systems 00061A Zetari Inc. 00061B Notebook Development Lab. Lenovo Japan Ltd. 00061C Hoshino Metal Industries, Ltd. 00061D MIP Telecom, Inc. 00061E Maxan Systems 00061F Vision Components GmbH 000620 Serial System Ltd. 000621 Hinox, Co., Ltd. 000622 Chung Fu Chen Yeh Enterprise Corp. 000623 MGE UPS Systems France 000624 Gentner Communications Corp. 000625 The Linksys Group, Inc. 000626 MWE GmbH 000627 Uniwide Technologies, Inc. 000628 Cisco Systems, Inc. 000629 IBM Corp 00062A Cisco Systems, Inc. 00062B INTRASERVER TECHNOLOGY 00062C Bivio Networks 00062D TouchStar Technologies, L.L.C. 00062E Aristos Logic Corp. 00062F Pivotech Systems Inc. 000630 Adtranz Sweden 000631 Optical Solutions, Inc. 000632 Mesco Engineering GmbH 000633 Cross Match Technologies GmbH 000634 GTE Airfone Inc. 000635 PacketAir Networks, Inc. 000636 Jedai Broadband Networks 000637 Toptrend-Meta Information (ShenZhen) Inc. 000638 Sungjin C&C Co., Ltd. 000639 Newtec 00063A Dura Micro, Inc. 00063B Arcturus Networks, Inc. 00063C Intrinsyc Europe Ltd 00063D Microwave Data Systems Inc. 00063E Opthos Inc. 00063F Everex Communications Inc. 000640 White Rock Networks 000641 ITCN 000642 Genetel Systems Inc. 000643 SONO Computer Co., Ltd. 000644 Neix,Inc 000645 Meisei Electric Co. Ltd. 000646 ShenZhen XunBao Network Technology Co Ltd 000647 Etrali S.A. 000648 Seedsware, Inc. 000649 3M Deutschland GmbH 00064A Honeywell Co., Ltd. (KOREA) 00064B Alexon Co., Ltd. 00064C Invicta Networks, Inc. 00064D Sencore 00064E Broad Net Technology Inc. 00064F PRO-NETS Technology Corporation 000650 Tiburon Networks, Inc. 000651 Aspen Networks Inc. 000652 Cisco Systems, Inc. 000653 Cisco Systems, Inc. 000654 Winpresa Building Automation Technologies GmbH 000655 Yipee, Inc. 000656 Tactel AB 000657 Market Central, Inc. 000658 Helmut Fischer GmbH Institut für Elektronik und Messtechnik 000659 EAL (Apeldoorn) B.V. 00065A Strix Systems 00065B Dell Computer Corp. 00065C Malachite Technologies, Inc. 00065D Heidelberg Web Systems 00065E Photuris, Inc. 00065F ECI Telecom - NGTS Ltd. 000660 NADEX Co., Ltd. 000661 NIA Home Technologies Corp. 000662 MBM Technology Ltd. 000663 Human Technology Co., Ltd. 000664 Fostex Corporation 000665 Sunny Giken, Inc. 000666 Roving Networks 000667 Tripp Lite 000668 Vicon Industries Inc. 000669 Datasound Laboratories Ltd 00066A InfiniCon Systems, Inc. 00066B Sysmex Corporation 00066C Robinson Corporation 00066D Compuprint S.P.A. 00066E Delta Electronics, Inc. 00066F Korea Data Systems 000670 Upponetti Oy 000671 Softing AG 000672 Netezza 000673 Optelecom-nkf 000674 Spectrum Control, Inc. 000675 Banderacom, Inc. 000676 Novra Technologies Inc. 000677 SICK AG 000678 Marantz Brand Company 000679 Konami Corporation 00067A JMP Systems 00067B Toplink C&C Corporation 00067C CISCO SYSTEMS, INC. 00067D Takasago Ltd. 00067E WinCom Systems, Inc. 00067F Digeo, Inc. 000680 Card Access, Inc. 000681 Goepel Electronic GmbH 000682 Convedia 000683 Bravara Communications, Inc. 000684 Biacore AB 000685 NetNearU Corporation 000686 ZARDCOM Co., Ltd. 000687 Omnitron Systems Technology, Inc. 000688 Telways Communication Co., Ltd. 000689 yLez Technologies Pte Ltd 00068A NeuronNet Co. Ltd. R&D Center 00068B AirRunner Technologies, Inc. 00068C 3Com Corporation 00068D SEPATON, Inc. 00068E HID Corporation 00068F Telemonitor, Inc. 000690 Euracom Communication GmbH 000691 PT Inovacao 000692 Intruvert Networks, Inc. 000693 Flexus Computer Technology, Inc. 000694 Mobillian Corporation 000695 Ensure Technologies, Inc. 000696 Advent Networks 000697 R & D Center 000698 egnite Software GmbH 000699 Vida Design Co. 00069A e & Tel 00069B AVT Audio Video Technologies GmbH 00069C Transmode Systems AB 00069D Petards Ltd 00069E UNIQA, Inc. 00069F Kuokoa Networks 0006A0 Mx Imaging 0006A1 Celsian Technologies, Inc. 0006A2 Microtune, Inc. 0006A3 Bitran Corporation 0006A4 INNOWELL Corp. 0006A5 PINON Corp. 0006A6 Artistic Licence (UK) Ltd 0006A7 Primarion 0006A8 KC Technology, Inc. 0006A9 Universal Instruments Corp. 0006AA VT Miltope 0006AB W-Link Systems, Inc. 0006AC Intersoft Co. 0006AD KB Electronics Ltd. 0006AE Himachal Futuristic Communications Ltd 0006AF Xalted Networks 0006B0 Comtech EF Data Corp. 0006B1 Sonicwall 0006B2 Linxtek Co. 0006B3 Diagraph Corporation 0006B4 Vorne Industries, Inc. 0006B5 Luminent, Inc. 0006B6 Nir-Or Israel Ltd. 0006B7 TELEM GmbH 0006B8 Bandspeed Pty Ltd 0006B9 A5TEK Corp. 0006BA Westwave Communications 0006BB ATI Technologies Inc. 0006BC Macrolink, Inc. 0006BD BNTECHNOLOGY Co., Ltd. 0006BE Baumer Optronic GmbH 0006BF Accella Technologies Co., Ltd. 0006C0 United Internetworks, Inc. 0006C1 CISCO SYSTEMS, INC. 0006C2 Smartmatic Corporation 0006C3 Schindler Elevator Ltd. 0006C4 Piolink Inc. 0006C5 INNOVI Technologies Limited 0006C6 lesswire AG 0006C7 RFNET Technologies Pte Ltd (S) 0006C8 Sumitomo Metal Micro Devices, Inc. 0006C9 Technical Marketing Research, Inc. 0006CA American Computer & Digital Components, Inc. (ACDC) 0006CB Jotron Electronics A/S 0006CC JMI Electronics Co., Ltd. 0006CD Leaf Imaging Ltd. 0006CE DATENO 0006CF Thales Avionics In-Flight Systems, LLC 0006D0 Elgar Electronics Corp. 0006D1 Tahoe Networks, Inc. 0006D2 Tundra Semiconductor Corp. 0006D3 Alpha Telecom, Inc. U.S.A. 0006D4 Interactive Objects, Inc. 0006D5 Diamond Systems Corp. 0006D6 Cisco Systems, Inc. 0006D7 Cisco Systems, Inc. 0006D8 Maple Optical Systems 0006D9 IPM-Net S.p.A. 0006DA ITRAN Communications Ltd. 0006DB ICHIPS Co., Ltd. 0006DC Syabas Technology (Amquest) 0006DD AT & T Laboratories - Cambridge Ltd 0006DE Flash Technology 0006DF AIDONIC Corporation 0006E0 MAT Co., Ltd. 0006E1 Techno Trade s.a 0006E2 Ceemax Technology Co., Ltd. 0006E3 Quantitative Imaging Corporation 0006E4 Citel Technologies Ltd. 0006E5 Fujian Newland Computer Ltd. Co. 0006E6 DongYang Telecom Co., Ltd. 0006E7 Bit Blitz Communications Inc. 0006E8 Optical Network Testing, Inc. 0006E9 Intime Corp. 0006EA ELZET80 Mikrocomputer GmbH&Co. KG 0006EB Global Data 0006EC Harris Corporation 0006ED Inara Networks 0006EE Shenyang Neu-era Information & Technology Stock Co., Ltd 0006EF Maxxan Systems, Inc. 0006F0 Digeo, Inc. 0006F1 Optillion 0006F2 Platys Communications 0006F3 AcceLight Networks 0006F4 Prime Electronics & Satellitics Inc. 0006F5 ALPS Co,. Ltd. 0006F6 Cisco Systems 0006F7 ALPS Electric Co,. Ltd. 0006F8 CPU Technology, Inc. 0006F9 Mitsui Zosen Systems Research Inc. 0006FA IP SQUARE Co, Ltd. 0006FB Hitachi Printing Solutions, Ltd. 0006FC Fnet Co., Ltd. 0006FD Comjet Information Systems Corp. 0006FE Ambrado, Inc 0006FF Sheba Systems Co., Ltd. 000700 Zettamedia Korea 000701 RACAL-DATACOM 000702 Varian Medical Systems 000703 CSEE Transport 000704 ALPS Electric Co,. Ltd. 000705 Endress & Hauser GmbH & Co 000706 Sanritz Corporation 000707 Interalia Inc. 000708 Bitrage Inc. 000709 Westerstrand Urfabrik AB 00070A Unicom Automation Co., Ltd. 00070B Novabase SGPS, SA 00070C SVA-Intrusion.com Co. Ltd. 00070D Cisco Systems Inc. 00070E Cisco Systems Inc. 00070F Fujant, Inc. 000710 Adax, Inc. 000711 Acterna 000712 JAL Information Technology 000713 IP One, Inc. 000714 Brightcom 000715 General Research of Electronics, Inc. 000716 J & S Marine Ltd. 000717 Wieland Electric GmbH 000718 iCanTek Co., Ltd. 000719 Mobiis Co., Ltd. 00071A Finedigital Inc. 00071B CDV Americas Ltd 00071C AT&T Fixed Wireless Services 00071D Satelsa Sistemas Y Aplicaciones De Telecomunicaciones, S.A. 00071E Tri-M Engineering / Nupak Dev. Corp. 00071F European Systems Integration 000720 Trutzschler GmbH & Co. KG 000721 Formac Elektronik GmbH 000722 The Nielsen Company 000723 ELCON Systemtechnik GmbH 000724 Telemax Co., Ltd. 000725 Bematech International Corp. 000727 Zi Corporation (HK) Ltd. 000728 Neo Telecom 000729 Kistler Instrumente AG 00072A Innovance Networks 00072B Jung Myung Telecom Co., Ltd. 00072C Fabricom 00072D CNSystems 00072E North Node AB 00072F Intransa, Inc. 000730 Hutchison OPTEL Telecom Technology Co., Ltd. 000731 Ophir-Spiricon Inc 000732 AAEON Technology Inc. 000733 DANCONTROL Engineering 000734 ONStor, Inc. 000735 Flarion Technologies, Inc. 000736 Data Video Technologies Co., Ltd. 000737 Soriya Co. Ltd. 000738 Young Technology Co., Ltd. 000739 Scotty Group Austria Gmbh 00073A Inventel Systemes 00073B Tenovis GmbH & Co KG 00073C Telecom Design 00073D Nanjing Postel Telecommunications Co., Ltd. 00073E China Great-Wall Computer Shenzhen Co., Ltd. 00073F Woojyun Systec Co., Ltd. 000740 Buffalo, Inc 000741 Sierra Automated Systems 000742 Current Technologies, LLC 000743 Chelsio Communications 000744 Unico, Inc. 000745 Radlan Computer Communications Ltd. 000746 TURCK, Inc. 000747 Mecalc 000748 The Imaging Source Europe 000749 CENiX Inc. 00074A Carl Valentin GmbH 00074B Daihen Corporation 00074C Beicom Inc. 00074D Zebra Technologies Corp. 00074E Naughty boy co., Ltd. 00074F Cisco Systems, Inc. 000750 Cisco Systems, Inc. 000751 m·u·t AG 000752 Rhythm Watch Co., Ltd. 000753 Beijing Qxcomm Technology Co., Ltd. 000754 Xyterra Computing, Inc. 000755 Lafon SA 000756 Juyoung Telecom 000757 Topcall International AG 000758 Dragonwave 000759 Boris Manufacturing Corp. 00075A Air Products and Chemicals, Inc. 00075B Gibson Guitars 00075C Eastman Kodak Company 00075D Celleritas Inc. 00075E Ametek Power Instruments 00075F VCS Video Communication Systems AG 000760 TOMIS Information & Telecom Corp. 000761 Logitech SA 000762 Group Sense Limited 000763 Sunniwell Cyber Tech. Co., Ltd. 000764 YoungWoo Telecom Co. Ltd. 000765 Jade Quantum Technologies, Inc. 000766 Chou Chin Industrial Co., Ltd. 000767 Yuxing Electronics Company Limited 000768 Danfoss A/S 000769 Italiana Macchi SpA 00076A NEXTEYE Co., Ltd. 00076B Stralfors AB 00076C Daehanet, Inc. 00076D Flexlight Networks 00076E Sinetica Corporation Limited 00076F Synoptics Limited 000770 Locusnetworks Corporation 000771 Embedded System Corporation 000772 Alcatel Shanghai Bell Co., Ltd. 000773 Ascom Powerline Communications Ltd. 000774 GuangZhou Thinker Technology Co. Ltd. 000775 Valence Semiconductor, Inc. 000776 Federal APD 000777 Motah Ltd. 000778 GERSTEL GmbH & Co. KG 000779 Sungil Telecom Co., Ltd. 00077A Infoware System Co., Ltd. 00077B Millimetrix Broadband Networks 00077C Westermo Teleindustri AB 00077E Elrest GmbH 00077F J Communications Co., Ltd. 000780 Bluegiga Technologies OY 000781 Itron Inc. 000782 Oracle Corporation 000783 SynCom Network, Inc. 000784 Cisco Systems Inc. 000785 Cisco Systems Inc. 000786 Wireless Networks Inc. 000787 Idea System Co., Ltd. 000788 Clipcomm, Inc. 000789 DONGWON SYSTEMS 00078A Mentor Data System Inc. 00078B Wegener Communications, Inc. 00078C Elektronikspecialisten i Borlange AB 00078D NetEngines Ltd. 00078E Garz & Friche GmbH 00078F Emkay Innovative Products 000790 Tri-M Technologies (s) Limited 000791 International Data Communications, Inc. 000792 Suetron Electronic GmbH 000793 Shin Satellite Public Company Limited 000794 Simple Devices, Inc. 000795 Elitegroup Computer System Co. (ECS) 000796 LSI Systems, Inc. 000797 Netpower Co., Ltd. 000798 Selea SRL 000799 Tipping Point Technologies, Inc. 00079A Verint Systems Inc 00079B Aurora Networks 00079C Golden Electronics Technology Co., Ltd. 00079D Musashi Co., Ltd. 00079E Ilinx Co., Ltd. 00079F Action Digital Inc. 0007A0 e-Watch Inc. 0007A1 VIASYS Healthcare GmbH 0007A2 Opteon Corporation 0007A3 Ositis Software, Inc. 0007A4 GN Netcom Ltd. 0007A5 Y.D.K Co. Ltd. 0007A6 Home Automation, Inc. 0007A7 A-Z Inc. 0007A8 Haier Group Technologies Ltd. 0007A9 Novasonics 0007AA Quantum Data Inc. 0007AC Eolring 0007AD Pentacon GmbH Foto-und Feinwerktechnik 0007AE Britestream Networks, Inc. 0007AF N-Tron Corp. 0007B0 Office Details, Inc. 0007B1 Equator Technologies 0007B2 Transaccess S.A. 0007B3 Cisco Systems Inc. 0007B4 Cisco Systems Inc. 0007B5 Any One Wireless Ltd. 0007B6 Telecom Technology Ltd. 0007B7 Samurai Ind. Prods Eletronicos Ltda 0007B8 Corvalent Corporation 0007B9 Ginganet Corporation 0007BA UTStarcom, Inc. 0007BB Candera Inc. 0007BC Identix Inc. 0007BD Radionet Ltd. 0007BE DataLogic SpA 0007BF Armillaire Technologies, Inc. 0007C0 NetZerver Inc. 0007C1 Overture Networks, Inc. 0007C2 Netsys Telecom 0007C3 Thomson 0007C4 JEAN Co. Ltd. 0007C5 Gcom, Inc. 0007C6 VDS Vosskuhler GmbH 0007C7 Synectics Systems Limited 0007C8 Brain21, Inc. 0007C9 Technol Seven Co., Ltd. 0007CA Creatix Polymedia Ges Fur Kommunikaitonssysteme 0007CB Freebox SA 0007CC Kaba Benzing GmbH 0007CD NMTEL Co., Ltd. 0007CE Cabletime Limited 0007CF Anoto AB 0007D0 Automat Engenharia de Automaoa Ltda. 0007D1 Spectrum Signal Processing Inc. 0007D2 Logopak Systeme 0007D3 Stork Digital Imaging B.V. 0007D4 Zhejiang Yutong Network Communication Co Ltd. 0007D5 3e Technologies Int;., Inc. 0007D6 Commil Ltd. 0007D7 Caporis Networks AG 0007D8 Hitron Systems Inc. 0007D9 Splicecom 0007DA Neuro Telecom Co., Ltd. 0007DB Kirana Networks, Inc. 0007DC Atek Co, Ltd. 0007DD Cradle Technologies 0007DE eCopilt AB 0007DF Vbrick Systems Inc. 0007E0 Palm Inc. 0007E1 WIS Communications Co. Ltd. 0007E2 Bitworks, Inc. 0007E3 Navcom Technology, Inc. 0007E4 SoftRadio Co., Ltd. 0007E5 Coup Corporation 0007E6 edgeflow Canada Inc. 0007E7 FreeWave Technologies 0007E8 St. Bernard Software 0007E9 Intel Corporation 0007EA Massana, Inc. 0007EB Cisco Systems Inc. 0007EC Cisco Systems Inc. 0007ED Altera Corporation 0007EE telco Informationssysteme GmbH 0007EF Lockheed Martin Tactical Systems 0007F0 LogiSync LLC 0007F1 TeraBurst Networks Inc. 0007F2 IOA Corporation 0007F3 Thinkengine Networks 0007F4 Eletex Co., Ltd. 0007F5 Bridgeco Co AG 0007F6 Qqest Software Systems 0007F7 Galtronics 0007F8 ITDevices, Inc. 0007F9 Phonetics, Inc. 0007FA ITT Co., Ltd. 0007FB Giga Stream UMTS Technologies GmbH 0007FC Adept Systems Inc. 0007FD LANergy Ltd. 0007FE Rigaku Corporation 0007FF Gluon Networks 000800 MULTITECH SYSTEMS, INC. 000801 HighSpeed Surfing Inc. 000802 Hewlett Packard 000803 Cos Tron 000804 ICA Inc. 000805 Techno-Holon Corporation 000806 Raonet Systems, Inc. 000807 Access Devices Limited 000808 PPT Vision, Inc. 000809 Systemonic AG 00080A Espera-Werke GmbH 00080B Birka BPA Informationssystem AB 00080C VDA Elettronica spa 00080D Toshiba 00080E Motorola, BCS 00080F Proximion Fiber Optics AB 000810 Key Technology, Inc. 000811 VOIX Corporation 000812 GM-2 Corporation 000813 Diskbank, Inc. 000814 TIL Technologies 000815 CATS Co., Ltd. 000816 Bluetags A/S 000817 EmergeCore Networks LLC 000818 Pixelworks, Inc. 000819 Banksys 00081A Sanrad Intelligence Storage Communications (2000) Ltd. 00081B Windigo Systems 00081C @pos.com 00081D Ipsil, Incorporated 00081E Repeatit AB 00081F Pou Yuen Tech Corp. Ltd. 000820 Cisco Systems Inc. 000821 Cisco Systems Inc. 000822 InPro Comm 000823 Texa Corp. 000824 Copitrak Inc 000825 Acme Packet 000826 Colorado Med Tech 000827 Pirelli Broadband Solutions 000828 Koei Engineering Ltd. 000829 Aval Nagasaki Corporation 00082A Powerwallz Network Security 00082B Wooksung Electronics, Inc. 00082C Homag AG 00082D Indus Teqsite Private Limited 00082E Multitone Electronics PLC 00084E DivergeNet, Inc. 00084F Qualstar Corporation 000850 Arizona Instrument Corp. 000851 Canadian Bank Note Company, Ltd. 000852 Davolink Co. Inc. 000853 Schleicher GmbH & Co. Relaiswerke KG 000854 Netronix, Inc. 000855 NASA-Goddard Space Flight Center 000856 Gamatronic Electronic Industries Ltd. 000857 Polaris Networks, Inc. 000858 Novatechnology Inc. 000859 ShenZhen Unitone Electronics Co., Ltd. 00085A IntiGate Inc. 00085B Hanbit Electronics Co., Ltd. 00085C Shanghai Dare Technologies Co. Ltd. 00085D Aastra 00085E PCO AG 00085F Picanol N.V. 000860 LodgeNet Entertainment Corp. 000861 SoftEnergy Co., Ltd. 000862 NEC Eluminant Technologies, Inc. 000863 Entrisphere Inc. 000864 Fasy S.p.A. 000865 JASCOM CO., LTD 000866 DSX Access Systems, Inc. 000867 Uptime Devices 000868 PurOptix 000869 Command-e Technology Co.,Ltd. 00086A Securiton Gmbh 00086B MIPSYS 00086C Plasmon LMS 00086D Missouri FreeNet 00086E Hyglo AB 00086F Resources Computer Network Ltd. 000870 Rasvia Systems, Inc. 000871 NORTHDATA Co., Ltd. 000872 Sorenson Communications 000873 DapTechnology B.V. 000874 Dell Computer Corp. 000875 Acorp Electronics Corp. 000876 SDSystem 000877 Liebert-Hiross Spa 000878 Benchmark Storage Innovations 000879 CEM Corporation 00087A Wipotec GmbH 00087B RTX Telecom A/S 00087C Cisco Systems, Inc. 00087D Cisco Systems Inc. 00087E Bon Electro-Telecom Inc. 00087F SPAUN electronic GmbH & Co. KG 000880 BroadTel Canada Communications inc. 000881 DIGITAL HANDS CO.,LTD. 000882 SIGMA CORPORATION 000883 Hewlett-Packard Company 000884 Index Braille AB 000885 EMS Dr. Thomas Wuensche 000886 Hansung Teliann, Inc. 000887 Maschinenfabrik Reinhausen GmbH 000888 OULLIM Information Technology Inc,. 000889 Echostar Technologies Corp 00088A Minds@Work 00088B Tropic Networks Inc. 00088C Quanta Network Systems Inc. 00088D Sigma-Links Inc. 00088E Nihon Computer Co., Ltd. 00088F ADVANCED DIGITAL TECHNOLOGY 000890 AVILINKS SA 000891 Lyan Inc. 000892 EM Solutions 000893 LE INFORMATION COMMUNICATION INC. 000894 InnoVISION Multimedia Ltd. 000895 DIRC Technologie GmbH & Co.KG 000896 Printronix, Inc. 000897 Quake Technologies 000898 Gigabit Optics Corporation 000899 Netbind, Inc. 00089A Alcatel Microelectronics 00089B ICP Electronics Inc. 00089C Elecs Industry Co., Ltd. 00089D UHD-Elektronik 00089E Beijing Enter-Net co.LTD 00089F EFM Networks 0008A0 Stotz Feinmesstechnik GmbH 0008A1 CNet Technology Inc. 0008A2 ADI Engineering, Inc. 0008A3 Cisco Systems 0008A4 Cisco Systems 0008A5 Peninsula Systems Inc. 0008A6 Multiware & Image Co., Ltd. 0008A7 iLogic Inc. 0008A8 Systec Co., Ltd. 0008A9 SangSang Technology, Inc. 0008AA KARAM 0008AB EnerLinx.com, Inc. 0008AC Eltromat GmbH 0008AD Toyo-Linx Co., Ltd. 0008AE PacketFront Sweden AB 0008AF Novatec Corporation 0008B0 BKtel communications GmbH 0008B1 ProQuent Systems 0008B2 SHENZHEN COMPASS TECHNOLOGY DEVELOPMENT CO.,LTD 0008B3 Fastwel 0008B4 SYSPOL 0008B5 TAI GUEN ENTERPRISE CO., LTD 0008B6 RouteFree, Inc. 0008B7 HIT Incorporated 0008B8 E.F. Johnson 0008B9 KAON MEDIA Co., Ltd. 0008BA Erskine Systems Ltd 0008BB NetExcell 0008BC Ilevo AB 0008BD TEPG-US 0008BE XENPAK MSA Group 0008BF Aptus Elektronik AB 0008C0 ASA SYSTEMS 0008C1 Avistar Communications Corporation 0008C2 Cisco Systems 0008C3 Contex A/S 0008C4 Hikari Co.,Ltd. 0008C5 Liontech Co., Ltd. 0008C6 Philips Consumer Communications 0008C7 Hewlett Packard 0008C8 Soneticom, Inc. 0008C9 TechniSat Digital GmbH 0008CA TwinHan Technology Co.,Ltd 0008CB Zeta Broadband Inc. 0008CC Remotec, Inc. 0008CD With-Net Inc 0008CE IPMobileNet Inc. 0008CF Nippon Koei Power Systems Co., Ltd. 0008D0 Musashi Engineering Co., LTD. 0008D1 KAREL INC. 0008D2 ZOOM Networks Inc. 0008D3 Hercules Technologies S.A. 0008D4 IneoQuest Technologies, Inc 0008D5 Vanguard Networks Solutions, LLC 0008D6 HASSNET Inc. 0008D7 HOW CORPORATION 0008D8 Dowkey Microwave 0008D9 Mitadenshi Co.,LTD 0008DA SofaWare Technologies Ltd. 0008DB Corrigent Systems 0008DC Wiznet 0008DD Telena Communications, Inc. 0008DE 3UP Systems 0008DF Alistel Inc. 0008E0 ATO Technology Ltd. 0008E1 Barix AG 0008E2 Cisco Systems 0008E3 Cisco Systems 0008E4 Envenergy Inc 0008E5 IDK Corporation 0008E6 Littlefeet 0008E7 SHI ControlSystems,Ltd. 0008E8 Excel Master Ltd. 0008E9 NextGig 0008EA Motion Control Engineering, Inc 0008EB ROMWin Co.,Ltd. 0008EC Optical Zonu Corporation 0008ED ST&T Instrument Corp. 0008EE Logic Product Development 0008EF DIBAL,S.A. 0008F0 Next Generation Systems, Inc. 0008F1 Voltaire 0008F2 C&S Technology 0008F3 WANY 0008F4 Bluetake Technology Co., Ltd. 0008F5 YESTECHNOLOGY Co.,Ltd. 0008F6 Sumitomo Electric System Solutions Co.,Ltd. 0008F7 Hitachi Ltd, Semiconductor & Integrated Circuits Gr 0008F8 Guardall Ltd 0008F9 Emerson Network Power 0008FA Karl E.Brinkmann GmbH 0008FB SonoSite, Inc. 0008FC Gigaphoton Inc. 0008FD BlueKorea Co., Ltd. 0008FE UNIK C&C Co.,Ltd. 0008FF Trilogy Communications Ltd 000900 TMT 000901 Shenzhen Shixuntong Information & Technoligy Co 000902 Redline Communications Inc. 000903 Panasas, Inc 000904 MONDIAL electronic 000905 iTEC Technologies Ltd. 000906 Esteem Networks 000907 Chrysalis Development 000908 VTech Technology Corp. 000909 Telenor Connect A/S 00090A SnedFar Technology Co., Ltd. 00090B MTL Instruments PLC 00090C Mayekawa Mfg. Co. Ltd. 00090D LEADER ELECTRONICS CORP. 00090E Helix Technology Inc. 00090F Fortinet Inc. 000910 Simple Access Inc. 000911 Cisco Systems 000912 Cisco Systems 000913 SystemK Corporation 000914 COMPUTROLS INC. 000915 CAS Corp. 000916 Listman Home Technologies, Inc. 000917 WEM Technology Inc 000918 SAMSUNG TECHWIN CO.,LTD 000919 MDS Gateways 00091A Macat Optics & Electronics Co., Ltd. 00091B Digital Generation Inc. 00091C CacheVision, Inc 00091D Proteam Computer Corporation 00091E Firstech Technology Corp. 00091F A&D Co., Ltd. 000920 EpoX COMPUTER CO.,LTD. 000921 Planmeca Oy 000922 TST Biometrics GmbH 000923 Heaman System Co., Ltd 000924 Telebau GmbH 000925 VSN Systemen BV 000926 YODA COMMUNICATIONS, INC. 000927 TOYOKEIKI CO.,LTD. 000928 Telecore 000929 Sanyo Industries (UK) Limited 00092A MYTECS Co.,Ltd. 00092B iQstor Networks, Inc. 00092C Hitpoint Inc. 00092D HTC Corporation 00092E B&Tech System Inc. 00092F Akom Technology Corporation 000930 AeroConcierge Inc. 000931 Future Internet, Inc. 000932 Omnilux 000933 Ophit Co.Ltd. 000934 Dream-Multimedia-Tv GmbH 000935 Sandvine Incorporated 000936 Ipetronik GmbH & Co.KG 000937 Inventec Appliance Corp 000938 Allot Communications 000939 ShibaSoku Co.,Ltd. 00093A Molex Fiber Optics 00093B HYUNDAI NETWORKS INC. 00093C Jacques Technologies P/L 00093D Newisys,Inc. 00093E C&I Technologies 00093F Double-Win Enterpirse CO., LTD 000940 AGFEO GmbH & Co. KG 000941 Allied Telesis K.K. 000942 Wireless Technologies, Inc 000943 Cisco Systems 000944 Cisco Systems 000945 Palmmicro Communications Inc 000946 Cluster Labs GmbH 000947 Aztek, Inc. 000948 Vista Control Systems, Corp. 000949 Glyph Technologies Inc. 00094A Homenet Communications 00094B FillFactory NV 00094C Communication Weaver Co.,Ltd. 00094D Braintree Communications Pty Ltd 00094E BARTECH SYSTEMS INTERNATIONAL, INC 00094F elmegt GmbH & Co. KG 000950 Independent Storage Corporation 000951 Apogee Imaging Systems 000952 Auerswald GmbH & Co. KG 000953 Linkage System Integration Co.Ltd. 000954 AMiT spol. s. r. o. 000955 Young Generation International Corp. 000956 Network Systems Group, Ltd. (NSG) 000957 Supercaller, Inc. 000958 INTELNET S.A. 000959 Sitecsoft 00095A RACEWOOD TECHNOLOGY 00095B Netgear, Inc. 00095C Philips Medical Systems - Cardiac and Monitoring Systems (CM 00095D Dialogue Technology Corp. 00095E Masstech Group Inc. 00095F Telebyte, Inc. 000960 YOZAN Inc. 000961 Switchgear and Instrumentation Ltd 000962 Sonitor Technologies AS 000963 Dominion Lasercom Inc. 000964 Hi-Techniques, Inc. 000965 HyunJu Computer Co., Ltd. 000966 Thales Navigation 000967 Tachyon, Inc 000968 TECHNOVENTURE, INC. 000969 Meret Optical Communications 00096A Cloverleaf Communications Inc. 00096B IBM Corp 00096C Imedia Semiconductor Corp. 00096D Powernet Technologies Corp. 00096E GIANT ELECTRONICS LTD. 00096F Beijing Zhongqing Elegant Tech. Corp.,Limited 000970 Vibration Research Corporation 000971 Time Management, Inc. 000972 Securebase,Inc 000973 Lenten Technology Co., Ltd. 000974 Innopia Technologies, Inc. 000975 fSONA Communications Corporation 000976 Datasoft ISDN Systems GmbH 000977 Brunner Elektronik AG 000978 AIJI System Co., Ltd. 000979 Advanced Television Systems Committee, Inc. 00097A Louis Design Labs. 00097B Cisco Systems 00097C Cisco Systems 00097D SecWell Networks Oy 00097E IMI TECHNOLOGY CO., LTD 00097F Vsecure 2000 LTD. 000980 Power Zenith Inc. 000981 Newport Networks 000982 Loewe Opta GmbH 000983 Gvision Incorporated 000984 MyCasa Network Inc. 000985 Auto Telecom Company 000986 Metalink LTD. 000987 NISHI NIPPON ELECTRIC WIRE & CABLE CO.,LTD. 000988 Nudian Electron Co., Ltd. 000989 VividLogic Inc. 00098A EqualLogic Inc 00098B Entropic Communications, Inc. 00098C Option Wireless Sweden 00098D Velocity Semiconductor 00098E ipcas GmbH 00098F Cetacean Networks 000990 ACKSYS Communications & systems 000991 GE Fanuc Automation Manufacturing, Inc. 000992 InterEpoch Technology,INC. 000993 Visteon Corporation 000994 Cronyx Engineering 000995 Castle Technology Ltd 000996 RDI 000997 Nortel Networks 000998 Capinfo Company Limited 000999 CP GEORGES RENAULT 00099A ELMO COMPANY, LIMITED 00099B Western Telematic Inc. 00099C Naval Research Laboratory 00099D Haliplex Communications 00099E Testech, Inc. 00099F VIDEX INC. 0009A0 Microtechno Corporation 0009A1 Telewise Communications, Inc. 0009A2 Interface Co., Ltd. 0009A3 Leadfly Techologies Corp. Ltd. 0009A4 HARTEC Corporation 0009A5 HANSUNG ELETRONIC INDUSTRIES DEVELOPMENT CO., LTD 0009A6 Ignis Optics, Inc. 0009A7 Bang & Olufsen A/S 0009A8 Eastmode Pte Ltd 0009A9 Ikanos Communications 0009AA Data Comm for Business, Inc. 0009AB Netcontrol Oy 0009AC LANVOICE 0009AD HYUNDAI SYSCOMM, INC. 0009AE OKANO ELECTRIC CO.,LTD 0009AF e-generis 0009B0 Onkyo Corporation 0009B1 Kanematsu Electronics, Ltd. 0009B2 L&F Inc. 0009B3 MCM Systems Ltd 0009B4 KISAN TELECOM CO., LTD. 0009B5 3J Tech. Co., Ltd. 0009B6 Cisco Systems 0009B7 Cisco Systems 0009B8 Entise Systems 0009B9 Action Imaging Solutions 0009BA MAKU Informationstechik GmbH 0009BB MathStar, Inc. 0009BC Digital Safety Technologies, Inc 0009BD Epygi Technologies, Ltd. 0009BE Mamiya-OP Co.,Ltd. 0009BF Nintendo Co.,Ltd. 0009C0 6WIND 0009C1 PROCES-DATA A/S 0009C2 Onity, Inc. 0009C3 NETAS 0009C4 Medicore Co., Ltd 0009C5 KINGENE Technology Corporation 0009C6 Visionics Corporation 0009C7 Movistec 0009C8 SINAGAWA TSUSHIN KEISOU SERVICE 0009C9 BlueWINC Co., Ltd. 0009CA iMaxNetworks(Shenzhen)Limited. 0009CB HBrain 0009CC Moog GmbH 0009CD HUDSON SOFT CO.,LTD. 0009CE SpaceBridge Semiconductor Corp. 0009CF iAd GmbH 0009D0 Solacom Technologies Inc. 0009D1 SERANOA NETWORKS INC 0009D2 Mai Logic Inc. 0009D3 Western DataCom Co., Inc. 0009D4 Transtech Networks 0009D5 Signal Communication, Inc. 0009D6 KNC One GmbH 0009D7 DC Security Products 0009D8 Fält Communications AB 0009D9 Neoscale Systems, Inc 0009DA Control Module Inc. 0009DB eSpace 0009DC Galaxis Technology AG 0009DD Mavin Technology Inc. 0009DE Samjin Information & Communications Co., Ltd. 0009DF Vestel Komunikasyon Sanayi ve Ticaret A.S. 0009E0 XEMICS S.A. 0009E1 Gemtek Technology Co., Ltd. 0009E2 Sinbon Electronics Co., Ltd. 0009E3 Angel Iglesias S.A. 0009E4 K Tech Infosystem Inc. 0009E5 Hottinger Baldwin Messtechnik GmbH 0009E6 Cyber Switching Inc. 0009E7 ADC Techonology 0009E8 Cisco Systems 0009E9 Cisco Systems 0009EA YEM Inc. 0009EB HuMANDATA LTD. 0009EC Daktronics, Inc. 0009ED CipherOptics 0009EE MEIKYO ELECTRIC CO.,LTD 0009EF Vocera Communications 0009F0 Shimizu Technology Inc. 0009F1 Yamaki Electric Corporation 0009F2 Cohu, Inc., Electronics Division 0009F3 WELL Communication Corp. 0009F4 Alcon Laboratories, Inc. 0009F5 Emerson Network Power Co.,Ltd 0009F6 Shenzhen Eastern Digital Tech Ltd. 0009F7 SED, a division of Calian 0009F8 UNIMO TECHNOLOGY CO., LTD. 0009F9 ART JAPAN CO., LTD. 0009FB Philips Patient Monitoring 0009FC IPFLEX Inc. 0009FD Ubinetics Limited 0009FE Daisy Technologies, Inc. 0009FF X.net 2000 GmbH 000A00 Mediatek Corp. 000A01 SOHOware, Inc. 000A02 ANNSO CO., LTD. 000A03 ENDESA SERVICIOS, S.L. 000A04 3Com Ltd 000A05 Widax Corp. 000A06 Teledex LLC 000A07 WebWayOne Ltd 000A08 ALPINE ELECTRONICS, INC. 000A09 TaraCom Integrated Products, Inc. 000A0A SUNIX Co., Ltd. 000A0B Sealevel Systems, Inc. 000A0C Scientific Research Corporation 000A0D FCI Deutschland GmbH 000A0E Invivo Research Inc. 000A0F Ilryung Telesys, Inc 000A10 FAST media integrations AG 000A11 ExPet Technologies, Inc 000A12 Azylex Technology, Inc 000A13 Honeywell Video Systems 000A14 TECO a.s. 000A15 Silicon Data, Inc 000A16 Lassen Research 000A17 NESTAR COMMUNICATIONS, INC 000A18 Vichel Inc. 000A19 Valere Power, Inc. 000A1A Imerge Ltd 000A1B Stream Labs 000A1C Bridge Information Co., Ltd. 000A1D Optical Communications Products Inc. 000A1E Red-M Products Limited 000A1F ART WARE Telecommunication Co., Ltd. 000A20 SVA Networks, Inc. 000A21 Integra Telecom Co. Ltd 000A22 Amperion Inc 000A23 Parama Networks Inc 000A24 Octave Communications 000A25 CERAGON NETWORKS 000A26 CEIA S.p.A. 000A27 Apple Computer, Inc. 000A28 Motorola 000A29 Pan Dacom Networking AG 000A2A QSI Systems Inc. 000A2B Etherstuff 000A2C Active Tchnology Corporation 000A2D Cabot Communications Limited 000A2E MAPLE NETWORKS CO., LTD 000A2F Artnix Inc. 000A30 Johnson Controls-ASG 000A31 HCV Consulting 000A32 Xsido Corporation 000A33 Emulex Corporation 000A34 Identicard Systems Incorporated 000A35 Xilinx 000A36 Synelec Telecom Multimedia 000A37 Procera Networks, Inc. 000A38 Apani Networks 000A39 LoPA Information Technology 000A3A J-THREE INTERNATIONAL Holding Co., Ltd. 000A3B GCT Semiconductor, Inc 000A3C Enerpoint Ltd. 000A3D Elo Sistemas Eletronicos S.A. 000A3E EADS Telecom 000A3F Data East Corporation 000A40 Crown Audio -- Harmanm International 000A41 Cisco Systems 000A42 Cisco Systems 000A43 Chunghwa Telecom Co., Ltd. 000A44 Avery Dennison Deutschland GmbH 000A45 Audio-Technica Corp. 000A46 ARO WELDING TECHNOLOGIES SAS 000A47 Allied Vision Technologies 000A48 Albatron Technology 000A49 F5 Networks, Inc. 000A4A Targa Systems Ltd. 000A4B DataPower Technology, Inc. 000A4C Molecular Devices Corporation 000A4D Noritz Corporation 000A4E UNITEK Electronics INC. 000A4F Brain Boxes Limited 000A50 REMOTEK CORPORATION 000A51 GyroSignal Technology Co., Ltd. 000A52 AsiaRF Ltd. 000A53 Intronics, Incorporated 000A54 Laguna Hills, Inc. 000A55 MARKEM Corporation 000A56 HITACHI Maxell Ltd. 000A57 Hewlett-Packard Company - Standards 000A58 Ingenieur-Buero Freyer & Siegel 000A59 HW server 000A5A GreenNET Technologies Co.,Ltd. 000A5B Power-One as 000A5C Carel s.p.a. 000A5D PUC Founder (MSC) Berhad 000A5E 3COM Corporation 000A5F almedio inc. 000A60 Autostar Technology Pte Ltd 000A61 Cellinx Systems Inc. 000A62 Crinis Networks, Inc. 000A63 DHD GmbH 000A64 Eracom Technologies 000A65 GentechMedia.co.,ltd. 000A66 MITSUBISHI ELECTRIC SYSTEM & SERVICE CO.,LTD. 000A67 OngCorp 000A68 SolarFlare Communications, Inc. 000A69 SUNNY bell Technology Co., Ltd. 000A6A SVM Microwaves s.r.o. 000A6B Tadiran Telecom Business Systems LTD 000A6C Walchem Corporation 000A6D EKS Elektronikservice GmbH 000A6E Broadcast Technology Limited 000A6F ZyFLEX Technologies Inc 000A70 MPLS Forum 000A71 Avrio Technologies, Inc 000A72 STEC, INC. 000A73 Scientific Atlanta 000A74 Manticom Networks Inc. 000A75 Caterpillar, Inc 000A76 Beida Jade Bird Huaguang Technology Co.,Ltd 000A77 Bluewire Technologies LLC 000A78 OLITEC 000A79 Allied Telesis K.K. corega division 000A7A Kyoritsu Electric Co., Ltd. 000A7B Cornelius Consult 000A7C Tecton Ltd 000A7D Valo, Inc. 000A7E The Advantage Group 000A7F Teradon Industries, Inc 000A80 Telkonet Inc. 000A81 TEIMA Audiotex S.L. 000A82 TATSUTA SYSTEM ELECTRONICS CO.,LTD. 000A83 SALTO SYSTEMS S.L. 000A84 Rainsun Enterprise Co., Ltd. 000A85 PLAT'C2,Inc 000A86 Lenze 000A87 Integrated Micromachines Inc. 000A88 InCypher S.A. 000A89 Creval Systems, Inc. 000A8A Cisco Systems 000A8B Cisco Systems 000A8C Guardware Systems Ltd. 000A8D EUROTHERM LIMITED 000A8E Invacom Ltd 000A8F Aska International Inc. 000A90 Bayside Interactive, Inc. 000A91 HemoCue AB 000A92 Presonus Corporation 000A93 W2 Networks, Inc. 000A94 ShangHai cellink CO., LTD 000A95 Apple Computer, Inc. 000A96 MEWTEL TECHNOLOGY INC. 000A97 SONICblue, Inc. 000A98 M+F Gwinner GmbH & Co 000A99 Calamp Wireless Networks Inc 000A9A Aiptek International Inc 000A9B Towa Meccs Corporation 000A9C Server Technology, Inc. 000A9D King Young Technology Co. Ltd. 000A9E BroadWeb Corportation 000A9F Pannaway Technologies, Inc. 000AA0 Cedar Point Communications 000AA1 V V S Limited 000AA2 SYSTEK INC. 000AA3 SHIMAFUJI ELECTRIC CO.,LTD. 000AA4 SHANGHAI SURVEILLANCE TECHNOLOGY CO,LTD 000AA5 MAXLINK INDUSTRIES LIMITED 000AA6 Hochiki Corporation 000AA7 FEI Electron Optics 000AA8 ePipe Pty. Ltd. 000AA9 Brooks Automation GmbH 000AAA AltiGen Communications Inc. 000AAB Toyota Technical Development Corporation 000AAC TerraTec Electronic GmbH 000AAD Stargames Corporation 000AAE Rosemount Process Analytical 000AAF Pipal Systems 000AB0 LOYTEC electronics GmbH 000AB1 GENETEC Corporation 000AB2 Fresnel Wireless Systems 000AB3 Fa. GIRA 000AB4 ETIC Telecommunications 000AB5 Digital Electronic Network 000AB6 COMPUNETIX, INC 000AB7 Cisco Systems 000AB8 Cisco Systems 000AB9 Astera Technologies Corp. 000ABA Arcon Technology Limited 000ABB Taiwan Secom Co,. Ltd 000ABC Seabridge Ltd. 000ABD Rupprecht & Patashnick Co. 000ABE OPNET Technologies CO., LTD. 000ABF HIROTA SS 000AC0 Fuyoh Video Industry CO., LTD. 000AC1 Futuretel 000AC2 FiberHome Telecommunication Technologies CO.,LTD 000AC3 eM Technics Co., Ltd. 000AC4 Daewoo Teletech Co., Ltd 000AC5 Color Kinetics 000AC6 Ceterus Networks, Inc. 000AC7 Unication Group 000AC8 ZPSYS CO.,LTD. (Planning&Management) 000AC9 Zambeel Inc 000ACA YOKOYAMA SHOKAI CO.,Ltd. 000ACB XPAK MSA Group 000ACC Winnow Networks, Inc. 000ACD Sunrich Technology Limited 000ACE RADIANTECH, INC. 000ACF PROVIDEO Multimedia Co. Ltd. 000AD0 Niigata Develoment Center, F.I.T. Co., Ltd. 000AD1 MWS 000AD2 JEPICO Corporation 000AD3 INITECH Co., Ltd 000AD4 CoreBell Systems Inc. 000AD5 Brainchild Electronic Co., Ltd. 000AD6 BeamReach Networks 000AD7 Origin ELECTRIC CO.,LTD. 000AD8 IPCserv Technology Corp. 000AD9 Sony Ericsson Mobile Communications AB 000ADA Vindicator Technologies 000ADB SkyPilot Network, Inc 000ADC RuggedCom Inc. 000ADD Allworx Corp. 000ADE Happy Communication Co., Ltd. 000ADF Gennum Corporation 000AE0 Fujitsu Softek 000AE1 EG Technology 000AE2 Binatone Electronics International, Ltd 000AE3 YANG MEI TECHNOLOGY CO., LTD 000AE4 Wistron Corp. 000AE5 ScottCare Corporation 000AE6 Elitegroup Computer System Co. (ECS) 000AE7 ELIOP S.A. 000AE8 Cathay Roxus Information Technology Co. LTD 000AE9 AirVast Technology Inc. 000AEA ADAM ELEKTRONIK LTD.STI. 000AEB Shenzhen Tp-Link Technology Co; Ltd. 000AEC Koatsu Gas Kogyo Co., Ltd. 000AED HARTING Systems GmbH & Co KG 000AEE GCD Hard- & Software GmbH 000AEF OTRUM ASA 000AF0 SHIN-OH ELECTRONICS CO., LTD. R&D 000AF1 Clarity Design, Inc. 000AF2 NeoAxiom Corp. 000AF3 Cisco Systems 000AF4 Cisco Systems 000AF5 Airgo Networks, Inc. 000AF6 Emerson Climate Technologies Retail Solutions, Inc. 000AF7 Broadcom Corp. 000AF8 American Telecare Inc. 000AF9 HiConnect, Inc. 000AFA Traverse Technologies Australia 000AFB Ambri Limited 000AFC Core Tec Communications, LLC 000AFD Viking Electronic Services 000AFE NovaPal Ltd 000AFF Kilchherr Elektronik AG 000B00 FUJIAN START COMPUTER EQUIPMENT CO.,LTD 000B01 DAIICHI ELECTRONICS CO., LTD. 000B02 Dallmeier electronic 000B03 Taekwang Industrial Co., Ltd 000B04 Volktek Corporation 000B05 Pacific Broadband Networks 000B06 Motorola BCS 000B07 Voxpath Networks 000B08 Pillar Data Systems 000B09 Ifoundry Systems Singapore 000B0A dBm Optics 000B0B Corrent Corporation 000B0C Agile Systems Inc. 000B0D Air2U, Inc. 000B0E Trapeze Networks 000B0F Nyquist Industrial Control BV 000B10 11wave Technonlogy Co.,Ltd 000B11 HIMEJI ABC TRADING CO.,LTD. 000B12 NURI Telecom Co., Ltd. 000B13 ZETRON INC 000B14 ViewSonic Corporation 000B15 Platypus Technology 000B16 Communication Machinery Corporation 000B17 MKS Instruments 000B18 PRIVATE 000B19 Vernier Networks, Inc. 000B1A Industrial Defender, Inc. 000B1B Systronix, Inc. 000B1C SIBCO bv 000B1D LayerZero Power Systems, Inc. 000B1E KAPPA opto-electronics GmbH 000B1F I CON Computer Co. 000B20 Hirata corporation 000B21 G-Star Communications Inc. 000B22 Environmental Systems and Services 000B23 Siemens Subscriber Networks 000B24 AirLogic 000B25 Aeluros 000B26 Wetek Corporation 000B27 Scion Corporation 000B28 Quatech Inc. 000B29 LS(LG) Industrial Systems co.,Ltd 000B2A HOWTEL Co., Ltd. 000B2B HOSTNET CORPORATION 000B2C Eiki Industrial Co. Ltd. 000B2D Danfoss Inc. 000B2E Cal-Comp Electronics (Thailand) Public Company Limited Taipe 000B2F bplan GmbH 000B30 Beijing Gongye Science & Technology Co.,Ltd 000B31 Yantai ZhiYang Scientific and technology industry CO., LTD 000B32 VORMETRIC, INC. 000B33 Vivato 000B34 ShangHai Broadband Technologies CO.LTD 000B35 Quad Bit System co., Ltd. 000B36 Productivity Systems, Inc. 000B37 MANUFACTURE DES MONTRES ROLEX SA 000B38 Knuerr AG 000B39 Keisoku Giken Co.,Ltd. 000B3A QuStream Corporation 000B3B devolo AG 000B3C Cygnal Integrated Products, Inc. 000B3D CONTAL OK Ltd. 000B3E BittWare, Inc 000B3F Anthology Solutions Inc. 000B40 OpNext Inc. 000B41 Ing. Buero Dr. Beutlhauser 000B42 commax Co., Ltd. 000B43 Microscan Systems, Inc. 000B44 Concord IDea Corp. 000B45 Cisco 000B46 Cisco 000B47 Advanced Energy 000B48 sofrel 000B49 RF-Link System Inc. 000B4A Visimetrics (UK) Ltd 000B4B VISIOWAVE SA 000B4C Clarion (M) Sdn Bhd 000B4D Emuzed 000B4E VertexRSI, General Dynamics SatCOM Technologies, Inc. 000B4F Verifone, INC. 000B50 Oxygnet 000B51 Micetek International Inc. 000B52 JOYMAX ELECTRONICS CO. LTD. 000B53 INITIUM Co., Ltd. 000B54 BiTMICRO Networks, Inc. 000B55 ADInstruments 000B56 Cybernetics 000B57 Silicon Laboratories 000B58 Astronautics C.A LTD 000B59 ScriptPro, LLC 000B5A HyperEdge 000B5B Rincon Research Corporation 000B5C Newtech Co.,Ltd 000B5D FUJITSU LIMITED 000B5E Audio Engineering Society Inc. 000B5F Cisco Systems 000B60 Cisco Systems 000B61 Friedrich Lütze GmbH &Co. 000B62 Ingenieurbuero fuer Elektronikdesign Ingo Mohnen 000B63 Kaleidescape 000B64 Kieback & Peter GmbH & Co KG 000B65 Sy.A.C. srl 000B66 Teralink Communications 000B67 Topview Technology Corporation 000B68 Addvalue Communications Pte Ltd 000B69 Franke Finland Oy 000B6A Asiarock Incorporation 000B6B Wistron Neweb Corp. 000B6C Sychip Inc. 000B6D SOLECTRON JAPAN NAKANIIDA 000B6E Neff Instrument Corp. 000B6F Media Streaming Networks Inc 000B70 Load Technology, Inc. 000B71 Litchfield Communications Inc. 000B72 Lawo AG 000B73 Kodeos Communications 000B74 Kingwave Technology Co., Ltd. 000B75 Iosoft Ltd. 000B76 ET&T Technology Co. Ltd. 000B77 Cogent Systems, Inc. 000B78 TAIFATECH INC. 000B79 X-COM, Inc. 000B7A Wave Science Inc. 000B7B Test-Um Inc. 000B7C Telex Communications 000B7D SOLOMON EXTREME INTERNATIONAL LTD. 000B7E SAGINOMIYA Seisakusho Inc. 000B7F OmniWerks 000B80 Lycium Networks 000B81 Kaparel Corporation 000B82 Grandstream Networks, Inc. 000B83 DATAWATT B.V. 000B84 BODET 000B85 Cisco Systems 000B86 Aruba Networks 000B87 American Reliance Inc. 000B88 Vidisco ltd. 000B89 Top Global Technology, Ltd. 000B8A MITEQ Inc. 000B8B KERAJET, S.A. 000B8C Flextronics 000B8D Avvio Networks 000B8E Ascent Corporation 000B8F AKITA ELECTRONICS SYSTEMS CO.,LTD. 000B90 Adva Optical Networking Inc. 000B91 Aglaia Gesellschaft für Bildverarbeitung und Kommunikation m 000B92 Ascom Danmark A/S 000B93 Ritter Elektronik 000B94 Digital Monitoring Products, Inc. 000B95 eBet Gaming Systems Pty Ltd 000B96 Innotrac Diagnostics Oy 000B97 Matsushita Electric Industrial Co.,Ltd. 000B98 NiceTechVision 000B99 SensAble Technologies, Inc. 000B9A Shanghai Ulink Telecom Equipment Co. Ltd. 000B9B Sirius System Co, Ltd. 000B9C TriBeam Technologies, Inc. 000B9D TwinMOS Technologies Inc. 000B9E Yasing Technology Corp. 000B9F Neue ELSA GmbH 000BA0 T&L Information Inc. 000BA1 SYSCOM Ltd. 000BA2 Sumitomo Electric Networks, Inc 000BA3 Siemens AG, I&S 000BA4 Shiron Satellite Communications Ltd. (1996) 000BA5 Quasar Cipta Mandiri, PT 000BA6 Miyakawa Electric Works Ltd. 000BA7 Maranti Networks 000BA8 HANBACK ELECTRONICS CO., LTD. 000BA9 CloudShield Technologies, Inc. 000BAA Aiphone co.,Ltd 000BAB Advantech Technology (CHINA) Co., Ltd. 000BAC 3Com Ltd 000BAD PC-PoS Inc. 000BAE Vitals System Inc. 000BAF WOOJU COMMUNICATIONS Co,.Ltd 000BB0 Sysnet Telematica srl 000BB1 Super Star Technology Co., Ltd. 000BB2 SMALLBIG TECHNOLOGY 000BB3 RiT technologies Ltd. 000BB4 RDC Semiconductor Inc., 000BB5 nStor Technologies, Inc. 000BB6 Mototech Inc. 000BB7 Micro Systems Co.,Ltd. 000BB8 Kihoku Electronic Co. 000BB9 Imsys AB 000BBA Harmonic Broadband Access Networks 000BBB Etin Systems Co., Ltd 000BBC En Garde Systems, Inc. 000BBD Connexionz Limited 000BBE Cisco Systems 000BBF Cisco Systems 000BC0 China IWNComm Co., Ltd. 000BC1 Bay Microsystems, Inc. 000BC2 Corinex Communication Corp. 000BC3 Multiplex, Inc. 000BC4 BIOTRONIK GmbH & Co 000BC5 SMC Networks, Inc. 000BC6 ISAC, Inc. 000BC7 ICET S.p.A. 000BC8 AirFlow Networks 000BC9 Electroline Equipment 000BCA DATAVAN International Corporation 000BCB Fagor Automation , S. Coop 000BCC JUSAN, S.A. 000BCD Hewlett Packard 000BCE Free2move AB 000BCF AGFA NDT INC. 000BD0 XiMeta Technology Americas Inc. 000BD1 Aeronix, Inc. 000BD2 Remopro Technology Inc. 000BD3 cd3o 000BD4 Beijing Wise Technology & Science Development Co.Ltd 000BD5 Nvergence, Inc. 000BD6 Paxton Access Ltd 000BD7 DORMA Time + Access GmbH 000BD8 Industrial Scientific Corp. 000BD9 General Hydrogen 000BDA EyeCross Co.,Inc. 000BDB Dell ESG PCBA Test 000BDC AKCP 000BDD TOHOKU RICOH Co., LTD. 000BDE TELDIX GmbH 000BDF Shenzhen RouterD Networks Limited 000BE0 SercoNet Ltd. 000BE1 Nokia NET Product Operations 000BE2 Lumenera Corporation 000BE3 Key Stream Co., Ltd. 000BE4 Hosiden Corporation 000BE5 HIMS Korea Co., Ltd. 000BE6 Datel Electronics 000BE7 COMFLUX TECHNOLOGY INC. 000BE8 AOIP 000BE9 Actel Corporation 000BEA Zultys Technologies 000BEB Systegra AG 000BEC NIPPON ELECTRIC INSTRUMENT, INC. 000BED ELM Inc. 000BEE inc.jet, Incorporated 000BEF Code Corporation 000BF0 MoTEX Products Co., Ltd. 000BF1 LAP Laser Applikations 000BF2 Chih-Kan Technology Co., Ltd. 000BF3 BAE SYSTEMS 000BF4 PRIVATE 000BF5 Shanghai Sibo Telecom Technology Co.,Ltd 000BF6 Nitgen Co., Ltd 000BF7 NIDEK CO.,LTD 000BF8 Infinera 000BF9 Gemstone communications, Inc. 000BFA EXEMYS SRL 000BFB D-NET International Corporation 000BFC Cisco Systems 000BFD Cisco Systems 000BFE CASTEL Broadband Limited 000BFF Berkeley Camera Engineering 000C00 BEB Industrie-Elektronik AG 000C01 Abatron AG 000C02 ABB Oy 000C03 HDMI Licensing, LLC 000C04 Tecnova 000C05 RPA Reserch Co., Ltd. 000C06 Nixvue Systems Pte Ltd 000C07 Iftest AG 000C08 HUMEX Technologies Corp. 000C09 Hitachi IE Systems Co., Ltd 000C0A Guangdong Province Electronic Technology Research Institute 000C0B Broadbus Technologies 000C0C APPRO TECHNOLOGY INC. 000C0D Communications & Power Industries / Satcom Division 000C0E XtremeSpectrum, Inc. 000C0F Techno-One Co., Ltd 000C10 PNI Corporation 000C11 NIPPON DEMPA CO.,LTD. 000C12 Micro-Optronic-Messtechnik GmbH 000C13 MediaQ 000C14 Diagnostic Instruments, Inc. 000C15 CyberPower Systems, Inc. 000C16 Concorde Microsystems Inc. 000C17 AJA Video Systems Inc 000C18 Zenisu Keisoku Inc. 000C19 Telio Communications GmbH 000C1A Quest Technical Solutions Inc. 000C1B ORACOM Co, Ltd. 000C1C MicroWeb Co., Ltd. 000C1D Mettler & Fuchs AG 000C1E Global Cache 000C1F Glimmerglass Networks 000C20 Fi WIn, Inc. 000C21 Faculty of Science and Technology, Keio University 000C22 Double D Electronics Ltd 000C23 Beijing Lanchuan Tech. Co., Ltd. 000C24 ANATOR 000C25 Allied Telesyn Networks 000C26 Weintek Labs. Inc. 000C27 Sammy Corporation 000C28 RIFATRON 000C29 VMware, Inc. 000C2A OCTTEL Communication Co., Ltd. 000C2B ELIAS Technology, Inc. 000C2C Enwiser Inc. 000C2D FullWave Technology Co., Ltd. 000C2E Openet information technology(shenzhen) Co., Ltd. 000C2F SeorimTechnology Co.,Ltd. 000C30 Cisco 000C31 Cisco 000C32 Avionic Design Development GmbH 000C33 Compucase Enterprise Co. Ltd. 000C34 Vixen Co., Ltd. 000C35 KaVo Dental GmbH & Co. KG 000C36 SHARP TAKAYA ELECTRONICS INDUSTRY CO.,LTD. 000C37 Geomation, Inc. 000C38 TelcoBridges Inc. 000C39 Sentinel Wireless Inc. 000C3A Oxance 000C3B Orion Electric Co., Ltd. 000C3C MediaChorus, Inc. 000C3D Glsystech Co., Ltd. 000C3E Crest Audio 000C3F Cogent Defence & Security Networks, 000C40 Altech Controls 000C41 Cisco-Linksys 000C42 Routerboard.com 000C43 Ralink Technology, Corp. 000C44 Automated Interfaces, Inc. 000C45 Animation Technologies Inc. 000C46 Allied Telesyn Inc. 000C47 SK Teletech(R&D Planning Team) 000C48 QoStek Corporation 000C49 Dangaard Telecom RTC Division A/S 000C4A Cygnus Microsystems (P) Limited 000C4B Cheops Elektronik 000C4C Arcor AG&Co. 000C4D ACRA CONTROL 000C4E Winbest Technology CO,LT 000C4F UDTech Japan Corporation 000C50 Seagate Technology 000C51 Scientific Technologies Inc. 000C52 Roll Systems Inc. 000C53 PRIVATE 000C54 Pedestal Networks, Inc 000C55 Microlink Communications Inc. 000C56 Megatel Computer (1986) Corp. 000C57 MACKIE Engineering Services Belgium BVBA 000C58 M&S Systems 000C59 Indyme Electronics, Inc. 000C5A IBSmm Industrieelektronik Multimedia 000C5B HANWANG TECHNOLOGY CO.,LTD 000C5C GTN Systems B.V. 000C5D CHIC TECHNOLOGY (CHINA) CORP. 000C5E Calypso Medical 000C5F Avtec, Inc. 000C60 ACM Systems 000C61 AC Tech corporation DBA Advanced Digital 000C62 ABB AB, Cewe-Control 000C63 Zenith Electronics Corporation 000C64 X2 MSA Group 000C65 Sunin Telecom 000C66 Pronto Networks Inc 000C67 OYO ELECTRIC CO.,LTD 000C68 SigmaTel, Inc. 000C69 National Radio Astronomy Observatory 000C6A MBARI 000C6B Kurz Industrie-Elektronik GmbH 000C6C Elgato Systems LLC 000C6D Edwards Ltd. 000C6E ASUSTEK COMPUTER INC. 000C6F Amtek system co.,LTD. 000C70 ACC GmbH 000C71 Wybron, Inc 000C72 Tempearl Industrial Co., Ltd. 000C73 TELSON ELECTRONICS CO., LTD 000C74 RIVERTEC CORPORATION 000C75 Oriental integrated electronics. LTD 000C76 MICRO-STAR INTERNATIONAL CO., LTD. 000C77 Life Racing Ltd 000C78 In-Tech Electronics Limited 000C79 Extel Communications P/L 000C7A DaTARIUS Technologies GmbH 000C7B ALPHA PROJECT Co.,Ltd. 000C7C Internet Information Image Inc. 000C7D TEIKOKU ELECTRIC MFG. CO., LTD 000C7E Tellium Incorporated 000C7F synertronixx GmbH 000C80 Opelcomm Inc. 000C81 Schneider Electric (Australia) 000C82 NETWORK TECHNOLOGIES INC 000C83 Logical Solutions 000C84 Eazix, Inc. 000C85 Cisco Systems 000C86 Cisco Systems 000C87 AMD 000C88 Apache Micro Peripherals, Inc. 000C89 AC Electric Vehicles, Ltd. 000C8A Bose Corporation 000C8B Connect Tech Inc 000C8C KODICOM CO.,LTD. 000C8D MATRIX VISION GmbH 000C8E Mentor Engineering Inc 000C8F Nergal s.r.l. 000C90 Octasic Inc. 000C91 Riverhead Networks Inc. 000C92 WolfVision Gmbh 000C93 Xeline Co., Ltd. 000C94 United Electronic Industries, Inc. (EUI) 000C95 PrimeNet 000C96 OQO, Inc. 000C97 NV ADB TTV Technologies SA 000C98 LETEK Communications Inc. 000C99 HITEL LINK Co.,Ltd 000C9A Hitech Electronics Corp. 000C9B EE Solutions, Inc 000C9C Chongho information & communications 000C9D AirWalk Communications, Inc. 000C9E MemoryLink Corp. 000C9F NKE Corporation 000CA0 StorCase Technology, Inc. 000CA1 SIGMACOM Co., LTD. 000CA2 Scopus Network Technologies Ltd 000CA3 Rancho Technology, Inc. 000CA4 Prompttec Product Management GmbH 000CA5 Naman NZ LTd 000CA6 Mintera Corporation 000CA7 Metro (Suzhou) Technologies Co., Ltd. 000CA8 Garuda Networks Corporation 000CA9 Ebtron Inc. 000CAA Cubic Transportation Systems Inc 000CAB COMMEND International 000CAC Citizen Watch Co., Ltd. 000CAD BTU International 000CAE Ailocom Oy 000CAF TRI TERM CO.,LTD. 000CB0 Star Semiconductor Corporation 000CB1 Salland Engineering (Europe) BV 000CB2 Comstar Co., Ltd. 000CB3 ROUND Co.,Ltd. 000CB4 AutoCell Laboratories, Inc. 000CB5 Premier Technolgies, Inc 000CB6 NANJING SEU MOBILE & INTERNET TECHNOLOGY CO.,LTD 000CB7 Nanjing Huazhuo Electronics Co., Ltd. 000CB8 MEDION AG 000CB9 LEA 000CBA Jamex, Inc. 000CBB ISKRAEMECO 000CBC Iscutum 000CBD Interface Masters, Inc 000CBE Innominate Security Technologies AG 000CBF Holy Stone Ent. Co., Ltd. 000CC0 Genera Oy 000CC1 Cooper Industries Inc. 000CC2 ControlNet (India) Private Limited 000CC3 BeWAN systems 000CC4 Tiptel AG 000CC5 Nextlink Co., Ltd. 000CC6 Ka-Ro electronics GmbH 000CC7 Intelligent Computer Solutions Inc. 000CC8 Xytronix Research & Design, Inc. 000CC9 ILWOO DATA & TECHNOLOGY CO.,LTD 000CCA Hitachi Global Storage Technologies 000CCB Design Combus Ltd 000CCC Aeroscout Ltd. 000CCD IEC - TC57 000CCE Cisco Systems 000CCF Cisco Systems 000CD0 Symetrix 000CD1 SFOM Technology Corp. 000CD2 Schaffner EMV AG 000CD3 Prettl Elektronik Radeberg GmbH 000CD4 Positron Public Safety Systems inc. 000CD5 Passave Inc. 000CD6 PARTNER TECH 000CD7 Nallatech Ltd 000CD8 M. K. Juchheim GmbH & Co 000CD9 Itcare Co., Ltd 000CDA FreeHand Systems, Inc. 000CDB Brocade Communications Systems, Inc 000CDC BECS Technology, Inc 000CDD AOS Technologies AG 000CDE ABB STOTZ-KONTAKT GmbH 000CDF PULNiX America, Inc 000CE0 Trek Diagnostics Inc. 000CE1 The Open Group 000CE2 Rolls-Royce 000CE3 Option International N.V. 000CE4 NeuroCom International, Inc. 000CE5 Motorola BCS 000CE6 Meru Networks Inc 000CE7 MediaTek Inc. 000CE8 GuangZhou AnJuBao Co., Ltd 000CE9 BLOOMBERG L.P. 000CEA aphona Kommunikationssysteme 000CEB CNMP Networks, Inc. 000CEC Spectracom Corp. 000CED Real Digital Media 000CEE jp-embedded 000CEF Open Networks Engineering Ltd 000CF0 M & N GmbH 000CF1 Intel Corporation 000CF2 GAMESA EÓLICA 000CF3 CALL IMAGE SA 000CF4 AKATSUKI ELECTRIC MFG.CO.,LTD. 000CF5 InfoExpress 000CF6 Sitecom Europe BV 000CF7 Nortel Networks 000CF8 Nortel Networks 000CF9 ITT Flygt AB 000CFA Digital Systems Corp 000CFB Korea Network Systems 000CFC S2io Technologies Corp 000CFD Hyundai ImageQuest Co.,Ltd. 000CFE Grand Electronic Co., Ltd 000CFF MRO-TEK LIMITED 000D00 Seaway Networks Inc. 000D01 P&E Microcomputer Systems, Inc. 000D02 NEC AccessTechnica, Ltd. 000D03 Matrics, Inc. 000D04 Foxboro Eckardt Development GmbH 000D05 cybernet manufacturing inc. 000D06 Compulogic Limited 000D07 Calrec Audio Ltd 000D08 AboveCable, Inc. 000D09 Yuehua(Zhuhai) Electronic CO. LTD 000D0A Projectiondesign as 000D0B Buffalo Inc. 000D0C MDI Security Systems 000D0D ITSupported, LLC 000D0E Inqnet Systems, Inc. 000D0F Finlux Ltd 000D10 Embedtronics Oy 000D11 DENTSPLY - Gendex 000D12 AXELL Corporation 000D13 Wilhelm Rutenbeck GmbH&Co. 000D14 Vtech Innovation LP dba Advanced American Telephones 000D15 Voipac s.r.o. 000D16 UHS Systems Pty Ltd 000D17 Turbo Networks Co.Ltd 000D18 Mega-Trend Electronics CO., LTD. 000D19 ROBE Show lighting 000D1A Mustek System Inc. 000D1B Kyoto Electronics Manufacturing Co., Ltd. 000D1C Amesys Defense 000D1D HIGH-TEK HARNESS ENT. CO., LTD. 000D1E Control Techniques 000D1F AV Digital 000D20 ASAHIKASEI TECHNOSYSTEM CO.,LTD. 000D21 WISCORE Inc. 000D22 Unitronics LTD 000D23 Smart Solution, Inc 000D24 SENTEC E&E CO., LTD. 000D25 SANDEN CORPORATION 000D26 Primagraphics Limited 000D27 MICROPLEX Printware AG 000D28 Cisco 000D29 Cisco 000D2A Scanmatic AS 000D2B Racal Instruments 000D2C Patapsco Designs Ltd 000D2D NCT Deutschland GmbH 000D2E Matsushita Avionics Systems Corporation 000D2F AIN Comm.Tech.Co., LTD 000D30 IceFyre Semiconductor 000D31 Compellent Technologies, Inc. 000D32 DispenseSource, Inc. 000D33 Prediwave Corp. 000D34 Shell International Exploration and Production, Inc. 000D35 PAC International Ltd 000D36 Wu Han Routon Electronic Co., Ltd 000D37 WIPLUG 000D38 NISSIN INC. 000D39 Network Electronics 000D3A Microsoft Corp. 000D3B Microelectronics Technology Inc. 000D3C i.Tech Dynamic Ltd 000D3D Hammerhead Systems, Inc. 000D3E APLUX Communications Ltd. 000D3F VTI Instruments Corporation 000D40 Verint Loronix Video Solutions 000D41 Siemens AG ICM MP UC RD IT KLF1 000D42 Newbest Development Limited 000D43 DRS Tactical Systems Inc. 000D44 Audio BU - Logitech 000D45 Tottori SANYO Electric Co., Ltd. 000D46 Parker SSD Drives 000D47 Collex 000D48 AEWIN Technologies Co., Ltd. 000D49 Triton Systems of Delaware, Inc. 000D4A Steag ETA-Optik 000D4B Roku, LLC 000D4C Outline Electronics Ltd. 000D4D Ninelanes 000D4E NDR Co.,LTD. 000D4F Kenwood Corporation 000D50 Galazar Networks 000D51 DIVR Systems, Inc. 000D52 Comart system 000D53 Beijing 5w Communication Corp. 000D54 3Com Ltd 000D55 SANYCOM Technology Co.,Ltd 000D56 Dell PCBA Test 000D57 Fujitsu I-Network Systems Limited. 000D58 PRIVATE 000D59 Amity Systems, Inc. 000D5A Tiesse SpA 000D5B Smart Empire Investments Limited 000D5C Robert Bosch GmbH, VT-ATMO 000D5D Raritan Computer, Inc 000D5E NEC Personal Products 000D5F Minds Inc 000D60 IBM Corp 000D61 Giga-Byte Technology Co., Ltd. 000D62 Funkwerk Dabendorf GmbH 000D63 DENT Instruments, Inc. 000D64 COMAG Handels AG 000D65 Cisco Systems 000D66 Cisco Systems 000D67 BelAir Networks Inc. 000D68 Vinci Systems, Inc. 000D69 TMT&D Corporation 000D6A Redwood Technologies LTD 000D6B Mita-Teknik A/S 000D6C M-Audio 000D6D K-Tech Devices Corp. 000D6E K-Patents Oy 000D6F Ember Corporation 000D70 Datamax Corporation 000D71 boca systems 000D72 2Wire, Inc 000D73 Technical Support, Inc. 000D74 Sand Network Systems, Inc. 000D75 Kobian Pte Ltd - Taiwan Branch 000D76 Hokuto Denshi Co,. Ltd. 000D77 FalconStor Software 000D78 Engineering & Security 000D79 Dynamic Solutions Co,.Ltd. 000D7A DiGATTO Asia Pacific Pte Ltd 000D7B Consensys Computers Inc. 000D7C Codian Ltd 000D7D Afco Systems 000D7E Axiowave Networks, Inc. 000D7F MIDAS COMMUNICATION TECHNOLOGIES PTE LTD ( Foreign Branch) 000D80 Online Development Inc 000D81 Pepperl+Fuchs GmbH 000D82 PHS srl 000D83 Sanmina-SCI Hungary Ltd. 000D84 Makus Inc. 000D85 Tapwave, Inc. 000D86 Huber + Suhner AG 000D87 Elitegroup Computer System Co. (ECS) 000D88 D-Link Corporation 000D89 Bils Technology Inc 000D8A Winners Electronics Co., Ltd. 000D8B T&D Corporation 000D8C Shanghai Wedone Digital Ltd. CO. 000D8D ProLinx Communication Gateways, Inc. 000D8E Koden Electronics Co., Ltd. 000D8F King Tsushin Kogyo Co., LTD. 000D90 Factum Electronics AB 000D91 Eclipse (HQ Espana) S.L. 000D92 Arima Communication Corporation 000D93 Apple Computer 000D94 AFAR Communications,Inc 000D95 Opti-cell, Inc. 000D96 Vtera Technology Inc. 000D97 Tropos Networks, Inc. 000D98 S.W.A.C. Schmitt-Walter Automation Consult GmbH 000D99 Orbital Sciences Corp.; Launch Systems Group 000D9A INFOTEC LTD 000D9B Heraeus Electro-Nite International N.V. 000D9C Elan GmbH & Co KG 000D9D Hewlett Packard 000D9E TOKUDEN OHIZUMI SEISAKUSYO Co.,Ltd. 000D9F RF Micro Devices 000DA0 NEDAP N.V. 000DA1 MIRAE ITS Co.,LTD. 000DA2 Infrant Technologies, Inc. 000DA3 Emerging Technologies Limited 000DA4 DOSCH & AMAND SYSTEMS AG 000DA5 Fabric7 Systems, Inc 000DA6 Universal Switching Corporation 000DA7 PRIVATE 000DA8 Teletronics Technology Corporation 000DA9 T.E.A.M. S.L. 000DAA S.A.Tehnology co.,Ltd. 000DAB Parker Hannifin GmbH Electromechanical Division Europe 000DAC Japan CBM Corporation 000DAD Dataprobe Inc 000DAE SAMSUNG HEAVY INDUSTRIES CO., LTD. 000DAF Plexus Corp (UK) Ltd 000DB0 Olym-tech Co.,Ltd. 000DB1 Japan Network Service Co., Ltd. 000DB2 Ammasso, Inc. 000DB3 SDO Communication Corperation 000DB4 NETASQ 000DB5 GLOBALSAT TECHNOLOGY CORPORATION 000DB6 Broadcom Corporation 000DB7 SANKO ELECTRIC CO,.LTD 000DB8 SCHILLER AG 000DB9 PC Engines GmbH 000DBA Océ Document Technologies GmbH 000DBB Nippon Dentsu Co.,Ltd. 000DBC Cisco Systems 000DBD Cisco Systems 000DBE Bel Fuse Europe Ltd.,UK 000DBF TekTone Sound & Signal Mfg., Inc. 000DC0 Spagat AS 000DC1 SafeWeb Inc 000DC2 PRIVATE 000DC3 First Communication, Inc. 000DC4 Emcore Corporation 000DC5 EchoStar Global B.V. 000DC6 DigiRose Technology Co., Ltd. 000DC7 COSMIC ENGINEERING INC. 000DC8 AirMagnet, Inc 000DC9 THALES Elektronik Systeme GmbH 000DCA Tait Electronics 000DCB Petcomkorea Co., Ltd. 000DCC NEOSMART Corp. 000DCD GROUPE TXCOM 000DCE Dynavac Technology Pte Ltd 000DCF Cidra Corp. 000DD0 TetraTec Instruments GmbH 000DD1 Stryker Corporation 000DD2 Simrad Optronics ASA 000DD3 SAMWOO Telecommunication Co.,Ltd. 000DD4 Symantec Corporation 000DD5 O'RITE TECHNOLOGY CO.,LTD 000DD6 ITI LTD 000DD7 Bright 000DD8 BBN 000DD9 Anton Paar GmbH 000DDA ALLIED TELESIS K.K. 000DDB AIRWAVE TECHNOLOGIES INC. 000DDC VAC 000DDD PROFÝLO TELRA ELEKTRONÝK SANAYÝ VE TÝCARET A.Þ. 000DDE Joyteck Co., Ltd. 000DDF Japan Image & Network Inc. 000DE0 ICPDAS Co.,LTD 000DE1 Control Products, Inc. 000DE2 CMZ Sistemi Elettronici 000DE3 AT Sweden AB 000DE4 DIGINICS, Inc. 000DE5 Samsung Thales 000DE6 YOUNGBO ENGINEERING CO.,LTD 000DE7 Snap-on OEM Group 000DE8 Nasaco Electronics Pte. Ltd 000DE9 Napatech Aps 000DEA Kingtel Telecommunication Corp. 000DEB CompXs Limited 000DEC Cisco Systems 000DED Cisco Systems 000DEE Andrew RF Power Amplifier Group 000DEF Soc. Coop. Bilanciai 000DF0 QCOM TECHNOLOGY INC. 000DF1 IONIX INC. 000DF2 PRIVATE 000DF3 Asmax Solutions 000DF4 Watertek Co. 000DF5 Teletronics International Inc. 000DF6 Technology Thesaurus Corp. 000DF7 Space Dynamics Lab 000DF8 ORGA Kartensysteme GmbH 000DF9 NDS Limited 000DFA Micro Control Systems Ltd. 000DFB Komax AG 000DFC ITFOR Inc. 000DFD Huges Hi-Tech Inc., 000DFE Hauppauge Computer Works, Inc. 000DFF CHENMING MOLD INDUSTRY CORP. 000E00 Atrie 000E01 ASIP Technologies Inc. 000E02 Advantech AMT Inc. 000E03 Emulex 000E04 CMA/Microdialysis AB 000E05 WIRELESS MATRIX CORP. 000E06 Team Simoco Ltd 000E07 Sony Ericsson Mobile Communications AB 000E08 Cisco Linksys LLC 000E09 Shenzhen Coship Software Co.,LTD. 000E0A SAKUMA DESIGN OFFICE 000E0B Netac Technology Co., Ltd. 000E0C Intel Corporation 000E0D HESCH Schröder GmbH 000E0E ESA elettronica S.P.A. 000E0F ERMME 000E10 C-guys, Inc. 000E11 BDT Büro- und Datentechnik GmbH & Co. KG 000E12 Adaptive Micro Systems Inc. 000E13 Accu-Sort Systems inc. 000E14 Visionary Solutions, Inc. 000E15 Tadlys LTD 000E16 SouthWing S.L. 000E17 PRIVATE 000E18 MyA Technology 000E19 LogicaCMG Pty Ltd 000E1A JPS Communications 000E1B IAV GmbH 000E1C Hach Company 000E1D ARION Technology Inc. 000E1E QLogic Corporation 000E1F TCL Networks Equipment Co., Ltd. 000E20 ACCESS Systems Americas, Inc. 000E21 MTU Friedrichshafen GmbH 000E22 PRIVATE 000E23 Incipient, Inc. 000E24 Huwell Technology Inc. 000E25 Hannae Technology Co., Ltd 000E26 Gincom Technology Corp. 000E27 Crere Networks, Inc. 000E28 Dynamic Ratings P/L 000E29 Shester Communications Inc 000E2A PRIVATE 000E2B Safari Technologies 000E2C Netcodec co. 000E2D Hyundai Digital Technology Co.,Ltd. 000E2E Edimax Technology Co., Ltd. 000E2F Disetronic Medical Systems AG 000E30 AERAS Networks, Inc. 000E31 Olympus Soft Imaging Solutions GmbH 000E32 Kontron Medical 000E33 Shuko Electronics Co.,Ltd 000E34 NexGen City, LP 000E35 Intel Corp 000E36 HEINESYS, Inc. 000E37 Harms & Wende GmbH & Co.KG 000E38 Cisco Systems 000E39 Cisco Systems 000E3A Cirrus Logic 000E3B Hawking Technologies, Inc. 000E3C Transact Technologies Inc 000E3D Televic N.V. 000E3E Sun Optronics Inc 000E3F Soronti, Inc. 000E40 Nortel Networks 000E41 NIHON MECHATRONICS CO.,LTD. 000E42 Motic Incoporation Ltd. 000E43 G-Tek Electronics Sdn. Bhd. 000E44 Digital 5, Inc. 000E45 Beijing Newtry Electronic Technology Ltd 000E46 Niigata Seimitsu Co.,Ltd. 000E47 NCI System Co.,Ltd. 000E48 Lipman TransAction Solutions 000E49 Forsway Scandinavia AB 000E4A Changchun Huayu WEBPAD Co.,LTD 000E4B atrium c and i 000E4C Bermai Inc. 000E4D Numesa Inc. 000E4E Waveplus Technology Co., Ltd. 000E4F Trajet GmbH 000E50 Thomson Telecom Belgium 000E51 tecna elettronica srl 000E52 Optium Corporation 000E53 AV TECH CORPORATION 000E54 AlphaCell Wireless Ltd. 000E55 AUVITRAN 000E56 4G Systems GmbH & Co. KG 000E57 Iworld Networking, Inc. 000E58 Sonos, Inc. 000E59 SAGEM SA 000E5A TELEFIELD inc. 000E5B ParkerVision - Direct2Data 000E5C Motorola BCS 000E5D Triple Play Technologies A/S 000E5E Raisecom Technology 000E5F activ-net GmbH & Co. KG 000E60 360SUN Digital Broadband Corporation 000E61 MICROTROL LIMITED 000E62 Nortel Networks 000E63 Lemke Diagnostics GmbH 000E64 Elphel, Inc 000E65 TransCore 000E66 Hitachi Advanced Digital, Inc. 000E67 Eltis Microelectronics Ltd. 000E68 E-TOP Network Technology Inc. 000E69 China Electric Power Research Institute 000E6A 3Com Ltd 000E6B Janitza electronics GmbH 000E6C Device Drivers Limited 000E6D Murata Manufacturing Co., Ltd. 000E6E MICRELEC ELECTRONICS S.A 000E6F IRIS Corporation Berhad 000E70 in2 Networks 000E71 Gemstar Technology Development Ltd. 000E72 CTS electronics 000E73 Tpack A/S 000E74 Solar Telecom. Tech 000E75 New York Air Brake Corp. 000E76 GEMSOC INNOVISION INC. 000E77 Decru, Inc. 000E78 Amtelco 000E79 Ample Communications Inc. 000E7A GemWon Communications Co., Ltd. 000E7B Toshiba 000E7C Televes S.A. 000E7D Electronics Line 3000 Ltd. 000E7E ionSign Oy 000E7F Hewlett Packard 000E80 Thomson Technology Inc 000E81 Devicescape Software, Inc. 000E82 Commtech Wireless 000E83 Cisco Systems 000E84 Cisco Systems 000E85 Catalyst Enterprises, Inc. 000E86 Alcatel North America 000E87 adp Gauselmann GmbH 000E88 VIDEOTRON CORP. 000E89 CLEMATIC 000E8A Avara Technologies Pty. Ltd. 000E8B Astarte Technology Co, Ltd. 000E8C Siemens AG A&D ET 000E8D Systems in Progress Holding GmbH 000E8E SparkLAN Communications, Inc. 000E8F Sercomm Corp. 000E90 PONICO CORP. 000E91 Navico Auckland Ltd 000E92 Millinet Co., Ltd. 000E93 Milénio 3 Sistemas Electrónicos, Lda. 000E94 Maas International BV 000E95 Fujiya Denki Seisakusho Co.,Ltd. 000E96 Cubic Defense Applications, Inc. 000E97 Ultracker Technology CO., Inc 000E98 Vitec CC, INC. 000E99 Spectrum Digital, Inc 000E9A BOE TECHNOLOGY GROUP CO.,LTD 000E9B Ambit Microsystems Corporation 000E9C Pemstar 000E9D Tiscali UK Ltd 000E9E Topfield Co., Ltd 000E9F TEMIC SDS GmbH 000EA0 NetKlass Technology Inc. 000EA1 Formosa Teletek Corporation 000EA2 McAfee, Inc 000EA3 CNCR-IT CO.,LTD,HangZhou P.R.CHINA 000EA4 Certance Inc. 000EA5 BLIP Systems 000EA6 ASUSTEK COMPUTER INC. 000EA7 Endace Technology 000EA8 United Technologists Europe Limited 000EA9 Shanghai Xun Shi Communications Equipment Ltd. Co. 000EAA Scalent Systems, Inc. 000EAB Cray Inc 000EAC MINTRON ENTERPRISE CO., LTD. 000EAD Metanoia Technologies, Inc. 000EAE GAWELL TECHNOLOGIES CORP. 000EAF CASTEL 000EB0 Solutions Radio BV 000EB1 Newcotech,Ltd 000EB2 Micro-Research Finland Oy 000EB3 Hewlett-Packard 000EB4 GUANGZHOU GAOKE COMMUNICATIONS TECHNOLOGY CO.LTD. 000EB5 Ecastle Electronics Co., Ltd. 000EB6 Riverbed Technology, Inc. 000EB7 Knovative, Inc. 000EB8 Iiga co.,Ltd 000EB9 HASHIMOTO Electronics Industry Co.,Ltd. 000EBA HANMI SEMICONDUCTOR CO., LTD. 000EBB Everbee Networks 000EBC Paragon Fidelity GmbH 000EBD Burdick, a Quinton Compny 000EBE B&B Electronics Manufacturing Co. 000EBF Remsdaq Limited 000EC0 Nortel Networks 000EC1 MYNAH Technologies 000EC2 Lowrance Electronics, Inc. 000EC3 Logic Controls, Inc. 000EC4 Iskra Transmission d.d. 000EC5 Digital Multitools Inc 000EC6 ASIX ELECTRONICS CORP. 000EC7 Motorola Korea 000EC8 Zoran Corporation 000EC9 YOKO Technology Corp. 000ECA WTSS Inc 000ECB VineSys Technology 000ECC Tableau, LLC 000ECD SKOV A/S 000ECE S.I.T.T.I. S.p.A. 000ECF PROFIBUS Nutzerorganisation e.V. 000ED0 Privaris, Inc. 000ED1 Osaka Micro Computer. 000ED2 Filtronic plc 000ED3 Epicenter, Inc. 000ED4 CRESITT INDUSTRIE 000ED5 COPAN Systems Inc. 000ED6 Cisco Systems 000ED7 Cisco Systems 000ED8 Aktino, Inc. 000ED9 Aksys, Ltd. 000EDA C-TECH UNITED CORP. 000EDB XiNCOM Corp. 000EDC Tellion INC. 000EDD SHURE INCORPORATED 000EDE REMEC, Inc. 000EDF PLX Technology 000EE0 Mcharge 000EE1 ExtremeSpeed Inc. 000EE2 Custom Engineering S.p.A. 000EE3 Chiyu Technology Co.,Ltd 000EE4 BOE TECHNOLOGY GROUP CO.,LTD 000EE5 bitWallet, Inc. 000EE6 Adimos Systems LTD 000EE7 AAC ELECTRONICS CORP. 000EE8 zioncom 000EE9 WayTech Development, Inc. 000EEA Shadong Luneng Jicheng Electronics,Co.,Ltd 000EEB Sandmartin(zhong shan)Electronics Co.,Ltd 000EEC Orban 000EED Nokia Danmark A/S 000EEE Muco Industrie BV 000EEF PRIVATE 000EF0 Festo AG & Co. KG 000EF1 EZQUEST INC. 000EF2 Infinico Corporation 000EF3 Smarthome 000EF4 Kasda Digital Technology Co.,Ltd 000EF5 iPAC Technology Co., Ltd. 000EF6 E-TEN Information Systems Co., Ltd. 000EF7 Vulcan Portals Inc 000EF8 SBC ASI 000EF9 REA Elektronik GmbH 000EFA Optoway Technology Incorporation 000EFB Macey Enterprises 000EFC JTAG Technologies B.V. 000EFD FUJINON CORPORATION 000EFE EndRun Technologies LLC 000EFF Megasolution,Inc. 000F00 Legra Systems, Inc. 000F01 DIGITALKS INC 000F02 Digicube Technology Co., Ltd 000F03 COM&C CO., LTD 000F04 cim-usa inc 000F05 3B SYSTEM INC. 000F06 Nortel Networks 000F07 Mangrove Systems, Inc. 000F08 Indagon Oy 000F09 PRIVATE 000F0A Clear Edge Networks 000F0B Kentima Technologies AB 000F0C SYNCHRONIC ENGINEERING 000F0D Hunt Electronic Co., Ltd. 000F0E WaveSplitter Technologies, Inc. 000F0F Real ID Technology Co., Ltd. 000F10 RDM Corporation 000F11 Prodrive B.V. 000F12 Panasonic Europe Ltd. 000F13 Nisca corporation 000F14 Mindray Co., Ltd. 000F15 Kjaerulff1 A/S 000F16 JAY HOW TECHNOLOGY CO., 000F17 Insta Elektro GmbH 000F18 Industrial Control Systems 000F19 Boston Scientific 000F1A Gaming Support B.V. 000F1B Ego Systems Inc. 000F1C DigitAll World Co., Ltd 000F1D Cosmo Techs Co., Ltd. 000F1E Chengdu KT Electric Co.of High & New Technology 000F1F WW PCBA Test 000F20 Hewlett Packard 000F21 Scientific Atlanta, Inc 000F22 Helius, Inc. 000F23 Cisco Systems 000F24 Cisco Systems 000F25 AimValley B.V. 000F26 WorldAccxx LLC 000F27 TEAL Electronics, Inc. 000F28 Itronix Corporation 000F29 Augmentix Corporation 000F2A Cableware Electronics 000F2B GREENBELL SYSTEMS 000F2C Uplogix, Inc. 000F2D CHUNG-HSIN ELECTRIC & MACHINERY MFG.CORP. 000F2E Megapower International Corp. 000F2F W-LINX TECHNOLOGY CO., LTD. 000F30 Raza Microelectronics Inc 000F31 Allied Vision Technologies Canada Inc 000F32 LuTong Electronic Technology Co.,Ltd 000F33 DUALi Inc. 000F34 Cisco Systems 000F35 Cisco Systems 000F36 Accurate Techhnologies, Inc. 000F37 Xambala Incorporated 000F38 Netstar 000F39 IRIS SENSORS 000F3A HISHARP 000F3B Fuji System Machines Co., Ltd. 000F3C Endeleo Limited 000F3D D-Link Corporation 000F3E CardioNet, Inc 000F3F Big Bear Networks 000F40 Optical Internetworking Forum 000F41 Zipher Ltd 000F42 Xalyo Systems 000F43 Wasabi Systems Inc. 000F44 Tivella Inc. 000F45 Stretch, Inc. 000F46 SINAR AG 000F47 ROBOX SPA 000F48 Polypix Inc. 000F49 Northover Solutions Limited 000F4A Kyushu-kyohan co.,ltd 000F4B Oracle Corporation 000F4C Elextech INC 000F4D TalkSwitch 000F4E Cellink 000F4F Cadmus Technology Ltd 000F50 StreamScale Limited 000F51 Azul Systems, Inc. 000F52 YORK Refrigeration, Marine & Controls 000F53 Solarflare Communications Inc 000F54 Entrelogic Corporation 000F55 Datawire Communication Networks Inc. 000F56 Continuum Photonics Inc 000F57 CABLELOGIC Co., Ltd. 000F58 Adder Technology Limited 000F59 Phonak Communications AG 000F5A Peribit Networks 000F5B Delta Information Systems, Inc. 000F5C Day One Digital Media Limited 000F5D 42Networks AB 000F5E Veo 000F5F Nicety Technologies Inc. (NTS) 000F60 Lifetron Co.,Ltd 000F61 Hewlett Packard 000F62 Alcatel Bell Space N.V. 000F63 Obzerv Technologies 000F64 D&R Electronica Weesp BV 000F65 icube Corp. 000F66 Cisco-Linksys 000F67 West Instruments 000F68 Vavic Network Technology, Inc. 000F69 SEW Eurodrive GmbH & Co. KG 000F6A Nortel Networks 000F6B GateWare Communications GmbH 000F6C ADDI-DATA GmbH 000F6D Midas Engineering 000F6E BBox 000F6F FTA Communication Technologies 000F70 Wintec Industries, inc. 000F71 Sanmei Electronics Co.,Ltd 000F72 Sandburst 000F73 RS Automation Co., Ltd 000F74 Qamcom Technology AB 000F75 First Silicon Solutions 000F76 Digital Keystone, Inc. 000F77 DENTUM CO.,LTD 000F78 Datacap Systems Inc 000F79 Bluetooth Interest Group Inc. 000F7A BeiJing NuQX Technology CO.,LTD 000F7B Arce Sistemas, S.A. 000F7C ACTi Corporation 000F7D Xirrus 000F7E Ablerex Electronics Co., LTD 000F7F UBSTORAGE Co.,Ltd. 000F80 Trinity Security Systems,Inc. 000F81 Secure Info Imaging 000F82 Mortara Instrument, Inc. 000F83 Brainium Technologies Inc. 000F84 Astute Networks, Inc. 000F85 ADDO-Japan Corporation 000F86 Research In Motion Limited 000F87 Maxcess International 000F88 AMETEK, Inc. 000F89 Winnertec System Co., Ltd. 000F8A WideView 000F8B Orion MultiSystems Inc 000F8C Gigawavetech Pte Ltd 000F8D FAST TV-Server AG 000F8E DONGYANG TELECOM CO.,LTD. 000F8F Cisco Systems 000F90 Cisco Systems 000F91 Aerotelecom Co.,Ltd. 000F92 Microhard Systems Inc. 000F93 Landis+Gyr Ltd. 000F94 Genexis 000F95 ELECOM Co.,LTD Laneed Division 000F96 Critical Telecom Corp. 000F97 Avanex Corporation 000F98 Avamax Co. Ltd. 000F99 APAC opto Electronics Inc. 000F9A Synchrony, Inc. 000F9B Ross Video Limited 000F9C Panduit Corp 000F9D DisplayLink (UK) Ltd 000F9E Murrelektronik GmbH 000F9F Motorola BCS 000FA0 CANON KOREA BUSINESS SOLUTIONS INC. 000FA1 Gigabit Systems Inc. 000FA2 Digital Path Networks 000FA3 Alpha Networks Inc. 000FA4 Sprecher Automation GmbH 000FA5 SMP / BWA Technology GmbH 000FA6 S2 Security Corporation 000FA7 Raptor Networks Technology 000FA8 Photometrics, Inc. 000FA9 PC Fabrik 000FAA Nexus Technologies 000FAB Kyushu Electronics Systems Inc. 000FAC IEEE 802.11 000FAD FMN communications GmbH 000FAE E2O Communications 000FAF Dialog Inc. 000FB0 Compal Electronics,INC. 000FB1 Cognio Inc. 000FB2 Broadband Pacenet (India) Pvt. Ltd. 000FB3 Actiontec Electronics, Inc 000FB4 Timespace Technology 000FB5 NETGEAR Inc 000FB6 Europlex Technologies 000FB7 Cavium Networks 000FB8 CallURL Inc. 000FB9 Adaptive Instruments 000FBA Tevebox AB 000FBB Nokia Siemens Networks GmbH & Co. KG 000FBC Onkey Technologies, Inc. 000FBD MRV Communications (Networks) LTD 000FBE e-w/you Inc. 000FBF DGT Sp. z o.o. 000FC0 DELCOMp 000FC1 WAVE Corporation 000FC2 Uniwell Corporation 000FC3 PalmPalm Technology, Inc. 000FC4 NST co.,LTD. 000FC5 KeyMed Ltd 000FC6 Eurocom Industries A/S 000FC7 Dionica R&D Ltd. 000FC8 Chantry Networks 000FC9 Allnet GmbH 000FCA A-JIN TECHLINE CO, LTD 000FCB 3Com Ltd 000FCC Netopia, Inc. 000FCD Nortel Networks 000FCE Kikusui Electronics Corp. 000FCF Datawind Research 000FD0 ASTRI 000FD1 Applied Wireless Identifications Group, Inc. 000FD2 EWA Technologies, Inc. 000FD3 Digium 000FD4 Soundcraft 000FD5 Schwechat - RISE 000FD6 Sarotech Co., Ltd 000FD7 Harman Music Group 000FD8 Force, Inc. 000FD9 FlexDSL Telecommunications AG 000FDA YAZAKI CORPORATION 000FDB Westell Technologies 000FDC Ueda Japan Radio Co., Ltd. 000FDD SORDIN AB 000FDE Sony Ericsson Mobile Communications AB 000FDF SOLOMON Technology Corp. 000FE0 NComputing Co.,Ltd. 000FE1 ID DIGITAL CORPORATION 000FE2 Hangzhou H3C Technologies Co., Ltd. 000FE3 Damm Cellular Systems A/S 000FE4 Pantech Co.,Ltd 000FE5 MERCURY SECURITY CORPORATION 000FE6 MBTech Systems, Inc. 000FE7 Lutron Electronics Co., Inc. 000FE8 Lobos, Inc. 000FE9 GW TECHNOLOGIES CO.,LTD. 000FEA Giga-Byte Technology Co.,LTD. 000FEB Cylon Controls 000FEC Arkus Inc. 000FED Anam Electronics Co., Ltd 000FEE XTec, Incorporated 000FEF Thales e-Transactions GmbH 000FF0 Sunray Co. Ltd. 000FF1 nex-G Systems Pte.Ltd 000FF2 Loud Technologies Inc. 000FF3 Jung Myoung Communications&Technology 000FF4 Guntermann & Drunck GmbH 000FF5 GN&S company 000FF6 Darfon Electronics Corp. 000FF7 Cisco Systems 000FF8 Cisco Systems 000FF9 Valcretec, Inc. 000FFA Optinel Systems, Inc. 000FFB Nippon Denso Industry Co., Ltd. 000FFC Merit Li-Lin Ent. 000FFD Glorytek Network Inc. 000FFE G-PRO COMPUTER 000FFF Control4 001000 CABLE TELEVISION LABORATORIES, INC. 001001 Citel 001002 ACTIA 001003 IMATRON, INC. 001004 THE BRANTLEY COILE COMPANY,INC 001005 UEC COMMERCIAL 001006 Thales Contact Solutions Ltd. 001007 CISCO SYSTEMS, INC. 001008 VIENNA SYSTEMS CORPORATION 001009 HORO QUARTZ 00100A WILLIAMS COMMUNICATIONS GROUP 00100B CISCO SYSTEMS, INC. 00100C ITO CO., LTD. 00100D CISCO SYSTEMS, INC. 00100E MICRO LINEAR COPORATION 00100F INDUSTRIAL CPU SYSTEMS 001010 INITIO CORPORATION 001011 CISCO SYSTEMS, INC. 001012 PROCESSOR SYSTEMS (I) PVT LTD 001013 Kontron America, Inc. 001014 CISCO SYSTEMS, INC. 001015 OOmon Inc. 001016 T.SQWARE 001017 Bosch Access Systems GmbH 001018 BROADCOM CORPORATION 001019 SIRONA DENTAL SYSTEMS GmbH & Co. KG 00101A PictureTel Corp. 00101B CORNET TECHNOLOGY, INC. 00101C OHM TECHNOLOGIES INTL, LLC 00101D WINBOND ELECTRONICS CORP. 00101E MATSUSHITA ELECTRONIC INSTRUMENTS CORP. 00101F CISCO SYSTEMS, INC. 001020 Hand Held Products Inc 001021 ENCANTO NETWORKS, INC. 001022 SatCom Media Corporation 001023 Network Equipment Technologies 001024 NAGOYA ELECTRIC WORKS CO., LTD 001025 Grayhill, Inc 001026 ACCELERATED NETWORKS, INC. 001027 L-3 COMMUNICATIONS EAST 001028 COMPUTER TECHNICA, INC. 001029 CISCO SYSTEMS, INC. 00102A ZF MICROSYSTEMS, INC. 00102B UMAX DATA SYSTEMS, INC. 00102C Lasat Networks A/S 00102D HITACHI SOFTWARE ENGINEERING 00102E NETWORK SYSTEMS & TECHNOLOGIES PVT. LTD. 00102F CISCO SYSTEMS, INC. 001030 EION Inc. 001031 OBJECTIVE COMMUNICATIONS, INC. 001032 ALTA TECHNOLOGY 001033 ACCESSLAN COMMUNICATIONS, INC. 001034 GNP Computers 001035 ELITEGROUP COMPUTER SYSTEMS CO., LTD 001036 INTER-TEL INTEGRATED SYSTEMS 001037 CYQ've Technology Co., Ltd. 001038 MICRO RESEARCH INSTITUTE, INC. 001039 Vectron Systems AG 00103A DIAMOND NETWORK TECH 00103B HIPPI NETWORKING FORUM 00103C IC ENSEMBLE, INC. 00103D PHASECOM, LTD. 00103E NETSCHOOLS CORPORATION 00103F TOLLGRADE COMMUNICATIONS, INC. 001040 INTERMEC CORPORATION 001041 BRISTOL BABCOCK, INC. 001042 Alacritech, Inc. 001043 A2 CORPORATION 001044 InnoLabs Corporation 001045 Nortel Networks 001046 ALCORN MCBRIDE INC. 001047 ECHO ELETRIC CO. LTD. 001048 HTRC AUTOMATION, INC. 001049 ShoreTel, Inc 00104A The Parvus Corporation 00104B 3COM CORPORATION 00104C LeCroy Corporation 00104D SURTEC INDUSTRIES, INC. 00104E CEOLOGIC 00104F Oracle Corporation 001050 RION CO., LTD. 001051 CMICRO CORPORATION 001052 METTLER-TOLEDO (ALBSTADT) GMBH 001053 COMPUTER TECHNOLOGY CORP. 001054 CISCO SYSTEMS, INC. 001055 FUJITSU MICROELECTRONICS, INC. 001056 SODICK CO., LTD. 001057 Rebel.com, Inc. 001058 ArrowPoint Communications 001059 DIABLO RESEARCH CO. LLC 00105A 3COM CORPORATION 00105B NET INSIGHT AB 00105C QUANTUM DESIGNS (H.K.) LTD. 00105D Draeger Medical 00105E HEKIMIAN LABORATORIES, INC. 00105F ZODIAC DATA SYSTEMS 001060 BILLIONTON SYSTEMS, INC. 001061 HOSTLINK CORP. 001062 NX SERVER, ILNC. 001063 STARGUIDE DIGITAL NETWORKS 001064 DNPG, LLC 001065 RADYNE CORPORATION 001066 ADVANCED CONTROL SYSTEMS, INC. 001067 REDBACK NETWORKS, INC. 001068 COMOS TELECOM 001069 HELIOSS COMMUNICATIONS, INC. 00106A DIGITAL MICROWAVE CORPORATION 00106B SONUS NETWORKS, INC. 00106C Infratec AG 00106D Axxcelera Broadband Wireless 00106E TADIRAN COM. LTD. 00106F TRENTON TECHNOLOGY INC. 001070 CARADON TREND LTD. 001071 ADVANET INC. 001072 GVN TECHNOLOGIES, INC. 001073 Technobox, Inc. 001074 ATEN INTERNATIONAL CO., LTD. 001075 Maxtor Corporation 001076 EUREM GmbH 001077 SAF DRIVE SYSTEMS, LTD. 001078 NUERA COMMUNICATIONS, INC. 001079 CISCO SYSTEMS, INC. 00107A AmbiCom, Inc. 00107B CISCO SYSTEMS, INC. 00107C P-COM, INC. 00107D AURORA COMMUNICATIONS, LTD. 00107E BACHMANN ELECTRONIC GmbH 00107F CRESTRON ELECTRONICS, INC. 001080 METAWAVE COMMUNICATIONS 001081 DPS, INC. 001082 JNA TELECOMMUNICATIONS LIMITED 001083 HEWLETT-PACKARD COMPANY 001084 K-BOT COMMUNICATIONS 001085 POLARIS COMMUNICATIONS, INC. 001086 ATTO Technology, Inc. 001087 Xstreamis PLC 001088 AMERICAN NETWORKS INC. 001089 WebSonic 00108A TeraLogic, Inc. 00108B LASERANIMATION SOLLINGER GmbH 00108C FUJITSU TELECOMMUNICATIONS EUROPE, LTD. 00108D Johnson Controls, Inc. 00108E HUGH SYMONS CONCEPT Technologies Ltd. 00108F RAPTOR SYSTEMS 001090 CIMETRICS, INC. 001091 NO WIRES NEEDED BV 001092 NETCORE INC. 001093 CMS COMPUTERS, LTD. 001094 Performance Analysis Broadband, Spirent plc 001095 Thomson Inc. 001096 TRACEWELL SYSTEMS, INC. 001097 WinNet Metropolitan Communications Systems, Inc. 001098 STARNET TECHNOLOGIES, INC. 001099 InnoMedia, Inc. 00109A NETLINE 00109B Emulex Corporation 00109C M-SYSTEM CO., LTD. 00109D CLARINET SYSTEMS, INC. 00109E AWARE, INC. 00109F PAVO, INC. 0010A0 INNOVEX TECHNOLOGIES, INC. 0010A1 KENDIN SEMICONDUCTOR, INC. 0010A2 TNS 0010A3 OMNITRONIX, INC. 0010A4 XIRCOM 0010A5 OXFORD INSTRUMENTS 0010A6 CISCO SYSTEMS, INC. 0010A7 UNEX TECHNOLOGY CORPORATION 0010A8 RELIANCE COMPUTER CORP. 0010A9 ADHOC TECHNOLOGIES 0010AA MEDIA4, INC. 0010AB KOITO INDUSTRIES, LTD. 0010AC IMCI TECHNOLOGIES 0010AD SOFTRONICS USB, INC. 0010AE SHINKO ELECTRIC INDUSTRIES CO. 0010AF TAC SYSTEMS, INC. 0010B0 MERIDIAN TECHNOLOGY CORP. 0010B1 FOR-A CO., LTD. 0010B2 COACTIVE AESTHETICS 0010B3 NOKIA MULTIMEDIA TERMINALS 0010B4 ATMOSPHERE NETWORKS 0010B5 ACCTON TECHNOLOGY CORPORATION 0010B6 ENTRATA COMMUNICATIONS CORP. 0010B7 COYOTE TECHNOLOGIES, LLC 0010B8 ISHIGAKI COMPUTER SYSTEM CO. 0010B9 MAXTOR CORP. 0010BA MARTINHO-DAVIS SYSTEMS, INC. 0010BB DATA & INFORMATION TECHNOLOGY 0010BC Aastra Telecom 0010BD THE TELECOMMUNICATION TECHNOLOGY COMMITTEE (TTC) 0010BE MARCH NETWORKS CORPORATION 0010BF InterAir Wireless 0010C0 ARMA, Inc. 0010C1 OI ELECTRIC CO., LTD. 0010C2 WILLNET, INC. 0010C3 CSI-CONTROL SYSTEMS 0010C4 MEDIA LINKS CO., LTD. 0010C5 PROTOCOL TECHNOLOGIES, INC. 0010C6 Universal Global Scientific Industrial Co., Ltd. 0010C7 DATA TRANSMISSION NETWORK 0010C8 COMMUNICATIONS ELECTRONICS SECURITY GROUP 0010C9 MITSUBISHI ELECTRONICS LOGISTIC SUPPORT CO. 0010CA INTEGRAL ACCESS 0010CB FACIT K.K. 0010CC CLP COMPUTER LOGISTIK PLANUNG GmbH 0010CD INTERFACE CONCEPT 0010CE VOLAMP, LTD. 0010CF FIBERLANE COMMUNICATIONS 0010D0 WITCOM, LTD. 0010D1 Top Layer Networks, Inc. 0010D2 NITTO TSUSHINKI CO., LTD 0010D3 GRIPS ELECTRONIC GMBH 0010D4 STORAGE COMPUTER CORPORATION 0010D5 IMASDE CANARIAS, S.A. 0010D6 ITT - A/CD 0010D7 ARGOSY RESEARCH INC. 0010D8 CALISTA 0010D9 IBM JAPAN, FUJISAWA MT+D 0010DA MOTION ENGINEERING, INC. 0010DB Juniper Networks, Inc. 0010DC MICRO-STAR INTERNATIONAL CO., LTD. 0010DD ENABLE SEMICONDUCTOR, INC. 0010DE INTERNATIONAL DATACASTING CORPORATION 0010DF RISE COMPUTER INC. 0010E0 Oracle Corporation 0010E1 S.I. TECH, INC. 0010E2 ArrayComm, Inc. 0010E3 Hewlett Packard 0010E4 NSI CORPORATION 0010E5 SOLECTRON TEXAS 0010E6 APPLIED INTELLIGENT SYSTEMS, INC. 0010E7 BreezeCom 0010E8 TELOCITY, INCORPORATED 0010E9 RAIDTEC LTD. 0010EA ADEPT TECHNOLOGY 0010EB SELSIUS SYSTEMS, INC. 0010EC RPCG, LLC 0010ED SUNDANCE TECHNOLOGY, INC. 0010EE CTI PRODUCTS, INC. 0010EF DBTEL INCORPORATED 0010F1 I-O CORPORATION 0010F2 ANTEC 0010F3 Nexcom International Co., Ltd. 0010F4 Vertical Communications 0010F5 AMHERST SYSTEMS, INC. 0010F6 CISCO SYSTEMS, INC. 0010F7 IRIICHI TECHNOLOGIES Inc. 0010F8 Niikke Techno System Co. Ltd 0010F9 UNIQUE SYSTEMS, INC. 0010FA Apple Inc 0010FB ZIDA TECHNOLOGIES LIMITED 0010FC BROADBAND NETWORKS, INC. 0010FD COCOM A/S 0010FE DIGITAL EQUIPMENT CORPORATION 0010FF CISCO SYSTEMS, INC. 001100 Schneider Electric 001101 CET Technologies Pte Ltd 001102 Aurora Multimedia Corp. 001103 kawamura electric inc. 001104 TELEXY 001105 Sunplus Technology Co., Ltd. 001106 Siemens NV (Belgium) 001107 RGB Networks Inc. 001108 Orbital Data Corporation 001109 Micro-Star International 00110A Hewlett Packard 00110B Franklin Technology Systems 00110C Atmark Techno, Inc. 00110D SANBlaze Technology, Inc. 00110E Tsurusaki Sealand Transportation Co. Ltd. 00110F netplat,Inc. 001110 Maxanna Technology Co., Ltd. 001111 Intel Corporation 001112 Honeywell CMSS 001113 Fraunhofer FOKUS 001114 EverFocus Electronics Corp. 001115 EPIN Technologies, Inc. 001116 COTEAU VERT CO., LTD. 001117 CESNET 001118 BLX IC Design Corp., Ltd. 001119 Solteras, Inc. 00111A Motorola BCS 00111B Targa Systems Div L-3 Communications Canada 00111C Pleora Technologies Inc. 00111D Hectrix Limited 00111E EPSG (Ethernet Powerlink Standardization Group) 00111F Doremi Labs, Inc. 001120 Cisco Systems 001121 Cisco Systems 001122 CIMSYS Inc 001123 Appointech, Inc. 001124 Apple Computer 001125 IBM Corp 001126 Venstar Inc. 001127 TASI, Inc 001128 Streamit 001129 Paradise Datacom Ltd. 00112A Niko NV 00112B NetModule AG 00112C IZT GmbH 00112D iPulse Systems 00112E CEICOM 00112F ASUSTek Computer Inc. 001130 Allied Telesis (Hong Kong) Ltd. 001131 UNATECH. CO.,LTD 001132 Synology Incorporated 001133 Siemens Austria SIMEA 001134 MediaCell, Inc. 001135 Grandeye Ltd 001136 Goodrich Sensor Systems 001137 AICHI ELECTRIC CO., LTD. 001138 TAISHIN CO., LTD. 001139 STOEBER ANTRIEBSTECHNIK GmbH + Co. KG. 00113A SHINBORAM 00113B Micronet Communications Inc. 00113C Micronas GmbH 00113D KN SOLTEC CO.,LTD. 00113E JL Corporation 00113F Alcatel DI 001140 Nanometrics Inc. 001141 GoodMan Corporation 001142 e-SMARTCOM INC. 001143 DELL INC. 001144 Assurance Technology Corp 001145 ValuePoint Networks 001146 Telecard-Pribor Ltd 001147 Secom-Industry co.LTD. 001148 Prolon Control Systems 001149 Proliphix Inc. 00114A KAYABA INDUSTRY Co,.Ltd. 00114B Francotyp-Postalia GmbH 00114C caffeina applied research ltd. 00114D Atsumi Electric Co.,LTD. 00114E 690885 Ontario Inc. 00114F US Digital Television, Inc 001150 Belkin Corporation 001151 Mykotronx 001152 Eidsvoll Electronics AS 001153 Trident Tek, Inc. 001154 Webpro Technologies Inc. 001155 Sevis Systems 001156 Pharos Systems NZ 001157 OF Networks Co., Ltd. 001158 Nortel Networks 001159 MATISSE NETWORKS INC 00115A Ivoclar Vivadent AG 00115B Elitegroup Computer System Co. (ECS) 00115C Cisco 00115D Cisco 00115E ProMinent Dosiertechnik GmbH 00115F ITX Security Co., Ltd. 001160 ARTDIO Company Co., LTD 001161 NetStreams, LLC 001162 STAR MICRONICS CO.,LTD. 001163 SYSTEM SPA DEPT. ELECTRONICS 001164 ACARD Technology Corp. 001165 Znyx Networks 001166 Taelim Electronics Co., Ltd. 001167 Integrated System Solution Corp. 001168 HomeLogic LLC 001169 EMS Satcom 00116A Domo Ltd 00116B Digital Data Communications Asia Co.,Ltd 00116C Nanwang Multimedia Inc.,Ltd 00116D American Time and Signal 00116E PePLink Ltd. 00116F Netforyou Co., LTD. 001170 GSC SRL 001171 DEXTER Communications, Inc. 001172 COTRON CORPORATION 001173 SMART Modular Technologies 001174 Wibhu Technologies, Inc. 001175 PathScale, Inc. 001176 Intellambda Systems, Inc. 001177 Coaxial Networks, Inc. 001178 Chiron Technology Ltd 001179 Singular Technology Co. Ltd. 00117A Singim International Corp. 00117B Büchi Labortechnik AG 00117C e-zy.net 00117D ZMD America, Inc. 00117E Progeny Inc. 00117F Neotune Information Technology Corporation,.LTD 001180 Motorola BCS 001181 InterEnergy Co.Ltd, 001182 IMI Norgren Ltd 001183 Datalogic Mobile, Inc. 001184 Humo Laboratory,Ltd. 001185 Hewlett Packard 001186 Prime Systems, Inc. 001187 Category Solutions, Inc 001188 Enterasys 001189 Aerotech Inc 00118A Viewtran Technology Limited 00118B Alcatel-Lucent, Enterprise Business Group 00118C Missouri Department of Transportation 00118D Hanchang System Corp. 00118E Halytech Mace 00118F EUTECH INSTRUMENTS PTE. LTD. 001190 Digital Design Corporation 001191 CTS-Clima Temperatur Systeme GmbH 001192 Cisco Systems 001193 Cisco Systems 001194 Chi Mei Communication Systems, Inc. 001195 D-Link Corporation 001196 Actuality Systems, Inc. 001197 Monitoring Technologies Limited 001198 Prism Media Products Limited 001199 2wcom GmbH 00119A Alkeria srl 00119B Telesynergy Research Inc. 00119C EP&T Energy 00119D Diginfo Technology Corporation 00119E Solectron Brazil 00119F Nokia Danmark A/S 0011A0 Vtech Engineering Canada Ltd 0011A1 VISION NETWARE CO.,LTD 0011A2 Manufacturing Technology Inc 0011A3 LanReady Technologies Inc. 0011A4 JStream Technologies Inc. 0011A5 Fortuna Electronic Corp. 0011A6 Sypixx Networks 0011A7 Infilco Degremont Inc. 0011A8 Quest Technologies 0011A9 MOIMSTONE Co., LTD 0011AA Uniclass Technology, Co., LTD 0011AB TRUSTABLE TECHNOLOGY CO.,LTD. 0011AC Simtec Electronics 0011AD Shanghai Ruijie Technology 0011AE Motorola BCS 0011AF Medialink-i,Inc 0011B0 Fortelink Inc. 0011B1 BlueExpert Technology Corp. 0011B2 2001 Technology Inc. 0011B3 YOSHIMIYA CO.,LTD. 0011B4 Westermo Teleindustri AB 0011B5 Shenzhen Powercom Co.,Ltd 0011B6 Open Systems International 0011B7 Octalix B.V. 0011B8 Liebherr - Elektronik GmbH 0011B9 Inner Range Pty. Ltd. 0011BA Elexol Pty Ltd 0011BB Cisco Systems 0011BC Cisco Systems 0011BD Bombardier Transportation 0011BE AGP Telecom Co. Ltd 0011BF AESYS S.p.A. 0011C0 Aday Technology Inc 0011C1 4P MOBILE DATA PROCESSING 0011C2 United Fiber Optic Communication 0011C3 Transceiving System Technology Corporation 0011C4 Terminales de Telecomunicacion Terrestre, S.L. 0011C5 TEN Technology 0011C6 Seagate Technology LLC 0011C7 Raymarine UK Ltd 0011C8 Powercom Co., Ltd. 0011C9 MTT Corporation 0011CA Long Range Systems, Inc. 0011CB Jacobsons AB 0011CC Guangzhou Jinpeng Group Co.,Ltd. 0011CD Axsun Technologies 0011CE Ubisense Limited 0011CF Thrane & Thrane A/S 0011D0 Tandberg Data ASA 0011D1 Soft Imaging System GmbH 0011D2 Perception Digital Ltd 0011D3 NextGenTel Holding ASA 0011D4 NetEnrich, Inc 0011D5 Hangzhou Sunyard System Engineering Co.,Ltd. 0011D6 HandEra, Inc. 0011D7 eWerks Inc 0011D8 ASUSTek Computer Inc. 0011D9 TiVo 0011DA Vivaas Technology Inc. 0011DB Land-Cellular Corporation 0011DC Glunz & Jensen 0011DD FROMUS TEC. Co., Ltd. 0011DE EURILOGIC 0011DF Current Energy 0011E0 U-MEDIA Communications, Inc. 0011E1 Arcelik A.S 0011E2 Hua Jung Components Co., Ltd. 0011E3 Thomson, Inc. 0011E4 Danelec Electronics A/S 0011E5 KCodes Corporation 0011E6 Scientific Atlanta 0011E7 WORLDSAT - Texas de France 0011E8 Tixi.Com 0011E9 STARNEX CO., LTD. 0011EA IWICS Inc. 0011EB Innovative Integration 0011EC AVIX INC. 0011ED 802 Global 0011EE Estari, Inc. 0011EF Conitec Datensysteme GmbH 0011F0 Wideful Limited 0011F1 QinetiQ Ltd 0011F2 Institute of Network Technologies 0011F3 NeoMedia Europe AG 0011F4 woori-net 0011F5 ASKEY COMPUTER CORP. 0011F6 Asia Pacific Microsystems , Inc. 0011F7 Shenzhen Forward Industry Co., Ltd 0011F8 AIRAYA Corp 0011F9 Nortel Networks 0011FA Rane Corporation 0011FB Heidelberg Engineering GmbH 0011FC HARTING Electric Gmbh & Co.KG 0011FD KORG INC. 0011FE Keiyo System Research, Inc. 0011FF Digitro Tecnologia Ltda 001200 Cisco 001201 Cisco 001202 Decrane Aerospace - Audio International Inc. 001203 Activ Networks 001204 u10 Networks, Inc. 001205 Terrasat Communications, Inc. 001206 iQuest (NZ) Ltd 001207 Head Strong International Limited 001208 Gantner Instruments GmbH 001209 Fastrax Ltd 00120A Emerson Electric GmbH & Co. OHG 00120B Chinasys Technologies Limited 00120C CE-Infosys Pte Ltd 00120D Advanced Telecommunication Technologies, Inc. 00120E AboCom 00120F IEEE 802.3 001210 WideRay Corp 001211 Protechna Herbst GmbH & Co. KG 001212 PLUS Corporation 001213 Metrohm AG 001214 Koenig & Bauer AG 001215 iStor Networks, Inc. 001216 ICP Internet Communication Payment AG 001217 Cisco-Linksys, LLC 001218 ARUZE Corporation 001219 Ahead Communication Systems Inc 00121A Techno Soft Systemnics Inc. 00121B Sound Devices, LLC 00121C PARROT S.A. 00121D Netfabric Corporation 00121E Juniper Networks, Inc. 00121F Harding Intruments 001220 Cadco Systems 001221 B.Braun Melsungen AG 001222 Skardin (UK) Ltd 001223 Pixim 001224 NexQL Corporation 001225 Motorola BCS 001226 Japan Direx Corporation 001227 Franklin Electric Co., Inc. 001228 Data Ltd. 001229 BroadEasy Technologies Co.,Ltd 00122A VTech Telecommunications Ltd. 00122B Virbiage Pty Ltd 00122C Soenen Controls N.V. 00122D SiNett Corporation 00122E Signal Technology - AISD 00122F Sanei Electric Inc. 001230 Picaso Infocommunication CO., LTD. 001231 Motion Control Systems, Inc. 001232 LeWiz Communications Inc. 001233 JRC TOKKI Co.,Ltd. 001234 Camille Bauer 001235 Andrew Corporation 001236 ConSentry Networks 001237 Texas Instruments 001238 SetaBox Technology Co., Ltd. 001239 S Net Systems Inc. 00123A Posystech Inc., Co. 00123B KeRo Systems ApS 00123C Second Rule LLC 00123D GES 00123E ERUNE technology Co., Ltd. 00123F Dell Inc 001240 AMOI ELECTRONICS CO.,LTD 001241 a2i marketing center 001242 Millennial Net 001243 Cisco 001244 Cisco 001245 Zellweger Analytics, Inc. 001246 T.O.M TECHNOLOGY INC.. 001247 Samsung Electronics Co., Ltd. 001248 EMC Corporation (Kashya) 001249 Delta Elettronica S.p.A. 00124A Dedicated Devices, Inc. 00124B Texas Instruments 00124C BBWM Corporation 00124D Inducon BV 00124E XAC AUTOMATION CORP. 00124F Tyco Thermal Controls LLC. 001250 Tokyo Aircaft Instrument Co., Ltd. 001251 SILINK 001252 Citronix, LLC 001253 AudioDev AB 001254 Spectra Technologies Holdings Company Ltd 001255 NetEffect Incorporated 001256 LG INFORMATION & COMM. 001257 LeapComm Communication Technologies Inc. 001258 Activis Polska 001259 THERMO ELECTRON KARLSRUHE 00125A Microsoft Corporation 00125B KAIMEI ELECTRONI 00125C Green Hills Software, Inc. 00125D CyberNet Inc. 00125E CAEN 00125F AWIND Inc. 001260 Stanton Magnetics,inc. 001261 Adaptix, Inc 001262 Nokia Danmark A/S 001263 Data Voice Technologies GmbH 001264 daum electronic gmbh 001265 Enerdyne Technologies, Inc. 001266 Swisscom Hospitality Services SA 001267 Matsushita Electronic Components Co., Ltd. 001268 IPS d.o.o. 001269 Value Electronics 00126A OPTOELECTRONICS Co., Ltd. 00126B Ascalade Communications Limited 00126C Visonic Ltd. 00126D University of California, Berkeley 00126E Seidel Elektronik GmbH Nfg.KG 00126F Rayson Technology Co., Ltd. 001270 NGES Denro Systems 001271 Measurement Computing Corp 001272 Redux Communications Ltd. 001273 Stoke Inc 001274 NIT lab 001275 Sentilla Corporation 001276 CG Power Systems Ireland Limited 001277 Korenix Technologies Co., Ltd. 001278 International Bar Code 001279 Hewlett Packard 00127A Sanyu Industry Co.,Ltd. 00127B VIA Networking Technologies, Inc. 00127C SWEGON AB 00127D MobileAria 00127E Digital Lifestyles Group, Inc. 00127F Cisco 001280 Cisco 001281 March Networks S.p.A. 001282 Qovia 001283 Nortel Networks 001284 Lab33 Srl 001285 Gizmondo Europe Ltd 001286 ENDEVCO CORP 001287 Digital Everywhere Unterhaltungselektronik GmbH 001288 2Wire, Inc 001289 Advance Sterilization Products 00128A Motorola BCS 00128B Sensory Networks Inc 00128C Woodward Governor 00128D STB Datenservice GmbH 00128E Q-Free ASA 00128F Montilio 001290 KYOWA Electric & Machinery Corp. 001291 KWS Computersysteme GmbH 001292 Griffin Technology 001293 GE Energy 001294 SUMITOMO ELECTRIC DEVICE INNOVATIONS, INC 001295 Aiware Inc. 001296 Addlogix 001297 O2Micro, Inc. 001298 MICO ELECTRIC(SHENZHEN) LIMITED 001299 Ktech Telecommunications Inc 00129A IRT Electronics Pty Ltd 00129B E2S Electronic Engineering Solutions, S.L. 00129C Yulinet 00129D First International Computer do Brasil 00129E Surf Communications Inc. 00129F RAE Systems, Inc. 0012A0 NeoMeridian Sdn Bhd 0012A1 BluePacket Communications Co., Ltd. 0012A2 VITA 0012A3 Trust International B.V. 0012A4 ThingMagic, LLC 0012A5 Stargen, Inc. 0012A6 Dolby Australia 0012A7 ISR TECHNOLOGIES Inc 0012A8 intec GmbH 0012A9 3Com Ltd 0012AA IEE, Inc. 0012AB WiLife, Inc. 0012AC ONTIMETEK INC. 0012AD IDS GmbH 0012AE HLS HARD-LINE Solutions Inc. 0012AF ELPRO Technologies 0012B0 Efore Oyj (Plc) 0012B1 Dai Nippon Printing Co., Ltd 0012B2 AVOLITES LTD. 0012B3 Advance Wireless Technology Corp. 0012B4 Work Microwave GmbH 0012B5 Vialta, Inc. 0012B6 Santa Barbara Infrared, Inc. 0012B7 PTW Freiburg 0012B8 G2 Microsystems 0012B9 Fusion Digital Technology 0012BA FSI Systems, Inc. 0012BB Telecommunications Industry Association TR-41 Committee 0012BC Echolab LLC 0012BD Avantec Manufacturing Limited 0012BE Astek Corporation 0012BF Arcadyan Technology Corporation 0012C0 HotLava Systems, Inc. 0012C1 Check Point Software Technologies 0012C2 Apex Electronics Factory 0012C3 WIT S.A. 0012C4 Viseon, Inc. 0012C5 V-Show Technology (China) Co.,Ltd 0012C6 TGC America, Inc 0012C7 SECURAY Technologies Ltd.Co. 0012C8 Perfect tech 0012C9 Motorola BCS 0012CA Mechatronic Brick Aps 0012CB CSS Inc. 0012CC Bitatek CO., LTD 0012CD ASEM SpA 0012CE Advanced Cybernetics Group 0012CF Accton Technology Corporation 0012D0 Gossen-Metrawatt-GmbH 0012D1 Texas Instruments Inc 0012D2 Texas Instruments 0012D3 Zetta Systems, Inc. 0012D4 Princeton Technology, Ltd 0012D5 Motion Reality Inc. 0012D6 Jiangsu Yitong High-Tech Co.,Ltd 0012D7 Invento Networks, Inc. 0012D8 International Games System Co., Ltd. 0012D9 Cisco Systems 0012DA Cisco Systems 0012DB ZIEHL industrie-elektronik GmbH + Co KG 0012DC SunCorp Industrial Limited 0012DD Shengqu Information Technology (Shanghai) Co., Ltd. 0012DE Radio Components Sweden AB 0012DF Novomatic AG 0012E0 Codan Limited 0012E1 Alliant Networks, Inc 0012E2 ALAXALA Networks Corporation 0012E3 Agat-RT, Ltd. 0012E4 ZIEHL industrie-electronik GmbH + Co KG 0012E5 Time America, Inc. 0012E6 SPECTEC COMPUTER CO., LTD. 0012E7 Projectek Networking Electronics Corp. 0012E8 Fraunhofer IMS 0012E9 Abbey Systems Ltd 0012EA Trane 0012EB R2DI, LLC 0012EC Movacolor b.v. 0012ED AVG Advanced Technologies 0012EE Sony Ericsson Mobile Communications AB 0012EF OneAccess SA 0012F0 Intel Corporate 0012F1 IFOTEC 0012F2 Brocade Communications Systems, Inc 0012F3 connectBlue AB 0012F4 Belco International Co.,Ltd. 0012F5 Imarda New Zealand Limited 0012F6 MDK CO.,LTD. 0012F7 Xiamen Xinglian Electronics Co., Ltd. 0012F8 WNI Resources, LLC 0012F9 URYU SEISAKU, LTD. 0012FA THX LTD 0012FB Samsung Electronics 0012FC PLANET System Co.,LTD 0012FD OPTIMUS IC S.A. 0012FE Lenovo Mobile Communication Technology Ltd. 0012FF Lely Industries N.V. 001300 IT-FACTORY, INC. 001301 IronGate S.L. 001302 Intel Corporate 001303 GateConnect Technologies GmbH 001304 Flaircomm Technologies Co. LTD 001305 Epicom, Inc. 001306 Always On Wireless 001307 Paravirtual Corporation 001308 Nuvera Fuel Cells 001309 Ocean Broadband Networks 00130A Nortel 00130B Mextal B.V. 00130C HF System Corporation 00130D GALILEO AVIONICA 00130E Focusrite Audio Engineering Limited 00130F EGEMEN Bilgisayar Muh San ve Tic LTD STI 001310 Cisco-Linksys, LLC 001311 ARRIS International 001312 Amedia Networks Inc. 001313 GuangZhou Post & Telecom Equipment ltd 001314 Asiamajor Inc. 001315 SONY Computer Entertainment inc, 001316 L-S-B Broadcast Technologies GmbH 001317 GN Netcom as 001318 DGSTATION Co., Ltd. 001319 Cisco Systems 00131A Cisco Systems 00131B BeCell Innovations Corp. 00131C LiteTouch, Inc. 00131D Scanvaegt International A/S 00131E Peiker acustic GmbH & Co. KG 00131F NxtPhase T&D, Corp. 001320 Intel Corporate 001321 Hewlett Packard 001322 DAQ Electronics, Inc. 001323 Cap Co., Ltd. 001324 Schneider Electric Ultra Terminal 001325 Cortina Systems Inc 001326 ECM Systems Ltd 001327 Data Acquisitions limited 001328 Westech Korea Inc., 001329 VSST Co., LTD 00132A Sitronics Telecom Solutions 00132B Phoenix Digital 00132C MAZ Brandenburg GmbH 00132D iWise Communications 00132E ITian Coporation 00132F Interactek 001330 EURO PROTECTION SURVEILLANCE 001331 CellPoint Connect 001332 Beijing Topsec Network Security Technology Co., Ltd. 001333 BaudTec Corporation 001334 Arkados, Inc. 001335 VS Industry Berhad 001336 Tianjin 712 Communication Broadcasting co., ltd. 001337 Orient Power Home Network Ltd. 001338 FRESENIUS-VIAL 001339 EL-ME AG 00133A VadaTech Inc. 00133B Speed Dragon Multimedia Limited 00133C QUINTRON SYSTEMS INC. 00133D Micro Memory Curtiss Wright Co 00133E MetaSwitch 00133F Eppendorf Instrumente GmbH 001340 AD.EL s.r.l. 001341 Shandong New Beiyang Information Technology Co.,Ltd 001342 Vision Research, Inc. 001343 Matsushita Electronic Components (Europe) GmbH 001344 Fargo Electronics Inc. 001345 Eaton Corporation 001346 D-Link Corporation 001347 BlueTree Wireless Data Inc. 001348 Artila Electronics Co., Ltd. 001349 ZyXEL Communications Corporation 00134A Engim, Inc. 00134B ToGoldenNet Technology Inc. 00134C YDT Technology International 00134D IPC systems 00134E Valox Systems, Inc. 00134F Tranzeo Wireless Technologies Inc. 001350 Silver Spring Networks, Inc 001351 Niles Audio Corporation 001352 Naztec, Inc. 001353 HYDAC Filtertechnik GMBH 001354 Zcomax Technologies, Inc. 001355 TOMEN Cyber-business Solutions, Inc. 001356 target systemelectronic gmbh 001357 Soyal Technology Co., Ltd. 001358 Realm Systems, Inc. 001359 ProTelevision Technologies A/S 00135A Project T&E Limited 00135B PanelLink Cinema, LLC 00135C OnSite Systems, Inc. 00135D NTTPC Communications, Inc. 00135E EAB/RWI/K 00135F Cisco Systems 001360 Cisco Systems 001361 Biospace Co., Ltd. 001362 ShinHeung Precision Co., Ltd. 001363 Verascape, Inc. 001364 Paradigm Technology Inc.. 001365 Nortel 001366 Neturity Technologies Inc. 001367 Narayon. Co., Ltd. 001368 Maersk Data Defence 001369 Honda Electron Co., LED. 00136A Hach Lange SA 00136B E-TEC 00136C TomTom 00136D Tentaculus AB 00136E Techmetro Corp. 00136F PacketMotion, Inc. 001370 Nokia Danmark A/S 001371 Motorola CHS 001372 Dell Inc. 001373 BLwave Electronics Co., Ltd 001374 Atheros Communications, Inc. 001375 American Security Products Co. 001376 Tabor Electronics Ltd. 001377 Samsung Electronics CO., LTD 001378 QSAN Technology, Inc. 001379 PONDER INFORMATION INDUSTRIES LTD. 00137A Netvox Technology Co., Ltd. 00137B Movon Corporation 00137C Kaicom co., Ltd. 00137D Dynalab, Inc. 00137E CorEdge Networks, Inc. 00137F Cisco Systems 001380 Cisco Systems 001381 CHIPS & Systems, Inc. 001382 Cetacea Networks Corporation 001383 Application Technologies and Engineering Research Laboratory 001384 Advanced Motion Controls 001385 Add-On Technology Co., LTD. 001386 ABB Inc./Totalflow 001387 27M Technologies AB 001388 WiMedia Alliance 001389 Redes de Telefonía Móvil S.A. 00138A QINGDAO GOERTEK ELECTRONICS CO.,LTD. 00138B Phantom Technologies LLC 00138C Kumyoung.Co.Ltd 00138D Kinghold 00138E FOAB Elektronik AB 00138F Asiarock Incorporation 001390 Termtek Computer Co., Ltd 001391 OUEN CO.,LTD. 001392 Ruckus Wireless 001393 Panta Systems, Inc. 001394 Infohand Co.,Ltd 001395 congatec AG 001396 Acbel Polytech Inc. 001397 Xsigo Systems, Inc. 001398 TrafficSim Co.,Ltd 001399 STAC Corporation. 00139A K-ubique ID Corp. 00139B ioIMAGE Ltd. 00139C Exavera Technologies, Inc. 00139D Marvell Hispana S.L. 00139E Ciara Technologies Inc. 00139F Electronics Design Services, Co., Ltd. 0013A0 ALGOSYSTEM Co., Ltd. 0013A1 Crow Electronic Engeneering 0013A2 MaxStream, Inc 0013A3 Siemens Com CPE Devices 0013A4 KeyEye Communications 0013A5 General Solutions, LTD. 0013A6 Extricom Ltd 0013A7 BATTELLE MEMORIAL INSTITUTE 0013A8 Tanisys Technology 0013A9 Sony Corporation 0013AA ALS & TEC Ltd. 0013AB Telemotive AG 0013AC Sunmyung Electronics Co., LTD 0013AD Sendo Ltd 0013AE Radiance Technologies, Inc. 0013AF NUMA Technology,Inc. 0013B0 Jablotron 0013B1 Intelligent Control Systems (Asia) Pte Ltd 0013B2 Carallon Limited 0013B3 Ecom Communications Technology Co., Ltd. 0013B4 Appear TV 0013B5 Wavesat 0013B6 Sling Media, Inc. 0013B7 Scantech ID 0013B8 RyCo Electronic Systems Limited 0013B9 BM SPA 0013BA ReadyLinks Inc 0013BB Smartvue Corporation 0013BC Artimi Ltd 0013BD HYMATOM SA 0013BE Virtual Conexions 0013BF Media System Planning Corp. 0013C0 Trix Tecnologia Ltda. 0013C1 Asoka USA Corporation 0013C2 WACOM Co.,Ltd 0013C3 Cisco Systems 0013C4 Cisco Systems 0013C5 LIGHTRON FIBER-OPTIC DEVICES INC. 0013C6 OpenGear, Inc 0013C7 IONOS Co.,Ltd. 0013C8 PIRELLI BROADBAND SOLUTIONS S.P.A. 0013C9 Beyond Achieve Enterprises Ltd. 0013CA Pico Digital 0013CB Zenitel Norway AS 0013CC Tall Maple Systems 0013CD MTI co. LTD 0013CE Intel Corporate 0013CF 4Access Communications 0013D0 t+ Medical Ltd 0013D1 KIRK telecom A/S 0013D2 PAGE IBERICA, S.A. 0013D3 MICRO-STAR INTERNATIONAL CO., LTD. 0013D4 ASUSTek COMPUTER INC. 0013D5 WiNetworks LTD 0013D6 TII NETWORK TECHNOLOGIES, INC. 0013D7 SPIDCOM Technologies SA 0013D8 Princeton Instruments 0013D9 Matrix Product Development, Inc. 0013DA Diskware Co., Ltd 0013DB SHOEI Electric Co.,Ltd 0013DC IBTEK INC. 0013DD Abbott Diagnostics 0013DE Adapt4, LLC 0013DF Ryvor Corp. 0013E0 Murata Manufacturing Co., Ltd. 0013E1 Iprobe AB 0013E2 GeoVision Inc. 0013E3 CoVi Technologies, Inc. 0013E4 YANGJAE SYSTEMS CORP. 0013E5 TENOSYS, INC. 0013E6 Technolution 0013E7 Halcro 0013E8 Intel Corporate 0013E9 VeriWave, Inc. 0013EA Kamstrup A/S 0013EB Sysmaster Corporation 0013EC Sunbay Software AG 0013ED PSIA 0013EE JBX Designs Inc. 0013EF Kingjon Digital Technology Co.,Ltd 0013F0 Wavefront Semiconductor 0013F1 AMOD Technology Co., Ltd. 0013F2 Klas Ltd 0013F3 Giga-byte Communications Inc. 0013F4 Psitek (Pty) Ltd 0013F5 Akimbi Systems 0013F6 Cintech 0013F7 SMC Networks, Inc. 0013F8 Dex Security Solutions 0013F9 Cavera Systems 0013FA LifeSize Communications, Inc 0013FB RKC INSTRUMENT INC. 0013FC SiCortex, Inc 0013FD Nokia Danmark A/S 0013FE GRANDTEC ELECTRONIC CORP. 0013FF Dage-MTI of MC, Inc. 001400 MINERVA KOREA CO., LTD 001401 Rivertree Networks Corp. 001402 kk-electronic a/s 001403 Renasis, LLC 001404 Motorola CHS 001405 OpenIB, Inc. 001406 Go Networks 001407 Sperian Protection Instrumentation 001408 Eka Systems Inc. 001409 MAGNETI MARELLI S.E. S.p.A. 00140A WEPIO Co., Ltd. 00140B FIRST INTERNATIONAL COMPUTER, INC. 00140C GKB CCTV CO., LTD. 00140D Nortel 00140E Nortel 00140F Federal State Unitary Enterprise Leningrad R&D Institute of 001410 Suzhou Keda Technology CO.,Ltd 001411 Deutschmann Automation GmbH & Co. KG 001412 S-TEC electronics AG 001413 Trebing & Himstedt Prozessautomation GmbH & Co. KG 001414 Jumpnode Systems LLC. 001415 Intec Automation Inc. 001416 Scosche Industries, Inc. 001417 RSE Informations Technologie GmbH 001418 C4Line 001419 SIDSA 00141A DEICY CORPORATION 00141B Cisco Systems 00141C Cisco Systems 00141D Lust Antriebstechnik GmbH 00141E P.A. Semi, Inc. 00141F SunKwang Electronics Co., Ltd 001420 G-Links networking company 001421 Total Wireless Technologies Pte. Ltd. 001422 Dell Inc. 001423 J-S Co. NEUROCOM 001424 Merry Electrics CO., LTD. 001425 Galactic Computing Corp. 001426 NL Technology 001427 JazzMutant 001428 Vocollect, Inc 001429 V Center Technologies Co., Ltd. 00142A Elitegroup Computer System Co., Ltd 00142B Edata Communication Inc. 00142C Koncept International, Inc. 00142D Toradex AG 00142E 77 Elektronika Kft. 00142F WildPackets 001430 ViPowER, Inc 001431 PDL Electronics Ltd 001432 Tarallax Wireless, Inc. 001433 Empower Technologies(Canada) Inc. 001434 Keri Systems, Inc 001435 CityCom Corp. 001436 Qwerty Elektronik AB 001437 GSTeletech Co.,Ltd. 001438 Hewlett Packard 001439 Blonder Tongue Laboratories, Inc. 00143A RAYTALK INTERNATIONAL SRL 00143B Sensovation AG 00143C Rheinmetall Canada Inc. 00143D Aevoe Inc. 00143E AirLink Communications, Inc. 00143F Hotway Technology Corporation 001440 ATOMIC Corporation 001441 Innovation Sound Technology Co., LTD. 001442 ATTO CORPORATION 001443 Consultronics Europe Ltd 001444 Grundfos Electronics 001445 Telefon-Gradnja d.o.o. 001446 SuperVision Solutions LLC 001447 BOAZ Inc. 001448 Inventec Multimedia & Telecom Corporation 001449 Sichuan Changhong Electric Ltd. 00144A Taiwan Thick-Film Ind. Corp. 00144B Hifn, Inc. 00144C General Meters Corp. 00144D Intelligent Systems 00144E SRISA 00144F Oracle Corporation 001450 Heim Systems GmbH 001451 Apple Computer Inc. 001452 CALCULEX,INC. 001453 ADVANTECH TECHNOLOGIES CO.,LTD 001454 Symwave 001455 Coder Electronics Corporation 001456 Edge Products 001457 T-VIPS AS 001458 HS Automatic ApS 001459 Moram Co., Ltd. 00145A Neratec AG 00145B SeekerNet Inc. 00145C Intronics B.V. 00145D WJ Communications, Inc. 00145E IBM Corp 00145F ADITEC CO. LTD 001460 Kyocera Wireless Corp. 001461 CORONA CORPORATION 001462 Digiwell Technology, inc 001463 IDCS N.V. 001464 Cryptosoft 001465 Novo Nordisk A/S 001466 Kleinhenz Elektronik GmbH 001467 ArrowSpan Inc. 001468 CelPlan International, Inc. 001469 Cisco Systems 00146A Cisco Systems 00146B Anagran, Inc. 00146C Netgear Inc. 00146D RF Technologies 00146E H. Stoll GmbH & Co. KG 00146F Kohler Co 001470 Prokom Software SA 001471 Eastern Asia Technology Limited 001472 China Broadband Wireless IP Standard Group 001473 Bookham Inc 001474 K40 Electronics 001475 Wiline Networks, Inc. 001476 MultiCom Industries Limited 001477 Nertec Inc. 001478 ShenZhen TP-LINK Technologies Co., Ltd. 001479 NEC Magnus Communications,Ltd. 00147A Eubus GmbH 00147B Iteris, Inc. 00147C 3Com Ltd 00147D Aeon Digital International 00147E InnerWireless 00147F Thomson Telecom Belgium 001480 Hitachi-LG Data Storage Korea, Inc 001481 Multilink Inc 001482 GoBackTV, Inc 001483 eXS Inc. 001484 Cermate Technologies Inc. 001485 Giga-Byte 001486 Echo Digital Audio Corporation 001487 American Technology Integrators 001488 Akorri 001489 B15402100 - JANDEI, S.L. 00148A Elin Ebg Traction Gmbh 00148B Globo Electronic GmbH & Co. KG 00148C Fortress Technologies 00148D Cubic Defense Simulation Systems 00148E Tele Power Inc. 00148F Protronic (Far East) Ltd. 001490 ASP Corporation 001491 Daniels Electronics Ltd. 001492 Liteon, Mobile Media Solution SBU 001493 Systimax Solutions 001494 ESU AG 001495 2Wire, Inc. 001496 Phonic Corp. 001497 ZHIYUAN Eletronics co.,ltd. 001498 Viking Design Technology 001499 Helicomm Inc 00149A Motorola Mobile Devices Business 00149B Nokota Communications, LLC 00149C HF Company 00149D Sound ID Inc. 00149E UbONE Co., Ltd 00149F System and Chips, Inc. 0014A0 Accsense, Inc. 0014A1 Synchronous Communication Corp 0014A2 Core Micro Systems Inc. 0014A3 Vitelec BV 0014A4 Hon Hai Precision Ind. Co., Ltd. 0014A5 Gemtek Technology Co., Ltd. 0014A6 Teranetics, Inc. 0014A7 Nokia Danmark A/S 0014A8 Cisco Systems 0014A9 Cisco Systems 0014AA Ashly Audio, Inc. 0014AB Senhai Electronic Technology Co., Ltd. 0014AC Bountiful WiFi 0014AD Gassner Wiege- u. Meßtechnik GmbH 0014AE Wizlogics Co., Ltd. 0014AF Datasym Inc. 0014B0 Naeil Community 0014B1 Avitec AB 0014B2 mCubelogics Corporation 0014B3 CoreStar International Corp 0014B4 General Dynamics United Kingdom Ltd 0014B5 PHYSIOMETRIX,INC 0014B6 Enswer Technology Inc. 0014B7 AR Infotek Inc. 0014B8 Hill-Rom 0014B9 MSTAR SEMICONDUCTOR 0014BA Carvers SA de CV 0014BB Open Interface North America 0014BC SYNECTIC TELECOM EXPORTS PVT. LTD. 0014BD incNETWORKS, Inc 0014BE Wink communication technology CO.LTD 0014BF Cisco-Linksys LLC 0014C0 Symstream Technology Group Ltd 0014C1 U.S. Robotics Corporation 0014C2 Hewlett Packard 0014C3 Seagate Technology LLC 0014C4 Vitelcom Mobile Technology 0014C5 Alive Technologies Pty Ltd 0014C6 Quixant Ltd 0014C7 Nortel 0014C8 Contemporary Research Corp 0014C9 Brocade Communications Systems, Inc. 0014CA Key Radio Systems Limited 0014CB LifeSync Corporation 0014CC Zetec, Inc. 0014CD DigitalZone Co., Ltd. 0014CE NF CORPORATION 0014CF INVISIO Communications 0014D0 BTI Systems Inc. 0014D1 TRENDnet 0014D2 KYUKI CORPORATION 0014D3 SEPSA 0014D4 K Technology Corporation 0014D5 Datang Telecom Technology CO. , LCD,Optical Communication Br 0014D6 Jeongmin Electronics Co.,Ltd. 0014D7 Datastore Technology Corp 0014D8 bio-logic SA 0014D9 IP Fabrics, Inc. 0014DA Huntleigh Healthcare 0014DB Elma Trenew Electronic GmbH 0014DC Communication System Design & Manufacturing (CSDM) 0014DD Covergence Inc. 0014DE Sage Instruments Inc. 0014DF HI-P Tech Corporation 0014E0 LET'S Corporation 0014E1 Data Display AG 0014E2 datacom systems inc. 0014E3 mm-lab GmbH 0014E4 Integral Technologies 0014E5 Alticast 0014E6 AIM Infrarotmodule GmbH 0014E7 Stolinx,. Inc 0014E8 Motorola CHS 0014E9 Nortech International 0014EA S Digm Inc. (Safe Paradigm Inc.) 0014EB AwarePoint Corporation 0014EC Acro Telecom 0014ED Airak, Inc. 0014EE Western Digital Technologies, Inc. 0014EF TZero Technologies, Inc. 0014F0 Business Security OL AB 0014F1 Cisco Systems 0014F2 Cisco Systems 0014F3 ViXS Systems Inc 0014F4 DekTec Digital Video B.V. 0014F5 OSI Security Devices 0014F6 Juniper Networks, Inc. 0014F7 Crevis 0014F8 Scientific Atlanta 0014F9 Vantage Controls 0014FA AsGa S.A. 0014FB Technical Solutions Inc. 0014FC Extandon, Inc. 0014FD Thecus Technology Corp. 0014FE Artech Electronics 0014FF Precise Automation, Inc. 001500 Intel Corporate 001501 LexBox 001502 BETA tech 001503 PROFIcomms s.r.o. 001504 GAME PLUS CO., LTD. 001505 Actiontec Electronics, Inc 001506 Neo Photonics 001507 Renaissance Learning Inc 001508 Global Target Enterprise Inc 001509 Plus Technology Co., Ltd 00150A Sonoa Systems, Inc 00150B SAGE INFOTECH LTD. 00150C AVM GmbH 00150D Hoana Medical, Inc. 00150E OPENBRAIN TECHNOLOGIES CO., LTD. 00150F mingjong 001510 Techsphere Co., Ltd 001511 Data Center Systems 001512 Zurich University of Applied Sciences 001513 EFS sas 001514 Hu Zhou NAVA Networks&Electronics Ltd. 001515 Leipold+Co.GmbH 001516 URIEL SYSTEMS INC. 001517 Intel Corporate 001518 Shenzhen 10MOONS Technology Development CO.,Ltd 001519 StoreAge Networking Technologies 00151A Hunter Engineering Company 00151B Isilon Systems Inc. 00151C LENECO 00151D M2I CORPORATION 00151E Ethernet Powerlink Standardization Group (EPSG) 00151F Multivision Intelligent Surveillance (Hong Kong) Ltd 001520 Radiocrafts AS 001521 Horoquartz 001522 Dea Security 001523 Meteor Communications Corporation 001524 Numatics, Inc. 001525 Chamberlain Access Solutions 001526 Remote Technologies Inc 001527 Balboa Instruments 001528 Beacon Medical Products LLC d.b.a. BeaconMedaes 001529 N3 Corporation 00152A Nokia GmbH 00152B Cisco Systems 00152C Cisco Systems 00152D TenX Networks, LLC 00152E PacketHop, Inc. 00152F Motorola CHS 001530 Bus-Tech, Inc. 001531 KOCOM 001532 Consumer Technologies Group, LLC 001533 NADAM.CO.,LTD 001534 A BELTRÓNICA, Companhia de Comunicações, Lda 001535 OTE Spa 001536 Powertech co.,Ltd 001537 Ventus Networks 001538 RFID, Inc. 001539 Technodrive SRL 00153A Shenzhen Syscan Technology Co.,Ltd. 00153B EMH Elektrizitätszähler GmbH & CoKG 00153C Kprotech Co., Ltd. 00153D ELIM PRODUCT CO. 00153E Q-Matic Sweden AB 00153F Alcatel Alenia Space Italia 001540 Nortel 001541 StrataLight Communications, Inc. 001542 MICROHARD S.R.L. 001543 Aberdeen Test Center 001544 coM.s.a.t. AG 001545 SEECODE Co., Ltd. 001546 ITG Worldwide Sdn Bhd 001547 AiZen Solutions Inc. 001548 CUBE TECHNOLOGIES 001549 Dixtal Biomedica Ind. Com. Ltda 00154A WANSHIH ELECTRONIC CO., LTD 00154B Wonde Proud Technology Co., Ltd 00154C Saunders Electronics 00154D Netronome Systems, Inc. 00154E IEC 00154F one RF Technology 001550 Nits Technology Inc 001551 RadioPulse Inc. 001552 Wi-Gear Inc. 001553 Cytyc Corporation 001554 Atalum Wireless S.A. 001555 DFM GmbH 001556 SAGEM COMMUNICATION 001557 Olivetti 001558 FOXCONN 001559 Securaplane Technologies, Inc. 00155A DAINIPPON PHARMACEUTICAL CO., LTD. 00155B Sampo Corporation 00155C Dresser Wayne 00155D Microsoft Corporation 00155E Morgan Stanley 00155F GreenPeak Technologies 001560 Hewlett Packard 001561 JJPlus Corporation 001562 Cisco Systems 001563 Cisco Systems 001564 BEHRINGER Spezielle Studiotechnik GmbH 001565 XIAMEN YEALINK NETWORK TECHNOLOGY CO.,LTD 001566 A-First Technology Co., Ltd. 001567 RADWIN Inc. 001568 Dilithium Networks 001569 PECO II, Inc. 00156A DG2L Technologies Pvt. Ltd. 00156B Perfisans Networks Corp. 00156C SANE SYSTEM CO., LTD 00156D Ubiquiti Networks Inc. 00156E A. W. Communication Systems Ltd 00156F Xiranet Communications GmbH 001570 Symbol TechnologiesWholly owned Subsidiary of Motorola 001571 Nolan Systems 001572 Red-Lemon 001573 NewSoft Technology Corporation 001574 Horizon Semiconductors Ltd. 001575 Nevis Networks Inc. 001576 scil animal care company GmbH 001577 Allied Telesis 001578 Audio / Video Innovations 001579 Lunatone Industrielle Elektronik GmbH 00157A Telefin S.p.A. 00157B Leuze electronic GmbH + Co. KG 00157C Dave Networks, Inc. 00157D POSDATA CO., LTD. 00157E Weidm�ller Interface GmbH & Co. KG 00157F ChuanG International Holding CO.,LTD. 001580 U-WAY CORPORATION 001581 MAKUS Inc. 001582 TVonics Ltd 001583 IVT corporation 001584 Schenck Process GmbH 001585 Aonvision Technolopy Corp. 001586 Xiamen Overseas Chinese Electronic Co., Ltd. 001587 Takenaka Seisakusho Co.,Ltd 001588 Balda Solution Malaysia Sdn Bhd 001589 D-MAX Technology Co.,Ltd 00158A SURECOM Technology Corp. 00158B Park Air Systems Ltd 00158C Liab ApS 00158D Jennic Ltd 00158E Plustek.INC 00158F NTT Advanced Technology Corporation 001590 Hectronic GmbH 001591 RLW Inc. 001592 Facom UK Ltd (Melksham) 001593 U4EA Technologies Inc. 001594 BIXOLON CO.,LTD 001595 Quester Tangent Corporation 001596 ARRIS International 001597 AETA AUDIO SYSTEMS 001598 Kolektor group 001599 Samsung Electronics Co., LTD 00159A Motorola CHS 00159B Nortel 00159C B-KYUNG SYSTEM Co.,Ltd. 00159D Minicom Advanced Systems ltd 00159E Mad Catz Interactive Inc 00159F Terascala, Inc. 0015A0 Nokia Danmark A/S 0015A1 ECA-SINTERS 0015A2 ARRIS International 0015A3 ARRIS International 0015A4 ARRIS International 0015A5 DCI Co., Ltd. 0015A6 Digital Electronics Products Ltd. 0015A7 Robatech AG 0015A8 Motorola Mobile Devices 0015A9 KWANG WOO I&C CO.,LTD 0015AA Rextechnik International Co., 0015AB PRO CO SOUND INC 0015AC Capelon AB 0015AD Accedian Networks 0015AE kyung il 0015AF AzureWave Technologies, Inc. 0015B0 AUTOTELENET CO.,LTD 0015B1 Ambient Corporation 0015B2 Advanced Industrial Computer, Inc. 0015B3 Caretech AB 0015B4 Polymap Wireless LLC 0015B5 CI Network Corp. 0015B6 ShinMaywa Industries, Ltd. 0015B7 Toshiba 0015B8 Tahoe 0015B9 Samsung Electronics Co., Ltd. 0015BA iba AG 0015BB SMA Solar Technology AG 0015BC Develco 0015BD Group 4 Technology Ltd 0015BE Iqua Ltd. 0015BF technicob 0015C0 DIGITAL TELEMEDIA CO.,LTD. 0015C1 SONY Computer Entertainment inc, 0015C2 3M Germany 0015C3 Ruf Telematik AG 0015C4 FLOVEL CO., LTD. 0015C5 Dell Inc 0015C6 Cisco Systems 0015C7 Cisco Systems 0015C8 FlexiPanel Ltd 0015C9 Gumstix, Inc 0015CA TeraRecon, Inc. 0015CB Surf Communication Solutions Ltd. 0015CC TEPCO UQUEST, LTD. 0015CD Exartech International Corp. 0015CE ARRIS International 0015CF ARRIS International 0015D0 ARRIS International 0015D1 ARRIS Group, Inc. 0015D2 Xantech Corporation 0015D3 Pantech&Curitel Communications, Inc. 0015D4 Emitor AB 0015D5 NICEVT 0015D6 OSLiNK Sp. z o.o. 0015D7 Reti Corporation 0015D8 Interlink Electronics 0015D9 PKC Electronics Oy 0015DA IRITEL A.D. 0015DB Canesta Inc. 0015DC KT&C Co., Ltd. 0015DD IP Control Systems Ltd. 0015DE Nokia Danmark A/S 0015DF Clivet S.p.A. 0015E0 ST-Ericsson 0015E1 Picochip Ltd 0015E2 Dr.Ing. Herbert Knauer GmbH 0015E3 Dream Technologies Corporation 0015E4 Zimmer Elektromedizin 0015E5 Cheertek Inc. 0015E6 MOBILE TECHNIKA Inc. 0015E7 Quantec ProAudio 0015E8 Nortel 0015E9 D-Link Corporation 0015EA Tellumat (Pty) Ltd 0015EB ZTE CORPORATION 0015EC Boca Devices LLC 0015ED Fulcrum Microsystems, Inc. 0015EE Omnex Control Systems 0015EF NEC TOKIN Corporation 0015F0 EGO BV 0015F1 KYLINK Communications Corp. 0015F2 ASUSTek COMPUTER INC. 0015F3 PELTOR AB 0015F4 Eventide 0015F5 Sustainable Energy Systems 0015F6 SCIENCE AND ENGINEERING SERVICES, INC. 0015F7 Wintecronics Ltd. 0015F8 Kingtronics Industrial Co. Ltd. 0015F9 Cisco Systems 0015FA Cisco Systems 0015FB setex schermuly textile computer gmbh 0015FC Littelfuse Startco 0015FD Complete Media Systems 0015FE SCHILLING ROBOTICS LLC 0015FF Novatel Wireless, Inc. 001600 CelleBrite Mobile Synchronization 001601 Buffalo Inc. 001602 CEYON TECHNOLOGY CO.,LTD. 001603 COOLKSKY Co., LTD 001604 Sigpro 001605 YORKVILLE SOUND INC. 001606 Ideal Industries 001607 Curves International Inc. 001608 Sequans Communications 001609 Unitech electronics co., ltd. 00160A SWEEX Europe BV 00160B TVWorks LLC 00160C LPL DEVELOPMENT S.A. DE C.V 00160D Be Here Corporation 00160E Optica Technologies Inc. 00160F BADGER METER INC 001610 Carina Technology 001611 Altecon Srl 001612 Otsuka Electronics Co., Ltd. 001613 LibreStream Technologies Inc. 001614 Picosecond Pulse Labs 001615 Nittan Company, Limited 001616 BROWAN COMMUNICATION INC. 001617 MSI 001618 HIVION Co., Ltd. 001619 La Factoría de Comunicaciones Aplicadas,S.L. 00161A Dametric AB 00161B Micronet Corporation 00161C e:cue 00161D Innovative Wireless Technologies, Inc. 00161E Woojinnet 00161F SUNWAVETEC Co., Ltd. 001620 Sony Ericsson Mobile Communications AB 001621 Colorado Vnet 001622 BBH SYSTEMS GMBH 001623 Interval Media 001624 Teneros, Inc. 001625 Impinj, Inc. 001626 Motorola CHS 001627 embedded-logic DESIGN AND MORE GmbH 001628 Ultra Electronics Manufacturing and Card Systems 001629 Nivus GmbH 00162A Antik computers & communications s.r.o. 00162B Togami Electric Mfg.co.,Ltd. 00162C Xanboo 00162D STNet Co., Ltd. 00162E Space Shuttle Hi-Tech Co., Ltd. 00162F Geutebrück GmbH 001630 Vativ Technologies 001631 Xteam 001632 SAMSUNG ELECTRONICS CO., LTD. 001633 Oxford Diagnostics Ltd. 001634 Mathtech, Inc. 001635 Hewlett Packard 001636 Quanta Computer Inc. 001637 Citel Srl 001638 TECOM Co., Ltd. 001639 UBIQUAM Co.,Ltd 00163A YVES TECHNOLOGY CO., LTD. 00163B VertexRSI/General Dynamics 00163C Rebox B.V. 00163D Tsinghua Tongfang Legend Silicon Tech. Co., Ltd. 00163E Xensource, Inc. 00163F CReTE SYSTEMS Inc. 001640 Asmobile Communication Inc. 001641 Universal Global Scientific Industrial Co., Ltd. 001642 Pangolin 001643 Sunhillo Corporation 001644 LITE-ON Technology Corp. 001645 Power Distribution, Inc. 001646 Cisco Systems 001647 Cisco Systems 001648 SSD Company Limited 001649 SetOne GmbH 00164A Vibration Technology Limited 00164B Quorion Data Systems GmbH 00164C PLANET INT Co., Ltd 00164D Alcatel North America IP Division 00164E Nokia Danmark A/S 00164F World Ethnic Broadcastin Inc. 001650 Herley General Microwave Israel. 001651 Exeo Systems 001652 Hoatech Technologies, Inc. 001653 LEGO System A/S IE Electronics Division 001654 Flex-P Industries Sdn. Bhd. 001655 FUHO TECHNOLOGY Co., LTD 001656 Nintendo Co., Ltd. 001657 Aegate Ltd 001658 Fusiontech Technologies Inc. 001659 Z.M.P. RADWAG 00165A Harman Specialty Group 00165B Grip Audio 00165C Trackflow Ltd 00165D AirDefense, Inc. 00165E Precision I/O 00165F Fairmount Automation 001660 Nortel 001661 Novatium Solutions (P) Ltd 001662 Liyuh Technology Ltd. 001663 KBT Mobile 001664 Prod-El SpA 001665 Cellon France 001666 Quantier Communication Inc. 001667 A-TEC Subsystem INC. 001668 Eishin Electronics 001669 MRV Communication (Networks) LTD 00166A TPS 00166B Samsung Electronics 00166C Samsung Electonics Digital Video System Division 00166D Yulong Computer Telecommunication Scientific(shenzhen)Co.,Lt 00166E Arbitron Inc. 00166F Intel Corporation 001670 SKNET Corporation 001671 Symphox Information Co. 001672 Zenway enterprise ltd 001673 Bury GmbH & Co. KG 001674 EuroCB (Phils.), Inc. 001675 Motorola MDb 001676 Intel Corporation 001677 Bihl+Wiedemann GmbH 001678 SHENZHEN BAOAN GAOKE ELECTRONICS CO., LTD 001679 eOn Communications 00167A Skyworth Overseas Dvelopment Ltd. 00167B Haver&Boecker 00167C iRex Technologies BV 00167D Sky-Line Information Co., Ltd. 00167E DIBOSS.CO.,LTD 00167F Bluebird Soft Inc. 001680 Bally Gaming + Systems 001681 Vector Informatik GmbH 001682 Pro Dex, Inc 001683 WEBIO International Co.,.Ltd. 001684 Donjin Co.,Ltd. 001685 Elisa Oyj 001686 Karl Storz Imaging 001687 Chubb CSC-Vendor AP 001688 ServerEngines LLC 001689 Pilkor Electronics Co., Ltd 00168A id-Confirm Inc 00168B Paralan Corporation 00168C DSL Partner AS 00168D KORWIN CO., Ltd. 00168E Vimicro corporation 00168F GN Netcom as 001690 J-TEK INCORPORATION 001691 Moser-Baer AG 001692 Scientific-Atlanta, Inc. 001693 PowerLink Technology Inc. 001694 Sennheiser Communications A/S 001695 AVC Technology Limited 001696 QDI Technology (H.K.) Limited 001697 NEC Corporation 001698 T&A Mobile Phones 001699 Tonic DVB Marketing Ltd 00169A Quadrics Ltd 00169B Alstom Transport 00169C Cisco Systems 00169D Cisco Systems 00169E TV One Ltd 00169F Vimtron Electronics Co., Ltd. 0016A0 Auto-Maskin 0016A1 3Leaf Networks 0016A2 CentraLite Systems, Inc. 0016A3 Ingeteam Transmission&Distribution, S.A. 0016A4 Ezurio Ltd 0016A5 Tandberg Storage ASA 0016A6 Dovado FZ-LLC 0016A7 AWETA G&P 0016A8 CWT CO., LTD. 0016A9 2EI 0016AA Kei Communication Technology Inc. 0016AB PBI-Dansensor A/S 0016AC Toho Technology Corp. 0016AD BT-Links Company Limited 0016AE INVENTEL 0016AF Shenzhen Union Networks Equipment Co.,Ltd. 0016B0 VK Corporation 0016B1 KBS 0016B2 DriveCam Inc 0016B3 Photonicbridges (China) Co., Ltd. 0016B4 PRIVATE 0016B5 Motorola CHS 0016B6 Cisco-Linksys 0016B7 Seoul Commtech 0016B8 Sony Ericsson Mobile Communications 0016B9 ProCurve Networking 0016BA WEATHERNEWS INC. 0016BB Law-Chain Computer Technology Co Ltd 0016BC Nokia Danmark A/S 0016BD ATI Industrial Automation 0016BE INFRANET, Inc. 0016BF PaloDEx Group Oy 0016C0 Semtech Corporation 0016C1 Eleksen Ltd 0016C2 Avtec Systems Inc 0016C3 BA Systems Inc 0016C4 SiRF Technology, Inc. 0016C5 Shenzhen Xing Feng Industry Co.,Ltd 0016C6 North Atlantic Industries 0016C7 Cisco Systems 0016C8 Cisco Systems 0016C9 NAT Seattle, Inc. 0016CA Nortel 0016CB Apple Computer 0016CC Xcute Mobile Corp. 0016CD HIJI HIGH-TECH CO., LTD. 0016CE Hon Hai Precision Ind. Co., Ltd. 0016CF Hon Hai Precision Ind. Co., Ltd. 0016D0 ATech elektronika d.o.o. 0016D1 ZAT a.s. 0016D2 Caspian 0016D3 Wistron Corporation 0016D4 Compal Communications, Inc. 0016D5 Synccom Co., Ltd 0016D6 TDA Tech Pty Ltd 0016D7 Sunways AG 0016D8 Senea AB 0016D9 NINGBO BIRD CO.,LTD. 0016DA Futronic Technology Co. Ltd. 0016DB Samsung Electronics Co., Ltd. 0016DC ARCHOS 0016DD Gigabeam Corporation 0016DE FAST Inc 0016DF Lundinova AB 0016E0 3Com Ltd 0016E1 SiliconStor, Inc. 0016E2 American Fibertek, Inc. 0016E3 ASKEY COMPUTER CORP. 0016E4 VANGUARD SECURITY ENGINEERING CORP. 0016E5 FORDLEY DEVELOPMENT LIMITED 0016E6 GIGA-BYTE TECHNOLOGY CO.,LTD. 0016E7 Dynamix Promotions Limited 0016E8 Sigma Designs, Inc. 0016E9 Tiba Medical Inc 0016EA Intel Corporation 0016EB Intel Corporation 0016EC Elitegroup Computer Systems Co., Ltd. 0016ED Digital Safety Technologies, Inc 0016EE RoyalDigital Inc. 0016EF Koko Fitness, Inc. 0016F0 Dell 0016F1 OmniSense, LLC 0016F2 Dmobile System Co., Ltd. 0016F3 CAST Information Co., Ltd 0016F4 Eidicom Co., Ltd. 0016F5 Dalian Golden Hualu Digital Technology Co.,Ltd 0016F6 Video Products Group 0016F7 L-3 Communications, Electrodynamics, Inc. 0016F8 AVIQTECH TECHNOLOGY CO., LTD. 0016F9 CETRTA POT, d.o.o., Kranj 0016FA ECI Telecom Ltd. 0016FB SHENZHEN MTC CO.,LTD. 0016FC TOHKEN CO.,LTD. 0016FD Jaty Electronics 0016FE Alps Electric Co., Ltd 0016FF Wamin Optocomm Mfg Corp 001700 Motorola MDb 001701 KDE, Inc. 001702 Osung Midicom Co., Ltd 001703 MOSDAN Internation Co.,Ltd 001704 Shinco Electronics Group Co.,Ltd 001705 Methode Electronics 001706 Techfaith Wireless Communication Technology Limited. 001707 InGrid, Inc 001708 Hewlett Packard 001709 Exalt Communications 00170A INEW DIGITAL COMPANY 00170B Contela, Inc. 00170C Twig Com Ltd. 00170D Dust Networks Inc. 00170E Cisco Systems 00170F Cisco Systems 001710 Casa Systems Inc. 001711 GE Healthcare Bio-Sciences AB 001712 ISCO International 001713 Tiger NetCom 001714 BR Controls Nederland bv 001715 Qstik 001716 Qno Technology Inc. 001717 Leica Geosystems AG 001718 Vansco Electronics Oy 001719 AudioCodes USA, Inc 00171A Winegard Company 00171B Innovation Lab Corp. 00171C NT MicroSystems, Inc. 00171D DIGIT 00171E Theo Benning GmbH & Co. KG 00171F IMV Corporation 001720 Image Sensing Systems, Inc. 001721 FITRE S.p.A. 001722 Hanazeder Electronic GmbH 001723 Summit Data Communications 001724 Studer Professional Audio GmbH 001725 Liquid Computing 001726 m2c Electronic Technology Ltd. 001727 Thermo Ramsey Italia s.r.l. 001728 Selex Communications 001729 Ubicod Co.LTD 00172A Proware Technology Corp. 00172B Global Technologies Inc. 00172C TAEJIN INFOTECH 00172D Axcen Photonics Corporation 00172E FXC Inc. 00172F NeuLion Incorporated 001730 Automation Electronics 001731 ASUSTek COMPUTER INC. 001732 Science-Technical Center "RISSA" 001733 SFR 001734 ADC Telecommunications 001735 PRIVATE 001736 iiTron Inc. 001737 Industrie Dial Face S.p.A. 001738 International Business Machines 001739 Bright Headphone Electronics Company 00173A Reach Systems Inc. 00173B Cisco Systems, Inc. 00173C Extreme Engineering Solutions 00173D Neology 00173E LeucotronEquipamentos Ltda. 00173F Belkin Corporation 001740 Bluberi Gaming Technologies Inc 001741 DEFIDEV 001742 FUJITSU LIMITED 001743 Deck Srl 001744 Araneo Ltd. 001745 INNOTZ CO., Ltd 001746 Freedom9 Inc. 001747 Trimble 001748 Neokoros Brasil Ltda 001749 HYUNDAE YONG-O-SA CO.,LTD 00174A SOCOMEC 00174B Nokia Danmark A/S 00174C Millipore 00174D DYNAMIC NETWORK FACTORY, INC. 00174E Parama-tech Co.,Ltd. 00174F iCatch Inc. 001750 GSI Group, MicroE Systems 001751 Online Corporation 001752 DAGS, Inc 001753 nFore Technology Inc. 001754 Arkino HiTOP Corporation Limited 001755 GE Security 001756 Vinci Labs Oy 001757 RIX TECHNOLOGY LIMITED 001758 ThruVision Ltd 001759 Cisco Systems 00175A Cisco Systems 00175B ACS Solutions Switzerland Ltd. 00175C SHARP CORPORATION 00175D Dongseo system. 00175E Zed-3 00175F XENOLINK Communications Co., Ltd. 001760 Naito Densei Machida MFG.CO.,LTD 001761 ZKSoftware Inc. 001762 Solar Technology, Inc. 001763 Essentia S.p.A. 001764 ATMedia GmbH 001765 Nortel 001766 Accense Technology, Inc. 001767 Earforce AS 001768 Zinwave Ltd 001769 Cymphonix Corp 00176A Avago Technologies 00176B Kiyon, Inc. 00176C Pivot3, Inc. 00176D CORE CORPORATION 00176E DUCATI SISTEMI 00176F PAX Computer Technology(Shenzhen) Ltd. 001770 Arti Industrial Electronics Ltd. 001771 APD Communications Ltd 001772 ASTRO Strobel Kommunikationssysteme GmbH 001773 Laketune Technologies Co. Ltd 001774 Elesta GmbH 001775 TTE Germany GmbH 001776 Meso Scale Diagnostics, LLC 001777 Obsidian Research Corporation 001778 Central Music Co. 001779 QuickTel 00177A ASSA ABLOY AB 00177B Azalea Networks inc 00177C Smartlink Network Systems Limited 00177D IDT International Limited 00177E Meshcom Technologies Inc. 00177F Worldsmart Retech 001780 Applied Biosystems B.V. 001781 Greystone Data System, Inc. 001782 LoBenn Inc. 001783 Texas Instruments 001784 Motorola Mobile Devices 001785 Sparr Electronics Ltd 001786 wisembed 001787 Brother, Brother & Sons ApS 001788 Philips Lighting BV 001789 Zenitron Corporation 00178A DARTS TECHNOLOGIES CORP. 00178B Teledyne Technologies Incorporated 00178C Independent Witness, Inc 00178D Checkpoint Systems, Inc. 00178E Gunnebo Cash Automation AB 00178F NINGBO YIDONG ELECTRONIC CO.,LTD. 001790 HYUNDAI DIGITECH Co, Ltd. 001791 LinTech GmbH 001792 Falcom Wireless Comunications Gmbh 001793 Tigi Corporation 001794 Cisco Systems 001795 Cisco Systems 001796 Rittmeyer AG 001797 Telsy Elettronica S.p.A. 001798 Azonic Technology Co., LTD 001799 SmarTire Systems Inc. 00179A D-Link Corporation 00179B Chant Sincere CO., LTD. 00179C DEPRAG SCHULZ GMBH u. CO. 00179D Kelman Limited 00179E Sirit Inc 00179F Apricorn 0017A0 RoboTech srl 0017A1 3soft inc. 0017A2 Camrivox Ltd. 0017A3 MIX s.r.l. 0017A4 Hewlett Packard 0017A5 Ralink Technology Corp 0017A6 YOSIN ELECTRONICS CO., LTD. 0017A7 Mobile Computing Promotion Consortium 0017A8 EDM Corporation 0017A9 Sentivision 0017AA elab-experience inc. 0017AB Nintendo Co., Ltd. 0017AC O'Neil Product Development Inc. 0017AD AceNet Corporation 0017AE GAI-Tronics 0017AF Enermet 0017B0 Nokia Danmark A/S 0017B1 ACIST Medical Systems, Inc. 0017B2 SK Telesys 0017B3 Aftek Infosys Limited 0017B4 Remote Security Systems, LLC 0017B5 Peerless Systems Corporation 0017B6 Aquantia 0017B7 Tonze Technology Co. 0017B8 NOVATRON CO., LTD. 0017B9 Gambro Lundia AB 0017BA SEDO CO., LTD. 0017BB Syrinx Industrial Electronics 0017BC Touchtunes Music Corporation 0017BD Tibetsystem 0017BE Tratec Telecom B.V. 0017BF Coherent Research Limited 0017C0 PureTech Systems, Inc. 0017C1 CM Precision Technology LTD. 0017C2 Pirelli Broadband Solutions 0017C3 KTF Technologies Inc. 0017C4 Quanta Microsystems, INC. 0017C5 SonicWALL 0017C6 Cross Match Technologies Inc 0017C7 MARA Systems Consulting AB 0017C8 Kyocera Mita Corporation 0017C9 Samsung Electronics Co., Ltd. 0017CA Qisda Corporation 0017CB Juniper Networks 0017CC Alcatel-Lucent 0017CD CEC Wireless R&D Ltd. 0017CE MB International Telecom Labs srl 0017CF iMCA-GmbH 0017D0 Opticom Communications, LLC 0017D1 Nortel 0017D2 THINLINX PTY LTD 0017D3 Etymotic Research, Inc. 0017D4 Monsoon Multimedia, Inc 0017D5 Samsung Electronics Co., Ltd. 0017D6 Bluechips Microhouse Co.,Ltd. 0017D7 ION Geophysical Corporation Inc. 0017D8 Magnum Semiconductor, Inc. 0017D9 AAI Corporation 0017DA Spans Logic 0017DB CANKO TECHNOLOGIES INC. 0017DC DAEMYUNG ZERO1 0017DD Clipsal Australia 0017DE Advantage Six Ltd 0017DF Cisco Systems 0017E0 Cisco Systems 0017E1 DACOS Technologies Co., Ltd. 0017E2 Motorola Mobile Devices 0017E3 Texas Instruments 0017E4 Texas Instruments 0017E5 Texas Instruments 0017E6 Texas Instruments 0017E7 Texas Instruments 0017E8 Texas Instruments 0017E9 Texas Instruments 0017EA Texas Instruments 0017EB Texas Instruments 0017EC Texas Instruments 0017ED WooJooIT Ltd. 0017EE Motorola CHS 0017EF Blade Network Technologies, Inc. 0017F0 SZCOM Broadband Network Technology Co.,Ltd 0017F1 Renu Electronics Pvt Ltd 0017F2 Apple Computer 0017F3 Harris Corparation 0017F4 ZERON ALLIANCE 0017F5 LIG NEOPTEK 0017F6 Pyramid Meriden Inc. 0017F7 CEM Solutions Pvt Ltd 0017F8 Motech Industries Inc. 0017F9 Forcom Sp. z o.o. 0017FA Microsoft Corporation 0017FB FA 0017FC Suprema Inc. 0017FD Amulet Hotkey 0017FE TALOS SYSTEM INC. 0017FF PLAYLINE Co.,Ltd. 001800 UNIGRAND LTD 001801 Actiontec Electronics, Inc 001802 Alpha Networks Inc. 001803 ArcSoft Shanghai Co. LTD 001804 E-TEK DIGITAL TECHNOLOGY LIMITED 001805 Beijing InHand Networking Technology Co.,Ltd. 001806 Hokkei Industries Co., Ltd. 001807 Fanstel Corp. 001808 SightLogix, Inc. 001809 CRESYN 00180A Meraki, Inc. 00180B Brilliant Telecommunications 00180C Optelian Access Networks 00180D Terabytes Server Storage Tech Corp 00180E Avega Systems 00180F Nokia Danmark A/S 001810 IPTrade S.A. 001811 Neuros Technology International, LLC. 001812 Beijing Xinwei Telecom Technology Co., Ltd. 001813 Sony Ericsson Mobile Communications 001814 Mitutoyo Corporation 001815 GZ Technologies, Inc. 001816 Ubixon Co., Ltd. 001817 D. E. Shaw Research, LLC 001818 Cisco Systems 001819 Cisco Systems 00181A AVerMedia Information Inc. 00181B TaiJin Metal Co., Ltd. 00181C Exterity Limited 00181D ASIA ELECTRONICS CO.,LTD 00181E GDX Technologies Ltd. 00181F Palmmicro Communications 001820 w5networks 001821 SINDORICOH 001822 CEC TELECOM CO.,LTD. 001823 Delta Electronics, Inc. 001824 Kimaldi Electronics, S.L. 001825 Wavion LTD 001826 Cale Access AB 001827 NEC UNIFIED SOLUTIONS NEDERLAND B.V. 001828 e2v technologies (UK) ltd. 001829 Gatsometer 00182A Taiwan Video & Monitor 00182B Softier 00182C Ascend Networks, Inc. 00182D Artec Group OÜ 00182E XStreamHD, LLC 00182F Texas Instruments 001830 Texas Instruments 001831 Texas Instruments 001832 Texas Instruments 001833 Texas Instruments 001834 Texas Instruments 001835 Thoratec / ITC 001836 Reliance Electric Limited 001837 Universal ABIT Co., Ltd. 001838 PanAccess Communications,Inc. 001839 Cisco-Linksys LLC 00183A Westell Technologies 00183B CENITS Co., Ltd. 00183C Encore Software Limited 00183D Vertex Link Corporation 00183E Digilent, Inc 00183F 2Wire, Inc 001840 3 Phoenix, Inc. 001841 High Tech Computer Corp 001842 Nokia Danmark A/S 001843 Dawevision Ltd 001844 Heads Up Technologies, Inc. 001845 NPL Pulsar Ltd. 001846 Crypto S.A. 001847 AceNet Technology Inc. 001848 Vecima Networks Inc. 001849 Pigeon Point Systems 00184A Catcher, Inc. 00184B Las Vegas Gaming, Inc. 00184C Bogen Communications 00184D Netgear Inc. 00184E Lianhe Technologies, Inc. 00184F 8 Ways Technology Corp. 001850 Secfone Kft 001851 SWsoft 001852 StorLink Semiconductors, Inc. 001853 Atera Networks LTD. 001854 Argard Co., Ltd 001855 Aeromaritime Systembau GmbH 001856 EyeFi, Inc 001857 Unilever R&D 001858 TagMaster AB 001859 Strawberry Linux Co.,Ltd. 00185A uControl, Inc. 00185B Network Chemistry, Inc 00185C EDS Lab Pte Ltd 00185D TAIGUEN TECHNOLOGY (SHEN-ZHEN) CO., LTD. 00185E Nexterm Inc. 00185F TAC Inc. 001860 SIM Technology Group Shanghai Simcom Ltd., 001861 Ooma, Inc. 001862 Seagate Technology 001863 Veritech Electronics Limited 001864 Cybectec Inc. 001865 Siemens Healthcare Diagnostics Manufacturing Ltd 001866 Leutron Vision 001867 Evolution Robotics Retail 001868 Scientific Atlanta, A Cisco Company 001869 KINGJIM 00186A Global Link Digital Technology Co,.LTD 00186B Sambu Communics CO., LTD. 00186C Neonode AB 00186D Zhenjiang Sapphire Electronic Industry CO. 00186E 3Com Ltd 00186F Setha Industria Eletronica LTDA 001870 E28 Shanghai Limited 001871 Hewlett Packard 001872 Expertise Engineering 001873 Cisco Systems 001874 Cisco Systems 001875 AnaCise Testnology Pte Ltd 001876 WowWee Ltd. 001877 Amplex A/S 001878 Mackware GmbH 001879 dSys 00187A Wiremold 00187B 4NSYS Co. Ltd. 00187C INTERCROSS, LLC 00187D Armorlink shanghai Co. Ltd 00187E RGB Spectrum 00187F ZODIANET 001880 Maxim Integrated Circuits 001881 Buyang Electronics Industrial Co., Ltd 001882 Huawei Technologies Co., Ltd. 001883 FORMOSA21 INC. 001884 FON 001885 Avigilon Corporation 001886 EL-TECH, INC. 001887 Metasystem SpA 001888 GOTIVE a.s. 001889 WinNet Solutions Limited 00188A Infinova LLC 00188B Dell 00188C Mobile Action Technology Inc. 00188D Nokia Danmark A/S 00188E Ekahau, Inc. 00188F Montgomery Technology, Inc. 001890 RadioCOM, s.r.o. 001891 Zhongshan General K-mate Electronics Co., Ltd 001892 ads-tec GmbH 001893 SHENZHEN PHOTON BROADBAND TECHNOLOGY CO.,LTD 001894 zimocom 001895 Hansun Technologies Inc. 001896 Great Well Electronic LTD 001897 JESS-LINK PRODUCTS Co., LTD 001898 KINGSTATE ELECTRONICS CORPORATION 001899 ShenZhen jieshun Science&Technology Industry CO,LTD. 00189A HANA Micron Inc. 00189B Thomson Inc. 00189C Weldex Corporation 00189D Navcast Inc. 00189E OMNIKEY GmbH. 00189F Lenntek Corporation 0018A0 Cierma Ascenseurs 0018A1 Tiqit Computers, Inc. 0018A2 XIP Technology AB 0018A3 ZIPPY TECHNOLOGY CORP. 0018A4 Motorola Mobile Devices 0018A5 ADigit Technologies Corp. 0018A6 Persistent Systems, LLC 0018A7 Yoggie Security Systems LTD. 0018A8 AnNeal Technology Inc. 0018A9 Ethernet Direct Corporation 0018AA Protec Fire Detection plc 0018AB BEIJING LHWT MICROELECTRONICS INC. 0018AC Shanghai Jiao Da HISYS Technology Co. Ltd. 0018AD NIDEC SANKYO CORPORATION 0018AE TVT CO.,LTD 0018AF Samsung Electronics Co., Ltd. 0018B0 Nortel 0018B1 Blade Network Technologies 0018B2 ADEUNIS RF 0018B3 TEC WizHome Co., Ltd. 0018B4 Dawon Media Inc. 0018B5 Magna Carta 0018B6 S3C, Inc. 0018B7 D3 LED, LLC 0018B8 New Voice International AG 0018B9 Cisco Systems 0018BA Cisco Systems 0018BB Eliwell Controls srl 0018BC ZAO NVP Bolid 0018BD SHENZHEN DVBWORLD TECHNOLOGY CO., LTD. 0018BE ANSA Corporation 0018BF Essence Technology Solution, Inc. 0018C0 Motorola CHS 0018C1 Almitec Informática e Comércio Ltda. 0018C2 Firetide, Inc 0018C3 C&S Microwave 0018C4 Raba Technologies LLC 0018C5 Nokia Danmark A/S 0018C6 OPW Fuel Management Systems 0018C7 Real Time Automation 0018C8 ISONAS Inc. 0018C9 EOps Technology Limited 0018CA Viprinet GmbH 0018CB Tecobest Technology Limited 0018CC AXIOHM SAS 0018CD Erae Electronics Industry Co., Ltd 0018CE Dreamtech Co., Ltd 0018CF Baldor Electric Company 0018D0 AtRoad, A Trimble Company 0018D1 Siemens Home & Office Comm. Devices 0018D2 High-Gain Antennas LLC 0018D3 TEAMCAST 0018D4 Unified Display Interface SIG 0018D5 REIGNCOM 0018D6 Swirlnet A/S 0018D7 Javad Navigation Systems Inc. 0018D8 ARCH METER Corporation 0018D9 Santosha Internatonal, Inc 0018DA AMBER wireless GmbH 0018DB EPL Technology Ltd 0018DC Prostar Co., Ltd. 0018DD Silicondust Engineering Ltd 0018DE Intel Corporation 0018DF The Morey Corporation 0018E0 ANAVEO 0018E1 Verkerk Service Systemen 0018E2 Topdata Sistemas de Automacao Ltda 0018E3 Visualgate Systems, Inc. 0018E4 YIGUANG 0018E5 Adhoco AG 0018E6 Computer Hardware Design SIA 0018E7 Cameo Communications, INC. 0018E8 Hacetron Corporation 0018E9 Numata Corporation 0018EA Alltec GmbH 0018EB BroVis Wireless Networks 0018EC Welding Technology Corporation 0018ED Accutech Ultrasystems Co., Ltd. 0018EE Videology Imaging Solutions, Inc. 0018EF Escape Communications, Inc. 0018F0 JOYTOTO Co., Ltd. 0018F1 Chunichi Denshi Co.,LTD. 0018F2 Beijing Tianyu Communication Equipment Co., Ltd 0018F3 ASUSTek COMPUTER INC. 0018F4 EO TECHNICS Co., Ltd. 0018F5 Shenzhen Streaming Video Technology Company Limited 0018F6 Thomson Telecom Belgium 0018F7 Kameleon Technologies 0018F8 Cisco-Linksys LLC 0018F9 VVOND, Inc. 0018FA Yushin Precision Equipment Co.,Ltd. 0018FB Compro Technology 0018FC Altec Electronic AG 0018FD Optimal Technologies International Inc. 0018FE Hewlett Packard 0018FF PowerQuattro Co. 001900 Intelliverese - DBA Voicecom 001901 F1MEDIA 001902 Cambridge Consultants Ltd 001903 Bigfoot Networks Inc 001904 WB Electronics Sp. z o.o. 001905 SCHRACK Seconet AG 001906 Cisco Systems 001907 Cisco Systems 001908 Duaxes Corporation 001909 Devi A/S 00190A HASWARE INC. 00190B Southern Vision Systems, Inc. 00190C Encore Electronics, Inc. 00190D IEEE 1394c 00190E Atech Technology Co., Ltd. 00190F Advansus Corp. 001910 Knick Elektronische Messgeraete GmbH & Co. KG 001911 Just In Mobile Information Technologies (Shanghai) Co., Ltd. 001912 Welcat Inc 001913 Chuang-Yi Network Equipment Co.Ltd. 001914 Winix Co., Ltd 001915 TECOM Co., Ltd. 001916 PayTec AG 001917 Posiflex Inc. 001918 Interactive Wear AG 001919 ASTEL Inc. 00191A IRLINK 00191B Sputnik Engineering AG 00191C Sensicast Systems 00191D Nintendo Co.,Ltd. 00191E Beyondwiz Co., Ltd. 00191F Microlink communications Inc. 001920 KUME electric Co.,Ltd. 001921 Elitegroup Computer System Co. 001922 CM Comandos Lineares 001923 Phonex Korea Co., LTD. 001924 LBNL Engineering 001925 Intelicis Corporation 001926 BitsGen Co., Ltd. 001927 ImCoSys Ltd 001928 Siemens AG, Transportation Systems 001929 2M2B Montadora de Maquinas Bahia Brasil LTDA 00192A Antiope Associates 00192B Aclara RF Systems Inc. 00192C Motorola Mobile Devices 00192D Nokia Corporation 00192E Spectral Instruments, Inc. 00192F Cisco Systems 001930 Cisco Systems 001931 Balluff GmbH 001932 Gude Analog- und Digialsysteme GmbH 001933 Strix Systems, Inc. 001934 TRENDON TOUCH TECHNOLOGY CORP. 001935 Duerr Dental GmbH & Co. KG 001936 STERLITE OPTICAL TECHNOLOGIES LIMITED 001937 CommerceGuard AB 001938 UMB Communications Co., Ltd. 001939 Gigamips 00193A OESOLUTIONS 00193B Wilibox Deliberant Group LLC 00193C HighPoint Technologies Incorporated 00193D GMC Guardian Mobility Corp. 00193E PIRELLI BROADBAND SOLUTIONS 00193F RDI technology(Shenzhen) Co.,LTD 001940 Rackable Systems 001941 Pitney Bowes, Inc 001942 ON SOFTWARE INTERNATIONAL LIMITED 001943 Belden 001944 Fossil Partners, L.P. 001945 Ten-Tec Inc. 001946 Cianet Industria e Comercio S/A 001947 Scientific Atlanta, A Cisco Company 001948 AireSpider Networks 001949 TENTEL COMTECH CO., LTD. 00194A TESTO AG 00194B SAGEM COMMUNICATION 00194C Fujian Stelcom information & Technology CO.,Ltd 00194D Avago Technologies Sdn Bhd 00194E Ultra Electronics - TCS (Tactical Communication Systems) 00194F Nokia Danmark A/S 001950 Harman Multimedia 001951 NETCONS, s.r.o. 001952 ACOGITO Co., Ltd 001953 Chainleader Communications Corp. 001954 Leaf Corporation. 001955 Cisco Systems 001956 Cisco Systems 001957 Saafnet Canada Inc. 001958 Bluetooth SIG, Inc. 001959 Staccato Communications Inc. 00195A Jenaer Antriebstechnik GmbH 00195B D-Link Corporation 00195C Innotech Corporation 00195D ShenZhen XinHuaTong Opto Electronics Co.,Ltd 00195E Motorola CHS 00195F Valemount Networks Corporation 001960 DoCoMo Systems, Inc. 001961 Blaupunkt GmbH 001962 Commerciant, LP 001963 Sony Ericsson Mobile Communications AB 001964 Doorking Inc. 001965 YuHua TelTech (ShangHai) Co., Ltd. 001966 Asiarock Technology Limited 001967 TELDAT Sp.J. 001968 Digital Video Networks(Shanghai) CO. LTD. 001969 Nortel 00196A MikroM GmbH 00196B Danpex Corporation 00196C ETROVISION TECHNOLOGY 00196D Raybit Systems Korea, Inc 00196E Metacom (Pty) Ltd. 00196F SensoPart GmbH 001970 Z-Com, Inc. 001971 Guangzhou Unicomp Technology Co.,Ltd 001972 Plexus (Xiamen) Co.,ltd 001973 Zeugma Systems 001974 AboCom Systems, Inc. 001975 Beijing Huisen networks technology Inc 001976 Xipher Technologies, LLC 001977 Aerohive Networks, Inc. 001978 Datum Systems, Inc. 001979 Nokia Danmark A/S 00197A MAZeT GmbH 00197B Picotest Corp. 00197C Riedel Communications GmbH 00197D Hon Hai Precision Ind. Co., Ltd 00197E Hon Hai Precision Ind. Co., Ltd 00197F PLANTRONICS, INC. 001980 Gridpoint Systems 001981 Vivox Inc 001982 SmarDTV 001983 CCT R&D Limited 001984 ESTIC Corporation 001985 IT Watchdogs, Inc 001986 Cheng Hongjian 001987 Panasonic Mobile Communications Co., Ltd. 001988 Wi2Wi, Inc 001989 Sonitrol Corporation 00198A Northrop Grumman Systems Corp. 00198B Novera Optics Korea, Inc. 00198C iXSea 00198D Ocean Optics, Inc. 00198E Oticon A/S 00198F Alcatel Bell N.V. 001990 ELM DATA Co., Ltd. 001991 avinfo 001992 Bluesocket, Inc 001993 Changshu Switchgear MFG. Co.,Ltd. (Former Changshu Switchgea 001994 Jorjin Technologies Inc. 001995 Jurong Hi-Tech (Suzhou)Co.ltd 001996 TurboChef Technologies Inc. 001997 Soft Device Sdn Bhd 001998 SATO CORPORATION 001999 Fujitsu Technology Solutions 00199A EDO-EVI 00199B Diversified Technical Systems, Inc. 00199C CTRING 00199D VIZIO, Inc. 00199E SHOWADENSHI ELECTRONICS,INC. 00199F DKT A/S 0019A0 NIHON DATA SYSTENS, INC. 0019A1 LG INFORMATION & COMM. 0019A2 ORDYN TECHNOLOGIES 0019A3 asteel electronique atlantique 0019A4 Austar Technology (hang zhou) Co.,Ltd 0019A5 RadarFind Corporation 0019A6 Motorola CHS 0019A7 ITU-T 0019A8 WiQuest Communications 0019A9 Cisco Systems 0019AA Cisco Systems 0019AB Raycom CO ., LTD 0019AC GSP SYSTEMS Inc. 0019AD BOBST SA 0019AE Hopling Technologies b.v. 0019AF Rigol Technologies, Inc. 0019B0 HanYang System 0019B1 Arrow7 Corporation 0019B2 XYnetsoft Co.,Ltd 0019B3 Stanford Research Systems 0019B4 VideoCast Ltd. 0019B5 Famar Fueguina S.A. 0019B6 Euro Emme s.r.l. 0019B7 Nokia Danmark A/S 0019B8 Boundary Devices 0019B9 Dell Inc. 0019BA Paradox Security Systems Ltd 0019BB Hewlett Packard 0019BC ELECTRO CHANCE SRL 0019BD New Media Life 0019BE Altai Technologies Limited 0019BF Citiway technology Co.,ltd 0019C0 Motorola Mobile Devices 0019C1 Alps Electric Co., Ltd 0019C2 Equustek Solutions, Inc. 0019C3 Qualitrol 0019C4 Infocrypt Inc. 0019C5 SONY Computer Entertainment inc, 0019C6 ZTE Corporation 0019C7 Cambridge Industries(Group) Co.,Ltd. 0019C8 AnyDATA Corporation 0019C9 S&C ELECTRIC COMPANY 0019CA Broadata Communications, Inc 0019CB ZyXEL Communications Corporation 0019CC RCG (HK) Ltd 0019CD Chengdu ethercom information technology Ltd. 0019CE Progressive Gaming International 0019CF SALICRU, S.A. 0019D0 Cathexis 0019D1 Intel Corporation 0019D2 Intel Corporation 0019D3 TRAK Microwave 0019D4 ICX Technologies 0019D5 IP Innovations, Inc. 0019D6 LS Cable Ltd. 0019D7 FORTUNETEK CO., LTD 0019D8 MAXFOR 0019D9 Zeutschel GmbH 0019DA Welltrans O&E Technology Co. , Ltd. 0019DB MICRO-STAR INTERNATIONAL CO., LTD. 0019DC ENENSYS Technologies 0019DD FEI-Zyfer, Inc. 0019DE MOBITEK 0019DF Thomson Inc. 0019E0 TP-LINK Technologies Co., Ltd. 0019E1 Nortel 0019E2 Juniper Networks 0019E3 Apple Computer Inc. 0019E4 2Wire, Inc 0019E5 Lynx Studio Technology, Inc. 0019E6 TOYO MEDIC CO.,LTD. 0019E7 Cisco Systems 0019E8 Cisco Systems 0019E9 S-Information Technolgy, Co., Ltd. 0019EA TeraMage Technologies Co., Ltd. 0019EB Pyronix Ltd 0019EC Sagamore Systems, Inc. 0019ED Axesstel Inc. 0019EE CARLO GAVAZZI CONTROLS SPA-Controls Division 0019EF SHENZHEN LINNKING ELECTRONICS CO.,LTD 0019F0 UNIONMAN TECHNOLOGY CO.,LTD 0019F1 Star Communication Network Technology Co.,Ltd 0019F2 Teradyne K.K. 0019F3 Cetis, Inc 0019F4 Convergens Oy Ltd 0019F5 Imagination Technologies Ltd 0019F6 Acconet (PTE) Ltd 0019F7 Onset Computer Corporation 0019F8 Embedded Systems Design, Inc. 0019F9 TDK-Lambda 0019FA Cable Vision Electronics CO., LTD. 0019FB BSkyB Ltd 0019FC PT. Ufoakses Sukses Luarbiasa 0019FD Nintendo Co., Ltd. 0019FE SHENZHEN SEECOMM TECHNOLOGY CO.,LTD. 0019FF Finnzymes 001A00 MATRIX INC. 001A01 Smiths Medical 001A02 SECURE CARE PRODUCTS, INC 001A03 Angel Electronics Co., Ltd. 001A04 Interay Solutions BV 001A05 OPTIBASE LTD 001A06 OpVista, Inc. 001A07 Arecont Vision 001A08 Dalman Technical Services 001A09 Wayfarer Transit Systems Ltd 001A0A Adaptive Micro-Ware Inc. 001A0B BONA TECHNOLOGY INC. 001A0C Swe-Dish Satellite Systems AB 001A0D HandHeld entertainment, Inc. 001A0E Cheng Uei Precision Industry Co.,Ltd 001A0F Sistemas Avanzados de Control, S.A. 001A10 LUCENT TRANS ELECTRONICS CO.,LTD 001A11 Google Inc. 001A12 Essilor 001A13 Wanlida Group Co., LTD 001A14 Xin Hua Control Engineering Co.,Ltd. 001A15 gemalto e-Payment 001A16 Nokia Danmark A/S 001A17 Teak Technologies, Inc. 001A18 Advanced Simulation Technology inc. 001A19 Computer Engineering Limited 001A1A Gentex Corporation/Electro-Acoustic Products 001A1B Motorola Mobile Devices 001A1C GT&T Engineering Pte Ltd 001A1D PChome Online Inc. 001A1E Aruba Networks 001A1F Coastal Environmental Systems 001A20 CMOTECH Co. Ltd. 001A21 Indac B.V. 001A22 eQ-3 Entwicklung GmbH 001A23 Ice Qube, Inc 001A24 Galaxy Telecom Technologies Ltd 001A25 DELTA DORE 001A26 Deltanode Solutions AB 001A27 Ubistar 001A28 ASWT Co., LTD. Taiwan Branch H.K. 001A29 Techsonic Industries d/b/a Humminbird 001A2A Arcadyan Technology Corporation 001A2B Ayecom Technology Co., Ltd. 001A2C SATEC Co.,LTD 001A2D The Navvo Group 001A2E Ziova Coporation 001A2F Cisco Systems 001A30 Cisco Systems 001A31 SCAN COIN Industries AB 001A32 ACTIVA MULTIMEDIA 001A33 ASI Communications, Inc. 001A34 Konka Group Co., Ltd. 001A35 BARTEC GmbH 001A36 Aipermon GmbH & Co. KG 001A37 Lear Corporation 001A38 Sanmina-SCI 001A39 Merten GmbH&CoKG 001A3A Dongahelecomm 001A3B Doah Elecom Inc. 001A3C Technowave Ltd. 001A3D Ajin Vision Co.,Ltd 001A3E Faster Technology LLC 001A3F intelbras 001A40 A-FOUR TECH CO., LTD. 001A41 INOCOVA Co.,Ltd 001A42 Techcity Technology co., Ltd. 001A43 Logical Link Communications 001A44 JWTrading Co., Ltd 001A45 GN Netcom as 001A46 Digital Multimedia Technology Co., Ltd 001A47 Agami Systems, Inc. 001A48 Takacom Corporation 001A49 Micro Vision Co.,LTD 001A4A Qumranet Inc. 001A4B Hewlett Packard 001A4C Crossbow Technology, Inc 001A4D GIGA-BYTE TECHNOLOGY CO.,LTD. 001A4E NTI AG / LinMot 001A4F AVM GmbH 001A50 PheeNet Technology Corp. 001A51 Alfred Mann Foundation 001A52 Meshlinx Wireless Inc. 001A53 Zylaya 001A54 Hip Shing Electronics Ltd. 001A55 ACA-Digital Corporation 001A56 ViewTel Co,. Ltd. 001A57 Matrix Design Group, LLC 001A58 CCV Deutschland GmbH - Celectronic eHealth Div. 001A59 Ircona 001A5A Korea Electric Power Data Network (KDN) Co., Ltd 001A5B NetCare Service Co., Ltd. 001A5C Euchner GmbH+Co. KG 001A5D Mobinnova Corp. 001A5E Thincom Technology Co.,Ltd 001A5F KitWorks.fi Ltd. 001A60 Wave Electronics Co.,Ltd. 001A61 PacStar Corp. 001A62 Data Robotics, Incorporated 001A63 Elster Solutions, LLC, 001A64 IBM Corp 001A65 Seluxit 001A66 Motorola CHS 001A67 Infinite QL Sdn Bhd 001A68 Weltec Enterprise Co., Ltd. 001A69 Wuhan Yangtze Optical Technology CO.,Ltd. 001A6A Tranzas, Inc. 001A6B Universal Global Scientific Industrial Co., Ltd. 001A6C Cisco Systems 001A6D Cisco Systems 001A6E Impro Technologies 001A6F MI.TEL s.r.l. 001A70 Cisco-Linksys, LLC 001A71 Diostech Co., Ltd. 001A72 Mosart Semiconductor Corp. 001A73 Gemtek Technology Co., Ltd. 001A74 Procare International Co 001A75 Sony Ericsson Mobile Communications 001A76 SDT information Technology Co.,LTD. 001A77 Motorola Mobile Devices 001A78 ubtos 001A79 TELECOMUNICATION TECHNOLOGIES LTD. 001A7A Lismore Instruments Limited 001A7B Teleco, Inc. 001A7C Hirschmann Multimedia B.V. 001A7D cyber-blue(HK)Ltd 001A7E LN Srithai Comm Ltd. 001A7F GCI Science&Technology Co.,Ltd. 001A80 Sony Corporation 001A81 Zelax 001A82 PROBA Building Automation Co.,LTD 001A83 Pegasus Technologies Inc. 001A84 V One Multimedia Pte Ltd 001A85 NV Michel Van de Wiele 001A86 AdvancedIO Systems Inc 001A87 Canhold International Limited 001A88 Venergy,Co,Ltd 001A89 Nokia Danmark A/S 001A8A Samsung Electronics Co., Ltd. 001A8B CHUNIL ELECTRIC IND., CO. 001A8C Astaro AG 001A8D AVECS Bergen GmbH 001A8E 3Way Networks Ltd 001A8F Nortel 001A90 Trópico Sistemas e Telecomunicações da Amazônia LTDA. 001A91 FusionDynamic Ltd. 001A92 ASUSTek COMPUTER INC. 001A93 ERCO Leuchten GmbH 001A94 Votronic GmbH 001A95 Hisense Mobile Communications Technoligy Co.,Ltd. 001A96 ECLER S.A. 001A97 fitivision technology Inc. 001A98 Asotel Communication Limited Taiwan Branch 001A99 Smarty (HZ) Information Electronics Co., Ltd 001A9A Skyworth Digital technology(shenzhen)co.ltd. 001A9B ADEC & Parter AG 001A9C RightHand Technologies, Inc. 001A9D Skipper Wireless, Inc. 001A9E ICON Digital International Limited 001A9F A-Link Europe Ltd 001AA0 Dell Inc 001AA1 Cisco Systems 001AA2 Cisco Systems 001AA3 DELORME 001AA4 Future University-Hakodate 001AA5 BRN Phoenix 001AA6 Telefunken Radio Communication Systems GmbH &CO.KG 001AA7 Torian Wireless 001AA8 Mamiya Digital Imaging Co., Ltd. 001AA9 FUJIAN STAR-NET COMMUNICATION CO.,LTD 001AAA Analogic Corp. 001AAB eWings s.r.l. 001AAC Corelatus AB 001AAD Motorola CHS 001AAE Savant Systems LLC 001AAF BLUSENS TECHNOLOGY 001AB0 Signal Networks Pvt. Ltd., 001AB1 Asia Pacific Satellite Industries Co., Ltd. 001AB2 Cyber Solutions Inc. 001AB3 VISIONITE INC. 001AB4 FFEI Ltd. 001AB5 Home Network System 001AB6 Texas Instruments 001AB7 Ethos Networks LTD. 001AB8 Anseri Corporation 001AB9 PMC 001ABA Caton Overseas Limited 001ABB Fontal Technology Incorporation 001ABC U4EA Technologies Ltd 001ABD Impatica Inc. 001ABE COMPUTER HI-TECH INC. 001ABF TRUMPF Laser Marking Systems AG 001AC0 JOYBIEN TECHNOLOGIES CO., LTD. 001AC1 3Com Ltd 001AC2 YEC Co.,Ltd. 001AC3 Scientific-Atlanta, Inc 001AC4 2Wire, Inc 001AC5 BreakingPoint Systems, Inc. 001AC6 Micro Control Designs 001AC7 UNIPOINT 001AC8 ISL (Instrumentation Scientifique de Laboratoire) 001AC9 SUZUKEN CO.,LTD 001ACA Tilera Corporation 001ACB Autocom Products Ltd 001ACC Celestial Semiconductor, Ltd 001ACD Tidel Engineering LP 001ACE YUPITERU CORPORATION 001ACF C.T. ELETTRONICA 001AD0 Albis Technologies AG 001AD1 FARGO CO., LTD. 001AD2 Eletronica Nitron Ltda 001AD3 Vamp Ltd. 001AD4 iPOX Technology Co., Ltd. 001AD5 KMC CHAIN INDUSTRIAL CO., LTD. 001AD6 JIAGNSU AETNA ELECTRIC CO.,LTD 001AD7 Christie Digital Systems, Inc. 001AD8 AlsterAero GmbH 001AD9 International Broadband Electric Communications, Inc. 001ADA Biz-2-Me Inc. 001ADB Motorola Mobile Devices 001ADC Nokia Danmark A/S 001ADD PePWave Ltd 001ADE Motorola CHS 001ADF Interactivetv Pty Limited 001AE0 Mythology Tech Express Inc. 001AE1 EDGE ACCESS INC 001AE2 Cisco Systems 001AE3 Cisco Systems 001AE4 Medicis Technologies Corporation 001AE5 Mvox Technologies Inc. 001AE6 Atlanta Advanced Communications Holdings Limited 001AE7 Aztek Networks, Inc. 001AE8 Siemens Enterprise Communications GmbH & Co. KG 001AE9 Nintendo Co., Ltd. 001AEA Radio Terminal Systems Pty Ltd 001AEB Allied Telesis K.K. 001AEC Keumbee Electronics Co.,Ltd. 001AED INCOTEC GmbH 001AEE Shenztech Ltd 001AEF Loopcomm Technology, Inc. 001AF0 Alcatel - IPD 001AF1 Embedded Artists AB 001AF2 Dynavisions Schweiz AG 001AF3 Samyoung Electronics 001AF4 Handreamnet 001AF5 PENTAONE. CO., LTD. 001AF6 Woven Systems, Inc. 001AF7 dataschalt e+a GmbH 001AF8 Copley Controls Corporation 001AF9 AeroVIronment (AV Inc) 001AFA Welch Allyn, Inc. 001AFB Joby Inc. 001AFC ModusLink Corporation 001AFD EVOLIS 001AFE SOFACREAL 001AFF Wizyoung Tech. 001B00 Neopost Technologies 001B01 Applied Radio Technologies 001B02 ED Co.Ltd 001B03 Action Technology (SZ) Co., Ltd 001B04 Affinity International S.p.a 001B05 YMC AG 001B06 Ateliers R. LAUMONIER 001B07 Mendocino Software 001B08 Danfoss Drives A/S 001B09 Matrix Telecom Pvt. Ltd. 001B0A Intelligent Distributed Controls Ltd 001B0B Phidgets Inc. 001B0C Cisco Systems 001B0D Cisco Systems 001B0E InoTec GmbH Organisationssysteme 001B0F Petratec 001B10 ShenZhen Kang Hui Technology Co.,ltd 001B11 D-Link Corporation 001B12 Apprion 001B13 Icron Technologies Corporation 001B14 Carex Lighting Equipment Factory 001B15 Voxtel, Inc. 001B16 Celtro Ltd. 001B17 Palo Alto Networks 001B18 Tsuken Electric Ind. Co.,Ltd 001B19 IEEE I&M Society TC9 001B1A e-trees Japan, Inc. 001B1B Siemens AG, 001B1C Coherent 001B1D Phoenix International Co., Ltd 001B1E HART Communication Foundation 001B1F DELTA - Danish Electronics, Light & Acoustics 001B20 TPine Technology 001B21 Intel Corporate 001B22 Palit Microsystems ( H.K.) Ltd. 001B23 SimpleComTools 001B24 Quanta Computer Inc. 001B25 Nortel 001B26 RON-Telecom ZAO 001B27 Merlin CSI 001B28 POLYGON, JSC 001B29 Avantis.Co.,Ltd 001B2A Cisco Systems 001B2B Cisco Systems 001B2C ATRON electronic GmbH 001B2D Med-Eng Systems Inc. 001B2E Sinkyo Electron Inc 001B2F NETGEAR Inc. 001B30 Solitech Inc. 001B31 Neural Image. Co. Ltd. 001B32 QLogic Corporation 001B33 Nokia Danmark A/S 001B34 Focus System Inc. 001B35 ChongQing JINOU Science & Technology Development CO.,Ltd 001B36 Tsubata Engineering Co.,Ltd. (Head Office) 001B37 Computec Oy 001B38 COMPAL INFORMATION (KUNSHAN) CO., LTD. 001B39 Proxicast 001B3A SIMS Corp. 001B3B Yi-Qing CO., LTD 001B3C Software Technologies Group,Inc. 001B3D EuroTel Spa 001B3E Curtis, Inc. 001B3F ProCurve Networking by HP 001B40 Network Automation mxc AB 001B41 General Infinity Co.,Ltd. 001B42 Wise & Blue 001B43 Beijing DG Telecommunications equipment Co.,Ltd 001B44 SanDisk Corporation 001B45 ABB AS, Division Automation Products 001B46 Blueone Technology Co.,Ltd 001B47 Futarque A/S 001B48 Shenzhen Lantech Electronics Co., Ltd. 001B49 Roberts Radio limited 001B4A W&W Communications, Inc. 001B4B SANION Co., Ltd. 001B4C Signtech 001B4D Areca Technology Corporation 001B4E Navman New Zealand 001B4F Avaya Inc. 001B50 Nizhny Novgorod Factory named after M.Frunze, FSUE (NZiF) 001B51 Vector Technology Corp. 001B52 Motorola Mobile Devices 001B53 Cisco Systems 001B54 Cisco Systems 001B55 Hurco Automation Ltd. 001B56 Tehuti Networks Ltd. 001B57 SEMINDIA SYSTEMS PRIVATE LIMITED 001B58 ACE CAD Enterprise Co., Ltd. 001B59 Sony Ericsson Mobile Communications AB 001B5A Apollo Imaging Technologies, Inc. 001B5B 2Wire, Inc. 001B5C Azuretec Co., Ltd. 001B5D Vololink Pty Ltd 001B5E BPL Limited 001B5F Alien Technology 001B60 NAVIGON AG 001B61 Digital Acoustics, LLC 001B62 JHT Optoelectronics Co.,Ltd. 001B63 Apple Computer Inc. 001B64 IsaacLandKorea Co., Ltd, 001B65 China Gridcom Co., Ltd 001B66 Sennheiser electronic GmbH & Co. KG 001B67 Ubiquisys Ltd 001B68 Modnnet Co., Ltd 001B69 Equaline Corporation 001B6A Powerwave Technologies Sweden AB 001B6B Swyx Solutions AG 001B6C LookX Digital Media BV 001B6D Midtronics, Inc. 001B6E Anue Systems, Inc. 001B6F Teletrak Ltd 001B70 IRI Ubiteq, INC. 001B71 Telular Corp. 001B72 Sicep s.p.a. 001B73 DTL Broadcast Ltd 001B74 MiraLink Corporation 001B75 Hypermedia Systems 001B76 Ripcode, Inc. 001B77 Intel Corporate 001B78 Hewlett Packard 001B79 FAIVELEY TRANSPORT 001B7A Nintendo Co., Ltd. 001B7B The Tintometer Ltd 001B7C A & R Cambridge 001B7D CXR Anderson Jacobson 001B7E Beckmann GmbH 001B7F TMN Technologies Telecomunicacoes Ltda 001B80 LORD Corporation 001B81 DATAQ Instruments, Inc. 001B82 Taiwan Semiconductor Co., Ltd. 001B83 Finsoft Ltd 001B84 Scan Engineering Telecom 001B85 MAN Diesel SE 001B86 Bosch Access Systems GmbH 001B87 Deepsound Tech. Co., Ltd 001B88 Divinet Access Technologies Ltd 001B89 EMZA Visual Sense Ltd. 001B8A 2M Electronic A/S 001B8B NEC AccessTechnica, Ltd. 001B8C JMicron Technology Corp. 001B8D Electronic Computer Systems, Inc. 001B8E Hulu Sweden AB 001B8F Cisco Systems 001B90 Cisco Systems 001B91 EFKON AG 001B92 l-acoustics 001B93 JC Decaux SA DNT 001B94 T.E.M.A. S.p.A. 001B95 VIDEO SYSTEMS SRL 001B96 General Sensing 001B97 Violin Technologies 001B98 Samsung Electronics Co., Ltd. 001B99 KS System GmbH 001B9A Apollo Fire Detectors Ltd 001B9B Hose-McCann Communications 001B9C SATEL sp. z o.o. 001B9D Novus Security Sp. z o.o. 001B9E ASKEY COMPUTER CORP 001B9F Calyptech Pty Ltd 001BA0 Awox 001BA1 Åmic AB 001BA2 IDS Imaging Development Systems GmbH 001BA3 Flexit Group GmbH 001BA4 S.A.E Afikim 001BA5 MyungMin Systems, Inc. 001BA6 intotech inc. 001BA7 Lorica Solutions 001BA8 UBI&MOBI,.Inc 001BA9 BROTHER INDUSTRIES, LTD. 001BAA XenICs nv 001BAB Telchemy, Incorporated 001BAC Curtiss Wright Controls Embedded Computing 001BAD iControl Incorporated 001BAE Micro Control Systems, Inc 001BAF Nokia Danmark A/S 001BB0 BHARAT ELECTRONICS 001BB1 Wistron Neweb Corp. 001BB2 Intellect International NV 001BB3 Condalo GmbH 001BB4 Airvod Limited 001BB5 ZF Electronics GmbH 001BB6 Bird Electronic Corp. 001BB7 Alta Heights Technology Corp. 001BB8 BLUEWAY ELECTRONIC CO;LTD 001BB9 Elitegroup Computer System Co. 001BBA Nortel 001BBB RFTech Co.,Ltd 001BBC Silver Peak Systems, Inc. 001BBD FMC Kongsberg Subsea AS 001BBE ICOP Digital 001BBF SAGEM COMMUNICATION 001BC0 Juniper Networks 001BC1 HOLUX Technology, Inc. 001BC2 Integrated Control Technology Limitied 001BC3 Mobisolution Co.,Ltd 001BC4 Ultratec, Inc. 001BC5 IEEE Registration Authority 001BC6 Strato Rechenzentrum AG 001BC7 StarVedia Technology Inc. 001BC8 MIURA CO.,LTD 001BC9 FSN DISPLAY INC 001BCA Beijing Run Technology LTD. Company 001BCB PEMPEK SYSTEMS PTY LTD 001BCC KINGTEK CCTV ALLIANCE CO., LTD. 001BCD DAVISCOMMS (S) PTE LTD 001BCE Measurement Devices Ltd 001BCF Dataupia Corporation 001BD0 IDENTEC SOLUTIONS 001BD1 SOGESTMATIC 001BD2 ULTRA-X ASIA PACIFIC Inc. 001BD3 Matsushita Electric Panasonic AVC 001BD4 Cisco Systems 001BD5 Cisco Systems 001BD6 Kelvin Hughes Ltd 001BD7 Scientific Atlanta, A Cisco Company 001BD8 DVTel LTD 001BD9 Edgewater Computer Systems 001BDA UTStarcom Inc 001BDB Valeo VECS 001BDC Vencer Co., Ltd. 001BDD Motorola CHS 001BDE Renkus-Heinz, Inc. 001BDF Iskra MIS 001BE0 TELENOT ELECTRONIC GmbH 001BE1 ViaLogy 001BE2 AhnLab,Inc. 001BE3 Health Hero Network, Inc. 001BE4 TOWNET SRL 001BE5 802automation Limited 001BE6 VR AG 001BE7 Postek Electronics Co., Ltd. 001BE8 Ultratronik GmbH 001BE9 Broadcom Corporation 001BEA Nintendo Co., Ltd. 001BEB DMP Electronics INC. 001BEC Netio Technologies Co., Ltd 001BED Brocade Communications Systems, Inc 001BEE Nokia Danmark A/S 001BEF Blossoms Digital Technology Co.,Ltd. 001BF0 Value Platforms Limited 001BF1 Nanjing SilverNet Software Co., Ltd. 001BF2 KWORLD COMPUTER CO., LTD 001BF3 TRANSRADIO SenderSysteme Berlin AG 001BF4 KENWIN INDUSTRIAL(HK) LTD. 001BF5 Tellink Sistemas de Telecomunicación S.L. 001BF6 CONWISE Technology Corporation Ltd. 001BF7 Lund IP Products AB 001BF8 Digitrax Inc. 001BF9 Intellitect Water Ltd 001BFA G.i.N. mbH 001BFB Alps Electric Co., Ltd 001BFC ASUSTek COMPUTER INC. 001BFD Dignsys Inc. 001BFE Zavio Inc. 001BFF Millennia Media inc. 001C00 Entry Point, LLC 001C01 ABB Oy Drives 001C02 Pano Logic 001C03 Betty TV Technology AG 001C04 Airgain, Inc. 001C05 Nonin Medical Inc. 001C06 Siemens Numerical Control Ltd., Nanjing 001C07 Cwlinux Limited 001C08 Echo360, Inc. 001C09 SAE Electronic Co.,Ltd. 001C0A Shenzhen AEE Technology Co.,Ltd. 001C0B SmartAnt Telecom 001C0C TANITA Corporation 001C0D G-Technology, Inc. 001C0E Cisco Systems 001C0F Cisco Systems 001C10 Cisco-Linksys, LLC 001C11 Motorola Mobility, Inc. 001C12 Motorola Mobile Devices 001C13 OPTSYS TECHNOLOGY CO., LTD. 001C14 VMware, Inc 001C15 TXP Corporation 001C16 ThyssenKrupp Elevator 001C17 Nortel 001C18 Sicert S.r.L. 001C19 secunet Security Networks AG 001C1A Thomas Instrumentation, Inc 001C1B Hyperstone GmbH 001C1C Center Communication Systems GmbH 001C1D CHENZHOU GOSPELL DIGITAL TECHNOLOGY CO.,LTD 001C1E emtrion GmbH 001C1F Quest Retail Technology Pty Ltd 001C20 CLB Benelux 001C21 Nucsafe Inc. 001C22 Aeris Elettronica s.r.l. 001C23 Dell Inc 001C24 Formosa Wireless Systems Corp. 001C25 Hon Hai Precision Ind. Co.,Ltd. 001C26 Hon Hai Precision Ind. Co.,Ltd. 001C27 Sunell Electronics Co. 001C28 Sphairon Technologies GmbH 001C29 CORE DIGITAL ELECTRONICS CO., LTD 001C2A Envisacor Technologies Inc. 001C2B Alertme.com Limited 001C2C Synapse 001C2D FlexRadio Systems 001C2E ProCurve Networking by HP 001C2F Pfister GmbH 001C30 Mode Lighting (UK ) Ltd. 001C31 Mobile XP Technology Co., LTD 001C32 Telian Corporation 001C33 Sutron 001C34 HUEY CHIAO INTERNATIONAL CO., LTD. 001C35 Nokia Danmark A/S 001C36 iNEWiT NV 001C37 Callpod, Inc. 001C38 Bio-Rad Laboratories, Inc. 001C39 S Netsystems Inc. 001C3A Element Labs, Inc. 001C3B AmRoad Technology Inc. 001C3C Seon Design Inc. 001C3D WaveStorm 001C3E ECKey Limited 001C3F International Police Technologies, Inc. 001C40 VDG-Security bv 001C41 scemtec Transponder Technology GmbH 001C42 Parallels, Inc. 001C43 Samsung Electronics Co.,Ltd 001C44 Bosch Security Systems BV 001C45 Chenbro Micom Co., Ltd. 001C46 QTUM 001C47 Hangzhou Hollysys Automation Co., Ltd 001C48 WiDeFi, Inc. 001C49 Zoltan Technology Inc. 001C4A AVM GmbH 001C4B Gener8, Inc. 001C4C Petrotest Instruments 001C4D Zeetoo, Inc. 001C4E TASA International Limited 001C4F MACAB AB 001C50 TCL Technoly Electronics(Huizhou)Co.,Ltd 001C51 Celeno Communications 001C52 VISIONEE SRL 001C53 Synergy Lighting Controls 001C54 Hillstone Networks Inc 001C55 Shenzhen Kaifa Technology Co. 001C56 Pado Systems, Inc. 001C57 Cisco Systems 001C58 Cisco Systems 001C59 DEVON IT 001C5A Advanced Relay Corporation 001C5B Chubb Electronic Security Systems Ltd 001C5C Integrated Medical Systems, Inc. 001C5D Leica Microsystems 001C5E ASTON France 001C5F Winland Electronics, Inc. 001C60 CSP Frontier Technologies,Inc. 001C61 Galaxy Technology (HK) Ltd. 001C62 LG Electronics Inc 001C63 TRUEN 001C64 Cellnet+Hunt 001C65 JoeScan, Inc. 001C66 UCAMP CO.,LTD 001C67 Pumpkin Networks, Inc. 001C68 Anhui Sun Create Electronics Co., Ltd 001C69 Packet Vision Ltd 001C6A Weiss Engineering Ltd. 001C6B COVAX Co. Ltd 001C6C Jabil Circuit (Guangzhou) Limited 001C6D KYOHRITSU ELECTRONIC INDUSTRY CO., LTD. 001C6E Newbury Networks, Inc. 001C6F Emfit Ltd 001C70 NOVACOMM LTDA 001C71 Emergent Electronics 001C72 Mayer & Cie GmbH & Co KG 001C73 Arista Networks, Inc. 001C74 Syswan Technologies Inc. 001C75 RF Systems GmbH 001C76 The Wandsworth Group Ltd 001C77 Prodys 001C78 WYPLAY SAS 001C79 Cohesive Financial Technologies LLC 001C7A Perfectone Netware Company Ltd 001C7B Castlenet Technology Inc. 001C7C PERQ SYSTEMS CORPORATION 001C7D Excelpoint Manufacturing Pte Ltd 001C7E Toshiba 001C7F Check Point Software Technologies 001C80 New Business Division/Rhea-Information CO., LTD. 001C81 NextGen Venturi LTD 001C82 Genew Technologies 001C83 New Level Telecom Co., Ltd. 001C84 STL Solution Co.,Ltd. 001C85 Eunicorn 001C86 Cranite Systems, Inc. 001C87 Uriver Inc. 001C88 TRANSYSTEM INC. 001C89 Force Communications, Inc. 001C8A Cirrascale Corporation 001C8B MJ Innovations Ltd. 001C8C DIAL TECHNOLOGY LTD. 001C8D Mesa Imaging 001C8E Alcatel-Lucent IPD 001C8F Advanced Electronic Design, Inc. 001C90 Empacket Corporation 001C91 Gefen Inc. 001C92 Tervela 001C93 ExaDigm Inc 001C94 LI-COR Biosciences 001C95 Opticomm Corporation 001C96 Linkwise Technology Pte Ltd 001C97 Enzytek Technology Inc., 001C98 LUCKY TECHNOLOGY (HK) COMPANY LIMITED 001C99 Shunra Software Ltd. 001C9A Nokia Danmark A/S 001C9B FEIG ELECTRONIC GmbH 001C9C Nortel 001C9D Liecthi AG 001C9E Dualtech IT AB 001C9F Razorstream, LLC 001CA0 Production Resource Group, LLC 001CA1 AKAMAI TECHNOLOGIES, INC. 001CA2 PIRELLI BROADBAND SOLUTIONS 001CA3 Terra 001CA4 Sony Ericsson Mobile Communications 001CA5 Zygo Corporation 001CA6 Win4NET 001CA7 International Quartz Limited 001CA8 AirTies Wireless Networks 001CA9 Audiomatica Srl 001CAA Bellon Pty Ltd 001CAB Meyer Sound Laboratories, Inc. 001CAC Qniq Technology Corp. 001CAD Wuhan Telecommunication Devices Co.,Ltd 001CAE WiChorus, Inc. 001CAF Plato Networks Inc. 001CB0 Cisco Systems 001CB1 Cisco Systems 001CB2 BPT SPA 001CB3 APPLE, INC 001CB4 Iridium Satellite LLC 001CB5 Neihua Network Technology Co.,LTD.(NHN) 001CB6 Duzon CNT Co., Ltd. 001CB7 USC DigiArk Corporation 001CB8 CBC Co., Ltd 001CB9 KWANG SUNG ELECTRONICS CO., LTD. 001CBA VerScient, Inc. 001CBB MusicianLink 001CBC CastGrabber, LLC 001CBD Ezze Mobile Tech., Inc. 001CBE Nintendo Co., Ltd. 001CBF Intel Corporate 001CC0 Intel Corporate 001CC1 Motorola Mobile Devices 001CC2 Part II Research, Inc. 001CC3 Pace plc 001CC4 Hewlett Packard 001CC5 3COM LTD 001CC6 ProStor Systems 001CC7 Rembrandt Technologies, LLC d/b/a REMSTREAM 001CC8 INDUSTRONIC Industrie-Electronic GmbH & Co. KG 001CC9 Kaise Electronic Technology Co., Ltd. 001CCA Shanghai Gaozhi Science & Technology Development Co. 001CCB Forth Corporation Public Company Limited 001CCC Research In Motion Limited 001CCD Alektrona Corporation 001CCE By Techdesign 001CCF LIMETEK 001CD0 Circleone Co.,Ltd. 001CD1 Waves Audio LTD 001CD2 King Champion (Hong Kong) Limited 001CD3 ZP Engineering SEL 001CD4 Nokia Danmark A/S 001CD5 ZeeVee, Inc. 001CD6 Nokia Danmark A/S 001CD7 Harman/Becker Automotive Systems GmbH 001CD8 BlueAnt Wireless 001CD9 GlobalTop Technology Inc. 001CDA Exegin Technologies Limited 001CDB CARPOINT CO.,LTD 001CDC Custom Computer Services, Inc. 001CDD COWBELL ENGINEERING CO., LTD. 001CDE Interactive Multimedia eXchange Inc. 001CDF Belkin International Inc. 001CE0 DASAN TPS 001CE1 INDRA SISTEMAS, S.A. 001CE2 Attero Tech, LLC. 001CE3 Optimedical Systems 001CE4 EleSy JSC 001CE5 MBS Electronic Systems GmbH 001CE6 INNES 001CE7 Rocon PLC Research Centre 001CE8 Cummins Inc 001CE9 Galaxy Technology Limited 001CEA Scientific-Atlanta, Inc 001CEB Nortel 001CEC Mobilesoft (Aust.) Pty Ltd 001CED ENVIRONNEMENT SA 001CEE SHARP Corporation 001CEF Primax Electronics LTD 001CF0 D-Link Corporation 001CF1 SUPoX Technology Co. , LTD. 001CF2 Tenlon Technology Co.,Ltd. 001CF3 EVS BROADCAST EQUIPMENT 001CF4 Media Technology Systems Inc 001CF5 Wiseblue Technology Limited 001CF6 Cisco Systems 001CF7 AudioScience 001CF8 Parade Technologies, Ltd. 001CF9 Cisco Systems 001CFA Alarm.com 001CFB Motorola Mobility, Inc. 001CFC Suminet Communication Technologies (Shanghai) Co., Ltd. 001CFD Universal Electronics 001CFE Quartics Inc 001CFF Napera Networks Inc 001D00 Brivo Systems, LLC 001D01 Neptune Digital 001D02 Cybertech Telecom Development 001D03 Design Solutions Inc. 001D04 Zipit Wireless, Inc. 001D05 iLight 001D06 HM Electronics, Inc. 001D07 Shenzhen Sang Fei Consumer Communications Co.,Ltd 001D08 JIANGSU YINHE ELECTRONICS CO., LTD 001D09 Dell Inc 001D0A Davis Instruments, Inc. 001D0B Power Standards Lab 001D0C MobileCompia 001D0D Sony Computer Entertainment inc. 001D0E Agapha Technology co., Ltd. 001D0F TP-LINK Technologies Co., Ltd. 001D10 LightHaus Logic, Inc. 001D11 Analogue & Micro Ltd 001D12 ROHM CO., LTD. 001D13 NextGTV 001D14 SPERADTONE INFORMATION TECHNOLOGY LIMITED 001D15 Shenzhen Dolphin Electronic Co., Ltd 001D16 Efixo 001D17 Digital Sky Corporation 001D18 Power Innovation GmbH 001D19 Arcadyan Technology Corporation 001D1A OvisLink S.A. 001D1B Sangean Electronics Inc. 001D1C Gennet s.a. 001D1D Inter-M Corporation 001D1E KYUSHU TEN CO.,LTD 001D1F Siauliu Tauro Televizoriai, JSC 001D20 COMTREND CO. 001D21 Alcad SL 001D22 Foss Analytical A/S 001D23 SENSUS 001D24 Aclara Power-Line Systems Inc. 001D25 Samsung Electronics Co.,Ltd 001D26 Rockridgesound Technology Co. 001D27 NAC-INTERCOM 001D28 Sony Ericsson Mobile Communications AB 001D29 Doro AB 001D2A Tideway Electronic LTD 001D2B Wuhan Pont Technology CO. , LTD 001D2C Wavetrend Technologies (Pty) Limited 001D2D Pylone, Inc. 001D2E Ruckus Wireless 001D2F QuantumVision Corporation 001D30 YX Wireless S.A. 001D31 HIGHPRO INTERNATIONAL R&D CO,.LTD. 001D32 Longkay Communication & Technology (Shanghai) Co. Ltd 001D33 Maverick Systems Inc. 001D34 SYRIS Technology Corp 001D35 Viconics Electronics Inc. 001D36 ELECTRONICS CORPORATION OF INDIA LIMITED 001D37 Thales-Panda Transportation System 001D38 Seagate Technology 001D39 MOOHADIGITAL CO., LTD 001D3A mh acoustics LLC 001D3B Nokia Danmark A/S 001D3C Muscle Corporation 001D3D Avidyne Corporation 001D3E SAKA TECHNO SCIENCE CO.,LTD 001D3F Mitron Pty Ltd 001D40 Living Independently Group, Inc. 001D41 Hardy Instruments 001D42 Nortel 001D43 Shenzhen G-link Digital Technology Co., Ltd. 001D44 Krohne 001D45 Cisco Systems 001D46 Cisco Systems 001D47 Covote GmbH & Co KG 001D48 Sensor-Technik Wiedemann GmbH 001D49 Innovation Wireless Inc. 001D4A Carestream Health, Inc. 001D4B Grid Connect Inc. 001D4C Alcatel-Lucent 001D4D Adaptive Recognition Hungary, Inc 001D4E TCM Mobile LLC 001D4F Apple Computer Inc. 001D50 SPINETIX SA 001D51 GE Energy 001D52 Defzone B.V. 001D53 S&O Electronics (Malaysia) Sdn. Bhd. 001D54 Sunnic Technology & Merchandise INC. 001D55 ZANTAZ, Inc 001D56 Kramer Electronics Ltd. 001D57 CAETEC Messtechnik 001D58 CQ Inc 001D59 Mitra Energy & Infrastructure 001D5A 2Wire Inc. 001D5B Tecvan Informatica Ltda 001D5C Tom Communication Industrial Co.,Ltd. 001D5D Control Dynamics Pty. Ltd. 001D5E COMING MEDIA CORP. 001D5F OverSpeed SARL 001D60 ASUSTek COMPUTER INC. 001D61 BIJ Corporation 001D62 InPhase Technologies 001D63 Miele & Cie. KG 001D64 Adam Communications Systems Int Ltd 001D65 Microwave Radio Communications 001D66 Hyundai Telecom 001D67 AMEC 001D68 Thomson Telecom Belgium 001D69 Knorr-Bremse AG 001D6A Alpha Networks Inc. 001D6B Motorola (formerly Netopia, Inc 001D6C ClariPhy Communications, Inc. 001D6D Confidant International LLC 001D6E Nokia Danmark A/S 001D6F Chainzone Technology Co., Ltd 001D70 Cisco Systems 001D71 Cisco Systems 001D72 Wistron Corporation 001D73 Buffalo Inc. 001D74 Tianjin China-Silicon Microelectronics Co., Ltd. 001D75 Radioscape PLC 001D76 Eyeheight Ltd. 001D77 NSGate 001D78 Invengo Information Technology Co.,Ltd 001D79 SIGNAMAX LLC 001D7A Wideband Semiconductor, Inc. 001D7B Ice Energy, Inc. 001D7C ABE Elettronica S.p.A. 001D7D GIGA-BYTE TECHNOLOGY CO.,LTD. 001D7E Cisco-Linksys, LLC 001D7F Tekron International Ltd 001D80 Beijing Huahuan Eletronics Co.,Ltd 001D81 GUANGZHOU GATEWAY ELECTRONICS CO., LTD 001D82 GN A/S (GN Netcom A/S) 001D83 Emitech Corporation 001D84 Gateway, Inc. 001D85 Call Direct Cellular Solutions 001D86 Shinwa Industries(China) Ltd. 001D87 VigTech Labs Sdn Bhd 001D88 Clearwire 001D89 VaultStor Corporation 001D8A TechTrex Inc 001D8B PIRELLI BROADBAND SOLUTIONS 001D8C La Crosse Technology LTD 001D8D Raytek GmbH 001D8E Alereon, Inc. 001D8F PureWave Networks 001D90 EMCO Flow Systems 001D91 Digitize, Inc 001D92 MICRO-STAR INT'L CO.,LTD. 001D93 Modacom 001D94 Climax Technology Co., Ltd 001D95 Flash, Inc. 001D96 WatchGuard Video 001D97 Alertus Technologies LLC 001D98 Nokia Danmark A/S 001D99 Cyan Optic, Inc. 001D9A GODEX INTERNATIONAL CO., LTD 001D9B Hokuyo Automatic Co., Ltd. 001D9C Rockwell Automation 001D9D ARTJOY INTERNATIONAL LIMITED 001D9E AXION TECHNOLOGIES 001D9F MATT R.P.Traczynscy Sp.J. 001DA0 Heng Yu Electronic Manufacturing Company Limited 001DA1 Cisco Systems 001DA2 Cisco Systems 001DA3 SabiOso 001DA4 Hangzhou System Technology CO., LTD 001DA5 WB Electronics 001DA6 Media Numerics Limited 001DA7 Seamless Internet 001DA8 Takahata Electronics Co.,Ltd 001DA9 Castles Technology, Co., LTD 001DAA DrayTek Corp. 001DAB SwissQual License AG 001DAC Gigamon Systems LLC 001DAD Sinotech Engineering Consultants, Inc. Geotechnical Enginee 001DAE CHANG TSENG TECHNOLOGY CO., LTD 001DAF Nortel 001DB0 FuJian HengTong Information Technology Co.,Ltd 001DB1 Crescendo Networks 001DB2 HOKKAIDO ELECTRIC ENGINEERING CO.,LTD. 001DB3 ProCurve Networking by HP 001DB4 KUMHO ENG CO.,LTD 001DB5 Juniper networks 001DB6 BestComm Networks, Inc. 001DB7 Tendril Networks, Inc. 001DB8 Intoto Inc. 001DB9 Wellspring Wireless 001DBA Sony Corporation 001DBB Dynamic System Electronics Corp. 001DBC Nintendo Co., Ltd. 001DBD Versamed Inc. 001DBE Motorola Mobile Devices 001DBF Radiient Technologies, Inc. 001DC0 Enphase Energy 001DC1 Audinate Pty L 001DC2 XORTEC OY 001DC3 RIKOR TV, Ltd 001DC4 AIOI Systems Co., Ltd. 001DC5 Beijing Jiaxun Feihong Electricial Co., Ltd. 001DC6 SNR Inc. 001DC7 L-3 Communications Geneva Aerospace 001DC8 ScadaMetrcs, LLC. 001DC9 GainSpan Corp. 001DCA PAV Electronics Limited 001DCB Exéns Development Oy 001DCC Hetra Secure Solutions 001DCD ARRIS Group, Inc. 001DCE ARRIS Group, Inc. 001DCF ARRIS Group, Inc. 001DD0 ARRIS Group, Inc. 001DD1 ARRIS Group, Inc. 001DD2 ARRIS Group, Inc. 001DD3 ARRIS Group, Inc. 001DD4 ARRIS Group, Inc. 001DD5 ARRIS Group, Inc. 001DD6 ARRIS Group, Inc. 001DD7 Algolith 001DD8 Microsoft Corporation 001DD9 Hon Hai Precision Ind.Co.,Ltd. 001DDA Mikroelektronika spol. s r. o. 001DDB C-BEL Corporation 001DDC HangZhou DeChangLong Tech&Info Co.,Ltd 001DDD DAT H.K. LIMITED 001DDE Zhejiang Broadcast&Television Technology Co.,Ltd. 001DDF Sunitec Enterprise Co., Ltd. 001DE0 Intel Corporate 001DE1 Intel Corporate 001DE2 Radionor Communications 001DE3 Intuicom 001DE4 Visioneered Image Systems 001DE5 Cisco Systems 001DE6 Cisco Systems 001DE7 Marine Sonic Technology, Ltd. 001DE8 Nikko Denki Tsushin Company(NDTC) 001DE9 Nokia Danmark A/S 001DEA Commtest Instruments Ltd 001DEB DINEC International 001DEC Marusys 001DED Grid Net, Inc. 001DEE NEXTVISION SISTEMAS DIGITAIS DE TELEVISÃO LTDA. 001DEF TRIMM, INC. 001DF0 Vidient Systems, Inc. 001DF1 Intego Systems, Inc. 001DF2 Netflix, Inc. 001DF3 SBS Science & Technology Co., Ltd 001DF4 Magellan Technology Pty Limited 001DF5 Sunshine Co,LTD 001DF6 Samsung Electronics Co.,Ltd 001DF7 R. STAHL Schaltgeräte GmbH 001DF8 Webpro Vision Technology Corporation 001DF9 Cybiotronics (Far East) Limited 001DFA Fujian LANDI Commercial Equipment Co.,Ltd 001DFB NETCLEUS Systems Corporation 001DFC KSIC 001DFD Nokia Danmark A/S 001DFE Palm, Inc 001DFF Network Critical Solutions Ltd 001E00 Shantou Institute of Ultrasonic Instruments 001E01 Renesas Technology Sales Co., Ltd. 001E02 Sougou Keikaku Kougyou Co.,Ltd. 001E03 LiComm Co., Ltd. 001E04 Hanson Research Corporation 001E05 Xseed Technologies & Computing 001E06 WIBRAIN 001E07 Winy Technology Co., Ltd. 001E08 Centec Networks Inc 001E09 ZEFATEK Co.,LTD 001E0A Syba Tech Limited 001E0B Hewlett Packard 001E0C Sherwood Information Partners, Inc. 001E0D Micran Ltd. 001E0E MAXI VIEW HOLDINGS LIMITED 001E0F Briot International 001E10 ShenZhen Huawei Communication Technologies Co.,Ltd. 001E11 ELELUX INTERNATIONAL LTD 001E12 Ecolab 001E13 Cisco Systems 001E14 Cisco Systems 001E15 Beech Hill Electronics 001E16 Keytronix 001E17 STN BV 001E18 Radio Activity srl 001E19 GTRI 001E1A Best Source Taiwan Inc. 001E1B Digital Stream Technology, Inc. 001E1C SWS Australia Pty Limited 001E1D East Coast Datacom, Inc. 001E1E Honeywell Life Safety 001E1F Nortel 001E20 Intertain Inc. 001E21 Qisda Co. 001E22 ARVOO Imaging Products BV 001E23 Electronic Educational Devices, Inc 001E24 Zhejiang Bell Technology Co.,ltd 001E25 Intek Digital Inc 001E26 Digifriends Co. Ltd 001E27 SBN TECH Co.,Ltd. 001E28 Lumexis Corporation 001E29 Hypertherm Inc 001E2A Netgear Inc. 001E2B Radio Systems Design, Inc. 001E2C CyVerse Corporation 001E2D STIM 001E2E SIRTI S.p.A. 001E2F DiMoto Pty Ltd 001E30 Shireen Inc 001E31 INFOMARK CO.,LTD. 001E32 Zensys 001E33 Inventec Corporation 001E34 CryptoMetrics 001E35 Nintendo Co., Ltd. 001E36 IPTE 001E37 Universal Global Scientific Industrial Co., Ltd. 001E38 Bluecard Software Technology Co., Ltd. 001E39 Comsys Communication Ltd. 001E3A Nokia Danmark A/S 001E3B Nokia Danmark A/S 001E3C Lyngbox Media AB 001E3D Alps Electric Co., Ltd 001E3E KMW Inc. 001E3F TrellisWare Technologies, Inc. 001E40 Shanghai DareGlobal Technologies Co.,Ltd. 001E41 Microwave Communication & Component, Inc. 001E42 Teltonika 001E43 AISIN AW CO.,LTD. 001E44 SANTEC 001E45 Sony Ericsson Mobile Communications AB 001E46 Motorola Mobility, Inc. 001E47 PT. Hariff Daya Tunggal Engineering 001E48 Wi-Links 001E49 Cisco Systems 001E4A Cisco Systems 001E4B City Theatrical 001E4C Hon Hai Precision Ind.Co., Ltd. 001E4D Welkin Sciences, LLC 001E4E DAKO EDV-Ingenieur- und Systemhaus GmbH 001E4F Dell Inc. 001E50 BATTISTONI RESEARCH 001E51 Converter Industry Srl 001E52 Apple Computer Inc 001E53 Further Tech Co., LTD 001E54 TOYO ELECTRIC Corporation 001E55 COWON SYSTEMS,Inc. 001E56 Bally Wulff Entertainment GmbH 001E57 ALCOMA, spol. s r.o. 001E58 D-Link Corporation 001E59 Silicon Turnkey Express, LLC 001E5A Motorola Mobility, Inc. 001E5B Unitron Company, Inc. 001E5C RB GeneralEkonomik 001E5D Holosys d.o.o. 001E5E COmputime Ltd. 001E5F KwikByte, LLC 001E60 Digital Lighting Systems, Inc 001E61 ITEC GmbH 001E62 Siemon 001E63 Vibro-Meter SA 001E64 Intel Corporate 001E65 Intel Corporate 001E66 RESOL Elektronische Regelungen GmbH 001E67 Intel Corporate 001E68 Quanta Computer 001E69 Thomson Inc. 001E6A Beijing Bluexon Technology Co.,Ltd 001E6B Scientific Atlanta, A Cisco Company 001E6C Carbon Mountain LLC 001E6D IT R&D Center 001E6E Shenzhen First Mile Communications Ltd 001E6F Magna-Power Electronics, Inc. 001E70 Cobham Defence Communications Ltd 001E71 IgeaCare Systems Inc. 001E72 PCS 001E73 ZTE CORPORATION 001E74 SAGEM COMMUNICATION 001E75 LG Electronics 001E76 Thermo Fisher Scientific 001E77 Air2App 001E78 Owitek Technology Ltd., 001E79 Cisco Systems 001E7A Cisco Systems 001E7B R.I.CO. S.r.l. 001E7C Taiwick Limited 001E7D Samsung Electronics Co.,Ltd 001E7E Nortel 001E7F CBM of America 001E80 Last Mile Ltd. 001E81 CNB Technology Inc. 001E82 Pliant Technology, Inc. 001E83 LAN/MAN Standards Association (LMSC) 001E84 Pika Technologies Inc. 001E85 Lagotek Corporation 001E86 MEL Co.,Ltd. 001E87 Realease Limited 001E88 ANDOR SYSTEM SUPPORT CO., LTD. 001E89 CRFS Limited 001E8A eCopy, Inc 001E8B Infra Access Korea Co., Ltd. 001E8C ASUSTek COMPUTER INC. 001E8D Motorola Mobile Devices 001E8E Hunkeler AG 001E8F CANON INC. 001E90 Elitegroup Computer Systems Co 001E91 KIMIN Electronic Co., Ltd. 001E92 JEULIN S.A. 001E93 CiriTech Systems Inc 001E94 SUPERCOM TECHNOLOGY CORPORATION 001E95 SIGMALINK 001E96 Sepura Plc 001E97 Medium Link System Technology CO., LTD, 001E98 GreenLine Communications 001E99 Vantanol Industrial Corporation 001E9A HAMILTON Bonaduz AG 001E9B San-Eisha, Ltd. 001E9C Fidustron INC 001E9D Recall Technologies, Inc. 001E9E ddm hopt + schuler Gmbh + Co. KG 001E9F Visioneering Systems, Inc. 001EA0 XLN-t 001EA1 Brunata a/s 001EA2 Symx Systems, Inc. 001EA3 Nokia Danmark A/S 001EA4 Nokia Danmark A/S 001EA5 ROBOTOUS, Inc. 001EA6 Best IT World (India) Pvt. Ltd. 001EA7 ActionTec Electronics, Inc 001EA8 Datang Mobile Communications Equipment CO.,LTD 001EA9 Nintendo Co., Ltd. 001EAA E-Senza Technologies GmbH 001EAB TeleWell Oy 001EAC Armadeus Systems 001EAD Wingtech Group Limited 001EAE Continental Automotive Systems 001EAF Ophir Optronics Ltd 001EB0 ImesD Electronica S.L. 001EB1 Cryptsoft Pty Ltd 001EB2 LG innotek 001EB3 Primex Wireless 001EB4 UNIFAT TECHNOLOGY LTD. 001EB5 Ever Sparkle Technologies Ltd 001EB6 TAG Heuer SA 001EB7 TBTech, Co., Ltd. 001EB8 Fortis, Inc. 001EB9 Sing Fai Technology Limited 001EBA High Density Devices AS 001EBB BLUELIGHT TECHNOLOGY INC. 001EBC WINTECH AUTOMATION CO.,LTD. 001EBD Cisco Systems 001EBE Cisco Systems 001EBF Haas Automation Inc. 001EC0 Microchip Technology Inc. 001EC1 3COM EUROPE LTD 001EC2 Apple, Inc 001EC3 Kozio, Inc. 001EC4 Celio Corp 001EC5 Middle Atlantic Products Inc 001EC6 Obvius Holdings LLC 001EC7 2Wire 001EC8 Rapid Mobile (Pty) Ltd 001EC9 Dell Inc 001ECA Nortel 001ECB "RPC "Energoautomatika" Ltd 001ECC CDVI 001ECD KYLAND 001ECE BISA Technologies (Hong Kong) Limited 001ECF PHILIPS ELECTRONICS UK LTD 001ED0 CONNEXIUM 001ED1 Keyprocessor B.V. 001ED2 Ray Shine Video Technology Inc 001ED3 Dot Technology Int'l Co., Ltd. 001ED4 Doble Engineering 001ED5 Tekon-Automatics 001ED6 Alentec & Orion AB 001ED7 H-Stream Wireless, Inc. 001ED8 Digital United Inc. 001ED9 Mitsubishi Precision Co.,LTd. 001EDA Wesemann Elektrotechniek B.V. 001EDB Giken Trastem Co., Ltd. 001EDC Sony Ericsson Mobile Communications AB 001EDD WASKO S.A. 001EDE BYD COMPANY LIMITED 001EDF Master Industrialization Center Kista 001EE0 Urmet Domus SpA 001EE1 Samsung Electronics Co.,Ltd 001EE2 Samsung Electronics Co.,Ltd 001EE3 T&W Electronics (ShenZhen) Co.,Ltd 001EE4 ACS Solutions France 001EE5 Cisco-Linksys, LLC 001EE6 Shenzhen Advanced Video Info-Tech Co., Ltd. 001EE7 Epic Systems Inc 001EE8 Mytek 001EE9 Stoneridge Electronics AB 001EEA Sensor Switch, Inc. 001EEB Talk-A-Phone Co. 001EEC COMPAL INFORMATION (KUNSHAN) CO., LTD. 001EED Adventiq Ltd. 001EEE ETL Systems Ltd 001EEF Cantronic International Limited 001EF0 Gigafin Networks 001EF1 Servimat 001EF2 Micro Motion Inc 001EF3 From2 001EF4 L-3 Communications Display Systems 001EF5 Hitek Automated Inc. 001EF6 Cisco Systems 001EF7 Cisco Systems 001EF8 Emfinity Inc. 001EF9 Pascom Kommunikations systeme GmbH. 001EFA PROTEI Ltd. 001EFB Trio Motion Technology Ltd 001EFC JSC "MASSA-K" 001EFD Microbit 2.0 AB 001EFE LEVEL s.r.o. 001EFF Mueller-Elektronik GmbH & Co. KG 001F00 Nokia Danmark A/S 001F01 Nokia Danmark A/S 001F02 Pixelmetrix Corporation Pte Ltd 001F03 NUM AG 001F04 Granch Ltd. 001F05 iTAS Technology Corp. 001F06 Integrated Dispatch Solutions 001F07 AZTEQ Mobile 001F08 RISCO LTD 001F09 JASTEC CO., LTD. 001F0A Nortel 001F0B Federal State Unitary Enterprise Industrial Union"Electropribor" 001F0C Intelligent Digital Services GmbH 001F0D L3 Communications - Telemetry West 001F0E Japan Kyastem Co., Ltd 001F0F Select Engineered Systems 001F10 TOLEDO DO BRASIL INDUSTRIA DE BALANCAS LTDA 001F11 OPENMOKO, INC. 001F12 Juniper Networks 001F13 S.& A.S. Ltd. 001F14 NexG 001F15 Bioscrypt Inc 001F16 Wistron Corporation 001F17 IDX Company, Ltd. 001F18 Hakusan.Mfg.Co,.Ltd 001F19 BEN-RI ELECTRONICA S.A. 001F1A Prominvest 001F1B RoyalTek Company Ltd. 001F1C KOBISHI ELECTRIC Co.,Ltd. 001F1D Atlas Material Testing Technology LLC 001F1E Astec Technology Co., Ltd 001F1F Edimax Technology Co. Ltd. 001F20 Logitech Europe SA 001F21 Inner Mongolia Yin An Science & Technology Development Co.,L 001F22 Fiberxon, Inc. 001F23 Interacoustics 001F24 DIGITVIEW TECHNOLOGY CO., LTD. 001F25 MBS GmbH 001F26 Cisco Systems 001F27 Cisco Systems 001F28 ProCurve Networking by HP 001F29 Hewlett Packard 001F2A ACCM 001F2B Orange Logic 001F2C Starbridge Networks 001F2D Electro-Optical Imaging, Inc. 001F2E Triangle Research Int'l Pte Ltd 001F2F Berker GmbH & Co. KG 001F30 Travelping 001F31 Radiocomp 001F32 Nintendo Co., Ltd. 001F33 Netgear Inc. 001F34 Lung Hwa Electronics Co., Ltd. 001F35 AIR802 LLC 001F36 Bellwin Information Co. Ltd., 001F37 Genesis I&C 001F38 POSITRON 001F39 Construcciones y Auxiliar de Ferrocarriles, S.A. 001F3A Hon Hai Precision Ind.Co., Ltd. 001F3B Intel Corporate 001F3C Intel Corporate 001F3D Qbit GmbH 001F3E RP-Technik e.K. 001F3F AVM GmbH 001F40 Speakercraft Inc. 001F41 Ruckus Wireless 001F42 Etherstack Pty Ltd 001F43 ENTES ELEKTRONIK 001F44 GE Transportation Systems 001F45 Enterasys 001F46 Nortel 001F47 MCS Logic Inc. 001F48 Mojix Inc. 001F49 Eurosat Distribution Ltd 001F4A Albentia Systems S.A. 001F4B Lineage Power 001F4C Roseman Engineering Ltd 001F4D Segnetics LLC 001F4E ConMed Linvatec 001F4F Thinkware Co. Ltd. 001F50 Swissdis AG 001F51 HD Communications Corp 001F52 UVT Unternehmensberatung für Verkehr und Technik GmbH 001F53 GEMAC Gesellschaft für Mikroelektronikanwendung Chemnitz mbH 001F54 Lorex Technology Inc. 001F55 Honeywell Security (China) Co., Ltd. 001F56 DIGITAL FORECAST 001F57 Phonik Innovation Co.,LTD 001F58 EMH Energiemesstechnik GmbH 001F59 Kronback Tracers 001F5A Beckwith Electric Co. 001F5B Apple, Inc. 001F5C Nokia Danmark A/S 001F5D Nokia Danmark A/S 001F5E Dyna Technology Co.,Ltd. 001F5F Blatand GmbH 001F60 COMPASS SYSTEMS CORP. 001F61 Talent Communication Networks Inc. 001F62 JSC "Stilsoft" 001F63 JSC Goodwin-Europa 001F64 Beijing Autelan Technology Inc. 001F65 KOREA ELECTRIC TERMINAL CO., LTD. 001F66 PLANAR LLC 001F67 Hitachi,Ltd. 001F68 Martinsson Elektronik AB 001F69 Pingood Technology Co., Ltd. 001F6A PacketFlux Technologies, Inc. 001F6B LG Electronics 001F6C Cisco Systems 001F6D Cisco Systems 001F6E Vtech Engineering Corporation 001F6F Fujian Sunnada Communication Co.,Ltd. 001F70 Botik Technologies LTD 001F71 xG Technology, Inc. 001F72 QingDao Hiphone Technology Co,.Ltd 001F73 Teraview Technology Co., Ltd. 001F74 Eigen Development 001F75 GiBahn Media 001F76 AirLogic Systems Inc. 001F77 HEOL DESIGN 001F78 Blue Fox Porini Textile 001F79 Lodam Electronics A/S 001F7A WiWide Inc. 001F7B TechNexion Ltd. 001F7C Witelcom AS 001F7D embedded wireless GmbH 001F7E Motorola Mobile Devices 001F7F Phabrix Limited 001F80 Lucas Holding bv 001F81 Accel Semiconductor Corp 001F82 Cal-Comp Electronics & Communications Co., Ltd 001F83 Teleplan Technology Services Sdn Bhd 001F84 Gigle Semiconductor 001F85 Apriva ISS, LLC 001F86 digEcor 001F87 Skydigital Inc. 001F88 FMS Force Measuring Systems AG 001F89 Signalion GmbH 001F8A Ellion Digital Inc. 001F8B Storspeed, Inc. 001F8C CCS Inc. 001F8D Ingenieurbuero Stark GmbH und Ko. KG 001F8E Metris USA Inc. 001F8F Shanghai Bellmann Digital Source Co.,Ltd. 001F90 Actiontec Electronics, Inc 001F91 DBS Lodging Technologies, LLC 001F92 VideoIQ, Inc. 001F93 Xiotech Corporation 001F94 Lascar Electronics Ltd 001F95 SAGEM COMMUNICATION 001F96 APROTECH CO.LTD 001F97 BERTANA SRL 001F98 DAIICHI-DENTSU LTD. 001F99 SERONICS co.ltd 001F9A Nortel Networks 001F9B POSBRO 001F9C LEDCO 001F9D Cisco Systems 001F9E Cisco Systems 001F9F Thomson Telecom Belgium 001FA0 A10 Networks 001FA1 Gtran Inc 001FA2 Datron World Communications, Inc. 001FA3 T&W Electronics(Shenzhen)Co.,Ltd. 001FA4 ShenZhen Gongjin Electronics Co.,Ltd 001FA5 Blue-White Industries 001FA6 Stilo srl 001FA7 Sony Computer Entertainment Inc. 001FA8 Smart Energy Instruments Inc. 001FA9 Atlanta DTH, Inc. 001FAA Taseon, Inc. 001FAB I.S HIGH TECH.INC 001FAC Goodmill Systems Ltd 001FAD Brown Innovations, Inc 001FAE Blick South Africa (Pty) Ltd 001FAF NextIO, Inc. 001FB0 TimeIPS, Inc. 001FB1 Cybertech Inc. 001FB2 Sontheim Industrie Elektronik GmbH 001FB3 2Wire 001FB4 SmartShare Systems 001FB5 I/O Interconnect Inc. 001FB6 Chi Lin Technology Co., Ltd. 001FB7 WiMate Technologies Corp. 001FB8 Universal Remote Control, Inc. 001FB9 Paltronics 001FBA BoYoung Tech. & Marketing, Inc. 001FBB Xenatech Co.,LTD 001FBC EVGA Corporation 001FBD Kyocera Wireless Corp. 001FBE Shenzhen Mopnet Industrial Co.,Ltd 001FBF Fulhua Microelectronics Corp. Taiwan Branch 001FC0 Control Express Finland Oy 001FC1 Hanlong Technology Co.,LTD 001FC2 Jow Tong Technology Co Ltd 001FC3 SmartSynch, Inc 001FC4 Motorola Mobility, Inc. 001FC5 Nintendo Co., Ltd. 001FC6 ASUSTek COMPUTER INC. 001FC7 Casio Hitachi Mobile Comunications Co., Ltd. 001FC8 Up-Today Industrial Co., Ltd. 001FC9 Cisco Systems 001FCA Cisco Systems 001FCB NIW Solutions 001FCC Samsung Electronics Co.,Ltd 001FCD Samsung Electronics 001FCE QTECH LLC 001FCF MSI Technology GmbH 001FD0 GIGA-BYTE TECHNOLOGY CO.,LTD. 001FD1 OPTEX CO.,LTD. 001FD2 COMMTECH TECHNOLOGY MACAO COMMERCIAL OFFSHORE LTD. 001FD3 RIVA Networks Inc. 001FD4 4IPNET, INC. 001FD5 MICRORISC s.r.o. 001FD6 Shenzhen Allywll 001FD7 TELERAD SA 001FD8 A-TRUST COMPUTER CORPORATION 001FD9 RSD Communications Ltd 001FDA Nortel Networks 001FDB Network Supply Corp., 001FDC Mobile Safe Track Ltd 001FDD GDI LLC 001FDE Nokia Danmark A/S 001FDF Nokia Danmark A/S 001FE0 EdgeVelocity Corp 001FE1 Hon Hai Precision Ind. Co., Ltd. 001FE2 Hon Hai Precision Ind. Co., Ltd. 001FE3 LG Electronics 001FE4 Sony Ericsson Mobile Communications 001FE5 In-Circuit GmbH 001FE6 Alphion Corporation 001FE7 Simet 001FE8 KURUSUGAWA Electronics Industry Inc,. 001FE9 Printrex, Inc. 001FEA Applied Media Technologies Corporation 001FEB Trio Datacom Pty Ltd 001FEC Synapse électronique 001FED Tecan Systems Inc. 001FEE ubisys technologies GmbH 001FEF SHINSEI INDUSTRIES CO.,LTD 001FF0 Audio Partnership 001FF1 Paradox Hellas S.A. 001FF2 VIA Technologies, Inc. 001FF3 Apple, Inc 001FF4 Power Monitors, Inc. 001FF5 Kongsberg Defence & Aerospace 001FF6 PS Audio International 001FF7 Nakajima All Precision Co., Ltd. 001FF8 Siemens AG, Sector Industry, Drive Technologies, Motion Control Systems 001FF9 Advanced Knowledge Associates 001FFA Coretree, Co, Ltd 001FFB Green Packet Bhd 001FFC Riccius+Sohn GmbH 001FFD Indigo Mobile Technologies Corp. 001FFE ProCurve Networking by HP 001FFF Respironics, Inc. 002000 LEXMARK INTERNATIONAL, INC. 002001 DSP SOLUTIONS, INC. 002002 SERITECH ENTERPRISE CO., LTD. 002003 PIXEL POWER LTD. 002004 YAMATAKE-HONEYWELL CO., LTD. 002005 SIMPLE TECHNOLOGY 002006 GARRETT COMMUNICATIONS, INC. 002007 SFA, INC. 002008 CABLE & COMPUTER TECHNOLOGY 002009 PACKARD BELL ELEC., INC. 00200A SOURCE-COMM CORP. 00200B OCTAGON SYSTEMS CORP. 00200C ADASTRA SYSTEMS CORP. 00200D CARL ZEISS 00200E SATELLITE TECHNOLOGY MGMT, INC 00200F TANBAC CO., LTD. 002010 JEOL SYSTEM TECHNOLOGY CO. LTD 002011 CANOPUS CO., LTD. 002012 CAMTRONICS MEDICAL SYSTEMS 002013 DIVERSIFIED TECHNOLOGY, INC. 002014 GLOBAL VIEW CO., LTD. 002015 ACTIS COMPUTER SA 002016 SHOWA ELECTRIC WIRE & CABLE CO 002017 ORBOTECH 002018 CIS TECHNOLOGY INC. 002019 OHLER GmbH 00201A MRV Communications, Inc. 00201B NORTHERN TELECOM/NETWORK 00201C EXCEL, INC. 00201D KATANA PRODUCTS 00201E NETQUEST CORPORATION 00201F BEST POWER TECHNOLOGY, INC. 002020 MEGATRON COMPUTER INDUSTRIES PTY, LTD. 002021 ALGORITHMS SOFTWARE PVT. LTD. 002022 NMS Communications 002023 T.C. TECHNOLOGIES PTY. LTD 002024 PACIFIC COMMUNICATION SCIENCES 002025 CONTROL TECHNOLOGY, INC. 002026 AMKLY SYSTEMS, INC. 002027 MING FORTUNE INDUSTRY CO., LTD 002028 WEST EGG SYSTEMS, INC. 002029 TELEPROCESSING PRODUCTS, INC. 00202A N.V. DZINE 00202B ADVANCED TELECOMMUNICATIONS MODULES, LTD. 00202C WELLTRONIX CO., LTD. 00202D TAIYO CORPORATION 00202E DAYSTAR DIGITAL 00202F ZETA COMMUNICATIONS, LTD. 002030 ANALOG & DIGITAL SYSTEMS 002031 ERTEC GmbH 002032 ALCATEL TAISEL 002033 SYNAPSE TECHNOLOGIES, INC. 002034 ROTEC INDUSTRIEAUTOMATION GMBH 002035 IBM Corp 002036 BMC SOFTWARE 002037 SEAGATE TECHNOLOGY 002038 VME MICROSYSTEMS INTERNATIONAL CORPORATION 002039 SCINETS 00203A DIGITAL BI0METRICS INC. 00203B WISDM LTD. 00203C EUROTIME AB 00203D Honeywell ECC 00203E LogiCan Technologies, Inc. 00203F JUKI CORPORATION 002040 Motorola Broadband Communications Sector 002041 DATA NET 002042 DATAMETRICS CORP. 002043 NEURON COMPANY LIMITED 002044 GENITECH PTY LTD 002045 ION Networks, Inc. 002046 CIPRICO, INC. 002047 STEINBRECHER CORP. 002048 Marconi Communications 002049 COMTRON, INC. 00204A PRONET GMBH 00204B AUTOCOMPUTER CO., LTD. 00204C MITRON COMPUTER PTE LTD. 00204D INOVIS GMBH 00204E NETWORK SECURITY SYSTEMS, INC. 00204F DEUTSCHE AEROSPACE AG 002050 KOREA COMPUTER INC. 002051 Verilink Corporation 002052 RAGULA SYSTEMS 002053 HUNTSVILLE MICROSYSTEMS, INC. 002054 Sycamore Networks 002055 ALTECH CO., LTD. 002056 NEOPRODUCTS 002057 TITZE DATENTECHNIK GmbH 002058 ALLIED SIGNAL INC. 002059 MIRO COMPUTER PRODUCTS AG 00205A COMPUTER IDENTICS 00205B Kentrox, LLC 00205C InterNet Systems of Florida, Inc. 00205D NANOMATIC OY 00205E CASTLE ROCK, INC. 00205F GAMMADATA COMPUTER GMBH 002060 ALCATEL ITALIA S.p.A. 002061 GarrettCom, Inc. 002062 SCORPION LOGIC, LTD. 002063 WIPRO INFOTECH LTD. 002064 PROTEC MICROSYSTEMS, INC. 002065 SUPERNET NETWORKING INC. 002066 GENERAL MAGIC, INC. 002067 PRIVATE 002068 ISDYNE 002069 ISDN SYSTEMS CORPORATION 00206A OSAKA COMPUTER CORP. 00206B KONICA MINOLTA HOLDINGS, INC. 00206C EVERGREEN TECHNOLOGY CORP. 00206D DATA RACE, INC. 00206E XACT, INC. 00206F FLOWPOINT CORPORATION 002070 HYNET, LTD. 002071 IBR GMBH 002072 WORKLINK INNOVATIONS 002073 FUSION SYSTEMS CORPORATION 002074 SUNGWOON SYSTEMS 002075 MOTOROLA COMMUNICATION ISRAEL 002076 REUDO CORPORATION 002077 KARDIOS SYSTEMS CORP. 002078 RUNTOP, INC. 002079 MIKRON GMBH 00207A WiSE Communications, Inc. 00207B Intel Corporation 00207C AUTEC GmbH 00207D ADVANCED COMPUTER APPLICATIONS 00207E FINECOM Co., Ltd. 00207F KYOEI SANGYO CO., LTD. 002080 SYNERGY (UK) LTD. 002081 TITAN ELECTRONICS 002082 ONEAC CORPORATION 002083 PRESTICOM INCORPORATED 002084 OCE PRINTING SYSTEMS, GMBH 002085 EXIDE ELECTRONICS 002086 MICROTECH ELECTRONICS LIMITED 002087 MEMOTEC, INC. 002088 GLOBAL VILLAGE COMMUNICATION 002089 T3PLUS NETWORKING, INC. 00208A SONIX COMMUNICATIONS, LTD. 00208B LAPIS TECHNOLOGIES, INC. 00208C GALAXY NETWORKS, INC. 00208D CMD TECHNOLOGY 00208E CHEVIN SOFTWARE ENG. LTD. 00208F ECI TELECOM LTD. 002090 ADVANCED COMPRESSION TECHNOLOGY, INC. 002091 J125, NATIONAL SECURITY AGENCY 002092 CHESS ENGINEERING B.V. 002093 LANDINGS TECHNOLOGY CORP. 002094 CUBIX CORPORATION 002095 RIVA ELECTRONICS 002096 Invensys 002097 APPLIED SIGNAL TECHNOLOGY 002098 HECTRONIC AB 002099 BON ELECTRIC CO., LTD. 00209A THE 3DO COMPANY 00209B ERSAT ELECTRONIC GMBH 00209C PRIMARY ACCESS CORP. 00209D LIPPERT AUTOMATIONSTECHNIK 00209E BROWN'S OPERATING SYSTEM SERVICES, LTD. 00209F MERCURY COMPUTER SYSTEMS, INC. 0020A0 OA LABORATORY CO., LTD. 0020A1 DOVATRON 0020A2 GALCOM NETWORKING LTD. 0020A3 DIVICOM INC. 0020A4 MULTIPOINT NETWORKS 0020A5 API ENGINEERING 0020A6 Proxim Wireless 0020A7 PAIRGAIN TECHNOLOGIES, INC. 0020A8 SAST TECHNOLOGY CORP. 0020A9 WHITE HORSE INDUSTRIAL 0020AA DIGIMEDIA VISION LTD. 0020AB MICRO INDUSTRIES CORP. 0020AC INTERFLEX DATENSYSTEME GMBH 0020AD LINQ SYSTEMS 0020AE ORNET DATA COMMUNICATION TECH. 0020AF 3COM CORPORATION 0020B0 GATEWAY DEVICES, INC. 0020B1 COMTECH RESEARCH INC. 0020B2 GKD Gesellschaft Fur Kommunikation Und Datentechnik 0020B3 SCLTEC COMMUNICATIONS SYSTEMS 0020B4 TERMA ELEKTRONIK AS 0020B5 YASKAWA ELECTRIC CORPORATION 0020B6 AGILE NETWORKS, INC. 0020B7 NAMAQUA COMPUTERWARE 0020B8 PRIME OPTION, INC. 0020B9 METRICOM, INC. 0020BA CENTER FOR HIGH PERFORMANCE 0020BB ZAX CORPORATION 0020BC Long Reach Networks Pty Ltd 0020BD NIOBRARA R & D CORPORATION 0020BE LAN ACCESS CORP. 0020BF AEHR TEST SYSTEMS 0020C0 PULSE ELECTRONICS, INC. 0020C1 SAXA, Inc. 0020C2 TEXAS MEMORY SYSTEMS, INC. 0020C3 COUNTER SOLUTIONS LTD. 0020C4 INET,INC. 0020C5 EAGLE TECHNOLOGY 0020C6 NECTEC 0020C7 AKAI Professional M.I. Corp. 0020C8 LARSCOM INCORPORATED 0020C9 VICTRON BV 0020CA DIGITAL OCEAN 0020CB PRETEC ELECTRONICS CORP. 0020CC DIGITAL SERVICES, LTD. 0020CD HYBRID NETWORKS, INC. 0020CE LOGICAL DESIGN GROUP, INC. 0020CF TEST & MEASUREMENT SYSTEMS INC 0020D0 VERSALYNX CORPORATION 0020D1 MICROCOMPUTER SYSTEMS (M) SDN. 0020D2 RAD DATA COMMUNICATIONS, LTD. 0020D3 OST (OUEST STANDARD TELEMATIQU 0020D4 CABLETRON - ZEITTNET INC. 0020D5 VIPA GMBH 0020D6 BREEZECOM 0020D7 JAPAN MINICOMPUTER SYSTEMS CO., Ltd. 0020D8 Nortel Networks 0020D9 PANASONIC TECHNOLOGIES, INC./MIECO-US 0020DA Alcatel North America ESD 0020DB XNET TECHNOLOGY, INC. 0020DC DENSITRON TAIWAN LTD. 0020DD Cybertec Pty Ltd 0020DE JAPAN DIGITAL LABORAT'Y CO.LTD 0020DF KYOSAN ELECTRIC MFG. CO., LTD. 0020E0 Actiontec Electronics, Inc. 0020E1 ALAMAR ELECTRONICS 0020E2 INFORMATION RESOURCE ENGINEERING 0020E3 MCD KENCOM CORPORATION 0020E4 HSING TECH ENTERPRISE CO., LTD 0020E5 APEX DATA, INC. 0020E6 LIDKOPING MACHINE TOOLS AB 0020E7 B&W NUCLEAR SERVICE COMPANY 0020E8 DATATREK CORPORATION 0020E9 DANTEL 0020EA EFFICIENT NETWORKS, INC. 0020EB CINCINNATI MICROWAVE, INC. 0020EC TECHWARE SYSTEMS CORP. 0020ED GIGA-BYTE TECHNOLOGY CO., LTD. 0020EE GTECH CORPORATION 0020EF USC CORPORATION 0020F0 UNIVERSAL MICROELECTRONICS CO. 0020F1 ALTOS INDIA LIMITED 0020F2 Oracle Corporation 0020F3 RAYNET CORPORATION 0020F4 SPECTRIX CORPORATION 0020F5 PANDATEL AG 0020F6 NET TEK AND KARLNET, INC. 0020F7 CYBERDATA CORPORATION 0020F8 CARRERA COMPUTERS, INC. 0020F9 PARALINK NETWORKS, INC. 0020FA GDE SYSTEMS, INC. 0020FB OCTEL COMMUNICATIONS CORP. 0020FC MATROX 0020FD ITV TECHNOLOGIES, INC. 0020FE TOPWARE INC. / GRAND COMPUTER 0020FF SYMMETRICAL TECHNOLOGIES 002100 GemTek Technology Co., Ltd. 002101 Aplicaciones Electronicas Quasar (AEQ) 002102 UpdateLogic Inc. 002103 GHI Electronics, LLC 002104 Gigaset Communications GmbH 002105 Alcatel-Lucent 002106 RIM Testing Services 002107 Seowonintech Co Ltd. 002108 Nokia Danmark A/S 002109 Nokia Danmark A/S 00210A byd:sign Corporation 00210B GEMINI TRAZE RFID PVT. LTD. 00210C Cymtec Systems, Inc. 00210D SAMSIN INNOTEC 00210E Orpak Systems L.T.D. 00210F Cernium Corp 002110 Clearbox Systems 002111 Uniphone Inc. 002112 WISCOM SYSTEM CO.,LTD 002113 Padtec S/A 002114 Hylab Technology Inc. 002115 PHYWE Systeme GmbH & Co. KG 002116 Transcon Electronic Systems, spol. s r. o. 002117 Tellord 002118 Athena Tech, Inc. 002119 Samsung Electro-Mechanics 00211A LInTech Corporation 00211B Cisco Systems 00211C Cisco Systems 00211D Dataline AB 00211E Motorola Mobility, Inc. 00211F SHINSUNG DELTATECH CO.,LTD. 002120 Sequel Technologies 002121 VRmagic GmbH 002122 Chip-pro Ltd. 002123 Aerosat Avionics 002124 Optos Plc 002125 KUK JE TONG SHIN Co.,LTD 002126 Shenzhen Torch Equipment Co., Ltd. 002127 TP-LINK Technology Co., Ltd. 002128 Oracle Corporation 002129 Cisco-Linksys, LLC 00212A Audiovox Corporation 00212B MSA Auer 00212C SemIndia System Private Limited 00212D SCIMOLEX CORPORATION 00212E dresden-elektronik 00212F Phoebe Micro Inc. 002130 Keico Hightech Inc. 002131 Blynke Inc. 002132 Masterclock, Inc. 002133 Building B, Inc 002134 Brandywine Communications 002135 ALCATEL-LUCENT 002136 Motorola Mobile Devices business (MDb) 002137 Bay Controls, LLC 002138 Cepheid 002139 Escherlogic Inc. 00213A Winchester Systems Inc. 00213B Berkshire Products, Inc 00213C AliphCom 00213D Cermetek Microelectronics, Inc. 00213E TomTom 00213F A-Team Technology Ltd. 002140 EN Technologies Inc. 002141 RADLIVE 002142 Advanced Control Systems doo 002143 Motorola Mobility, Inc. 002144 SS Telecoms 002145 Semptian Technologies Ltd. 002146 SCI Technology 002147 Nintendo Co., Ltd. 002148 Kaco Solar Korea 002149 China Daheng Group ,Inc. 00214A Pixel Velocity, Inc 00214B Shenzhen HAMP Science & Technology Co.,Ltd 00214C SAMSUNG ELECTRONICS CO., LTD. 00214D Guangzhou Skytone Transmission Technology Com. Ltd. 00214E GS Yuasa Power Supply Ltd. 00214F ALPS Electric Co., Ltd 002150 EYEVIEW ELECTRONICS 002151 Millinet Co., Ltd. 002152 General Satellite Research & Development Limited 002153 SeaMicro Inc. 002154 D-TACQ Solutions Ltd 002155 Cisco Systems 002156 Cisco Systems 002157 National Datacast, Inc. 002158 Style Flying Technology Co. 002159 Juniper Networks 00215A Hewlett Packard 00215B Inotive 00215C Intel Corporate 00215D Intel Corporate 00215E IBM Corp 00215F IHSE GmbH 002160 Hidea Solutions Co. Ltd. 002161 Yournet Inc. 002162 Nortel 002163 ASKEY COMPUTER CORP 002164 Special Design Bureau for Seismic Instrumentation 002165 Presstek Inc. 002166 NovAtel Inc. 002167 HWA JIN T&I Corp. 002168 iVeia, LLC 002169 Prologix, LLC. 00216A Intel Corporate 00216B Intel Corporate 00216C ODVA 00216D Soltech Co., Ltd. 00216E Function ATI (Huizhou) Telecommunications Co., Ltd. 00216F SymCom, Inc. 002170 Dell Inc 002171 Wesung TNC Co., Ltd. 002172 Seoultek Valley 002173 Ion Torrent Systems, Inc. 002174 AvaLAN Wireless 002175 Pacific Satellite International Ltd. 002176 YMax Telecom Ltd. 002177 W. L. Gore & Associates 002178 Matuschek Messtechnik GmbH 002179 IOGEAR, Inc. 00217A Sejin Electron, Inc. 00217B Bastec AB 00217C 2Wire 00217D PYXIS S.R.L. 00217E Telit Communication s.p.a 00217F Intraco Technology Pte Ltd 002180 Motorola Mobility, Inc. 002181 Si2 Microsystems Limited 002182 SandLinks Systems, Ltd. 002183 VATECH HYDRO 002184 POWERSOFT SRL 002185 MICRO-STAR INT'L CO.,LTD. 002186 Universal Global Scientific Industrial Co., Ltd 002187 Imacs GmbH 002188 EMC Corporation 002189 AppTech, Inc. 00218A Electronic Design and Manufacturing Company 00218B Wescon Technology, Inc. 00218C TopControl GMBH 00218D AP Router Ind. Eletronica LTDA 00218E MEKICS CO., LTD. 00218F Avantgarde Acoustic Lautsprechersysteme GmbH 002190 Goliath Solutions 002191 D-Link Corporation 002192 Baoding Galaxy Electronic Technology Co.,Ltd 002193 Videofon MV 002194 Ping Communication 002195 GWD Media Limited 002196 Telsey S.p.A. 002197 ELITEGROUP COMPUTER SYSTEM 002198 Thai Radio Co, LTD 002199 Vacon Plc 00219A Cambridge Visual Networks Ltd 00219B Dell Inc 00219C Honeywld Technology Corp. 00219D Adesys BV 00219E Sony Ericsson Mobile Communications 00219F SATEL OY 0021A0 Cisco Systems 0021A1 Cisco Systems 0021A2 EKE-Electronics Ltd. 0021A3 Micromint 0021A4 Dbii Networks 0021A5 ERLPhase Power Technologies Ltd. 0021A6 Videotec Spa 0021A7 Hantle System Co., Ltd. 0021A8 Telephonics Corporation 0021A9 Mobilink Telecom Co.,Ltd 0021AA Nokia Danmark A/S 0021AB Nokia Danmark A/S 0021AC Infrared Integrated Systems Ltd 0021AD Nordic ID Oy 0021AE ALCATEL-LUCENT FRANCE - WTD 0021AF Radio Frequency Systems 0021B0 Tyco Telecommunications 0021B1 DIGITAL SOLUTIONS LTD 0021B2 Fiberblaze A/S 0021B3 Ross Controls 0021B4 APRO MEDIA CO., LTD 0021B5 Vyro Games Limited 0021B6 Triacta Power Technologies Inc. 0021B7 Lexmark International Inc. 0021B8 Inphi Corporation 0021B9 Universal Devices Inc. 0021BA Texas Instruments 0021BB Riken Keiki Co., Ltd. 0021BC ZALA COMPUTER 0021BD Nintendo Co., Ltd. 0021BE Cisco, Service Provider Video Technology Group 0021BF Hitachi High-Tech Control Systems Corporation 0021C0 Mobile Appliance, Inc. 0021C1 ABB Oy / Distribution Automation 0021C2 GL Communications Inc 0021C3 CORNELL Communications, Inc. 0021C4 Consilium AB 0021C5 3DSP Corp 0021C6 CSJ Global, Inc. 0021C7 Russound 0021C8 LOHUIS Networks 0021C9 Wavecom Asia Pacific Limited 0021CA ART System Co., Ltd. 0021CB SMS TECNOLOGIA ELETRONICA LTDA 0021CC Flextronics International 0021CD LiveTV 0021CE NTC-Metrotek 0021CF The Crypto Group 0021D0 Global Display Solutions Spa 0021D1 Samsung Electronics Co.,Ltd 0021D2 Samsung Electronics Co.,Ltd 0021D3 BOCOM SECURITY(ASIA PACIFIC) LIMITED 0021D4 Vollmer Werke GmbH 0021D5 X2E GmbH 0021D6 LXI Consortium 0021D7 Cisco Systems 0021D8 Cisco Systems 0021D9 SEKONIC CORPORATION 0021DA Automation Products Group Inc. 0021DB Santachi Video Technology (Shenzhen) Co., Ltd. 0021DC TECNOALARM S.r.l. 0021DD Northstar Systems Corp 0021DE Firepro Wireless 0021DF Martin Christ GmbH 0021E0 CommAgility Ltd 0021E1 Nortel Networks 0021E2 Creative Electronic GmbH 0021E3 SerialTek LLC 0021E4 I-WIN 0021E5 Display Solution AG 0021E6 Starlight Video Limited 0021E7 Informatics Services Corporation 0021E8 Murata Manufacturing Co., Ltd. 0021E9 Apple, Inc 0021EA Bystronic Laser AG 0021EB ESP SYSTEMS, LLC 0021EC Solutronic GmbH 0021ED Telegesis 0021EE Full Spectrum Inc. 0021EF Kapsys 0021F0 EW3 Technologies LLC 0021F1 Tutus Data AB 0021F2 EASY3CALL Technology Limited 0021F3 Si14 SpA 0021F4 INRange Systems, Inc 0021F5 Western Engravers Supply, Inc. 0021F6 Oracle Corporation 0021F7 ProCurve Networking by HP 0021F8 Enseo, Inc. 0021F9 WIRECOM Technologies 0021FA A4SP Technologies Ltd. 0021FB LG Electronics 0021FC Nokia Danmark A/S 0021FD DSTA S.L. 0021FE Nokia Danmark A/S 0021FF Cyfrowy Polsat SA 002200 BLADE Network Technology 002201 Aksys Networks Inc 002202 Excito Elektronik i Skåne AB 002203 Glensound Electronics Ltd 002204 KORATEK 002205 WeLink Solutions, Inc. 002206 Cyberdyne Inc. 002207 Inteno Broadband Technology AB 002208 Certicom Corp 002209 Omron Healthcare Co., Ltd 00220A OnLive, Inc 00220B National Source Coding Center 00220C Cisco Systems 00220D Cisco Systems 00220E Indigo Security Co., Ltd. 00220F MoCA (Multimedia over Coax Alliance) 002210 Motorola Mobility, Inc. 002211 Rohati Systems 002212 CAI Networks, Inc. 002213 PCI CORPORATION 002214 RINNAI KOREA 002215 ASUSTek COMPUTER INC. 002216 SHIBAURA VENDING MACHINE CORPORATION 002217 Neat Electronics 002218 Verivue Inc. 002219 Dell Inc 00221A Audio Precision 00221B Morega Systems 00221C PRIVATE 00221D Freegene Technology LTD 00221E Media Devices Co., Ltd. 00221F eSang Technologies Co., Ltd. 002220 Mitac Technology Corp 002221 ITOH DENKI CO,LTD. 002222 Schaffner Deutschland GmbH 002223 TimeKeeping Systems, Inc. 002224 Good Will Instrument Co., Ltd. 002225 Thales Avionics Ltd 002226 Avaak, Inc. 002227 uv-electronic GmbH 002228 Breeze Innovations Ltd. 002229 Compumedics Ltd 00222A SoundEar A/S 00222B Nucomm, Inc. 00222C Ceton Corp 00222D SMC Networks Inc. 00222E maintech GmbH 00222F Open Grid Computing, Inc. 002230 FutureLogic Inc. 002231 SMT&C Co., Ltd. 002232 Design Design Technology Ltd 002233 Pirelli Broadband Solutions 002234 Corventis Inc. 002235 Strukton Systems bv 002236 VECTOR SP. Z O.O. 002237 Shinhint Group 002238 LOGIPLUS 002239 Indiana Life Sciences Incorporated 00223A Scientific Atlanta, Cisco SPVT Group 00223B Communication Networks, LLC 00223C RATIO Entwicklungen GmbH 00223D JumpGen Systems, LLC 00223E IRTrans GmbH 00223F Netgear Inc. 002240 Universal Telecom S/A 002241 Apple, Inc 002242 Alacron Inc. 002243 AzureWave Technologies, Inc. 002244 Chengdu Linkon Communications Device Co., Ltd 002245 Leine & Linde AB 002246 Evoc Intelligent Technology Co.,Ltd. 002247 DAC ENGINEERING CO., LTD. 002248 Microsoft Corporation 002249 HOME MULTIENERGY SL 00224A RAYLASE AG 00224B AIRTECH TECHNOLOGIES, INC. 00224C Nintendo Co., Ltd. 00224D MITAC INTERNATIONAL CORP. 00224E SEEnergy Corp. 00224F Byzoro Networks Ltd. 002250 Point Six Wireless, LLC 002251 Lumasense Technologies 002252 ZOLL Lifecor Corporation 002253 Entorian Technologies 002254 Bigelow Aerospace 002255 Cisco Systems 002256 Cisco Systems 002257 3Com Europe Ltd 002258 Taiyo Yuden Co., Ltd. 002259 Guangzhou New Postcom Equipment Co.,Ltd. 00225A Garde Security AB 00225B Teradici Corporation 00225C Multimedia & Communication Technology 00225D Digicable Network India Pvt. Ltd. 00225E Uwin Technologies Co.,LTD 00225F Liteon Technology Corporation 002260 AFREEY Inc. 002261 Frontier Silicon Ltd 002262 BEP Marine 002263 Koos Technical Services, Inc. 002264 Hewlett Packard 002265 Nokia Danmark A/S 002266 Nokia Danmark A/S 002267 Nortel Networks 002268 Hon Hai Precision Ind. Co., Ltd. 002269 Hon Hai Precision Ind. Co., Ltd. 00226A Honeywell 00226B Cisco-Linksys, LLC 00226C LinkSprite Technologies, Inc. 00226D Shenzhen GIEC Electronics Co., Ltd. 00226E Gowell Electronic Limited 00226F 3onedata Technology Co. Ltd. 002270 ABK North America, LLC 002271 Jäger Computergesteuerte Messtechnik GmbH 002272 American Micro-Fuel Device Corp. 002273 Techway 002274 FamilyPhone AB 002275 Belkin International, Inc. 002276 Triple EYE B.V. 002277 NEC Australia Pty Ltd 002278 Shenzhen Tongfang Multimedia Technology Co.,Ltd. 002279 Nippon Conlux Co., Ltd. 00227A Telecom Design 00227B Apogee Labs, Inc. 00227C Woori SMT Co.,ltd 00227D YE DATA INC. 00227E Chengdu 30Kaitian Communication Industry Co.Ltd 00227F Ruckus Wireless 002280 A2B Electronics AB 002281 Daintree Networks Inc 002282 8086 Limited 002283 Juniper Networks 002284 DESAY A&V SCIENCE AND TECHNOLOGY CO.,LTD 002285 NOMUS COMM SYSTEMS 002286 ASTRON 002287 Titan Wireless LLC 002288 Sagrad, Inc. 002289 Optosecurity Inc. 00228A Teratronik elektronische systeme gmbh 00228B Kensington Computer Products Group 00228C Photon Europe GmbH 00228D GBS Laboratories LLC 00228E TV-NUMERIC 00228F CNRS 002290 Cisco Systems 002291 Cisco Systems 002292 Cinetal 002293 ZTE Corporation 002294 Kyocera Corporation 002295 SGM Technology for lighting spa 002296 LinoWave Corporation 002297 XMOS Semiconductor 002298 Sony Ericsson Mobile Communications 002299 SeaMicro Inc. 00229A Lastar, Inc. 00229B AverLogic Technologies, Inc. 00229C Verismo Networks Inc 00229D PYUNG-HWA IND.CO.,LTD 00229E Social Aid Research Co., Ltd. 00229F Sensys Traffic AB 0022A0 Delphi Corporation 0022A1 Huawei Symantec Technologies Co.,Ltd. 0022A2 Xtramus Technologies 0022A3 California Eastern Laboratories 0022A4 2Wire 0022A5 Texas Instruments 0022A6 Sony Computer Entertainment America 0022A7 Tyco Electronics AMP GmbH 0022A8 Ouman Finland Oy 0022A9 LG Electronics Inc 0022AA Nintendo Co., Ltd. 0022AB Shenzhen Turbosight Technology Ltd 0022AC Hangzhou Siyuan Tech. Co., Ltd 0022AD TELESIS TECHNOLOGIES, INC. 0022AE Mattel Inc. 0022AF Safety Vision 0022B0 D-Link Corporation 0022B1 Elbit Systems 0022B2 4RF Communications Ltd 0022B3 Sei S.p.A. 0022B4 Motorola Mobile Devices 0022B5 NOVITA 0022B6 Superflow Technologies Group 0022B7 GSS Grundig SAT-Systems GmbH 0022B8 Norcott 0022B9 Analogix Seminconductor, Inc 0022BA HUTH Elektronik Systeme GmbH 0022BB beyerdynamic GmbH & Co. KG 0022BC JDSU France SAS 0022BD Cisco Systems 0022BE Cisco Systems 0022BF SieAmp Group of Companies 0022C0 Shenzhen Forcelink Electronic Co, Ltd 0022C1 Active Storage Inc. 0022C2 Proview Eletronica do Brasil LTDA 0022C3 Zeeport Technology Inc. 0022C4 epro GmbH 0022C5 INFORSON Co,Ltd. 0022C6 Sutus Inc 0022C7 SEGGER Microcontroller GmbH & Co. KG 0022C8 Applied Instruments 0022C9 Lenord, Bauer & Co GmbH 0022CA Anviz Biometric Tech. Co., Ltd. 0022CB IONODES Inc. 0022CC SciLog, Inc. 0022CD Ared Technology Co., Ltd. 0022CE Cisco, Service Provider Video Technology Group 0022CF PLANEX Communications INC 0022D0 Polar Electro Oy 0022D1 Albrecht Jung GmbH & Co. KG 0022D2 All Earth Comércio de Eletrônicos LTDA. 0022D3 Hub-Tech 0022D4 ComWorth Co., Ltd. 0022D5 Eaton Corp. Electrical Group Data Center Solutions - Pulizzi 0022D6 Cypak AB 0022D7 Nintendo Co., Ltd. 0022D8 Shenzhen GST Security and Safety Technology Limited 0022D9 Fortex Industrial Ltd. 0022DA ANATEK, LLC 0022DB Translogic Corporation 0022DC Vigil Health Solutions Inc. 0022DD Protecta Electronics Ltd 0022DE OPPO Digital, Inc. 0022DF TAMUZ Monitors 0022E0 Atlantic Software Technologies S.r.L. 0022E1 ZORT Labs, LLC. 0022E2 WABTEC Transit Division 0022E3 Amerigon 0022E4 APASS TECHNOLOGY CO., LTD. 0022E5 Fisher-Rosemount Systems Inc. 0022E6 Intelligent Data 0022E7 WPS Parking Systems 0022E8 Applition Co., Ltd. 0022E9 ProVision Communications 0022EA Rustelcom Inc. 0022EB Data Respons A/S 0022EC IDEALBT TECHNOLOGY CORPORATION 0022ED TSI Power Corporation 0022EE Algo Communication Products Ltd 0022EF Ibis Tek, LLC 0022F0 3 Greens Aviation Limited 0022F1 PRIVATE 0022F2 SunPower Corp 0022F3 SHARP CORPORATION 0022F4 AMPAK Technology, Inc. 0022F5 Advanced Realtime Tracking GmbH 0022F6 Syracuse Research Corporation 0022F7 Conceptronic 0022F8 PIMA Electronic Systems Ltd. 0022F9 Pollin Electronic GmbH 0022FA Intel Corporate 0022FB Intel Corporate 0022FC Nokia Danmark A/S 0022FD Nokia Danmark A/S 0022FE Microprocessor Designs Inc 0022FF NIVIS LLC 002300 Cayee Computer Ltd. 002301 Witron Technology Limited 002302 Cobalt Digital, Inc. 002303 LITE-ON IT Corporation 002304 Cisco Systems 002305 Cisco Systems 002306 ALPS Electric Co., Ltd 002307 FUTURE INNOVATION TECH CO.,LTD 002308 Arcadyan Technology Corporation 002309 Janam Technologies LLC 00230A ARBURG GmbH & Co KG 00230B Motorola Mobility, Inc. 00230C CLOVER ELECTRONICS CO.,LTD. 00230D Nortel Networks 00230E Gorba AG 00230F Hirsch Electronics Corporation 002310 LNC Technology Co., Ltd. 002311 Gloscom Co., Ltd. 002312 Apple, Inc 002313 Qool Technologies Ltd. 002314 Intel Corporate 002315 Intel Corporate 002316 KISAN ELECTRONICS CO 002317 Lasercraft Inc 002318 Toshiba 002319 Sielox LLC 00231A ITF Co., Ltd. 00231B Danaher Motion - Kollmorgen 00231C Fourier Systems Ltd. 00231D Deltacom Electronics Ltd 00231E Cezzer Multimedia Technologies 00231F Guangda Electronic & Telecommunication Technology Development Co., Ltd. 002320 Nicira Networks 002321 Avitech International Corp 002322 KISS Teknical Solutions, Inc. 002323 Zylin AS 002324 G-PRO COMPUTER 002325 IOLAN Holding 002326 Fujitsu Limited 002327 Shouyo Electronics CO., LTD 002328 ALCON TELECOMMUNICATIONS CO., LTD. 002329 DDRdrive LLC 00232A eonas IT-Beratung und -Entwicklung GmbH 00232B IRD A/S 00232C Senticare 00232D SandForce 00232E Kedah Electronics Engineering, LLC 00232F Advanced Card Systems Ltd. 002330 DIZIPIA, INC. 002331 Nintendo Co., Ltd. 002332 Apple, Inc 002333 Cisco Systems 002334 Cisco Systems 002335 Linkflex Co.,Ltd 002336 METEL s.r.o. 002337 Global Star Solutions ULC 002338 OJ-Electronics A/S 002339 Samsung Electronics 00233A Samsung Electronics Co.,Ltd 00233B C-Matic Systems Ltd 00233C Alflex 00233D novero GmbH 00233E Alcatel-Lucent-IPD 00233F Purechoice Inc 002340 MiX Telematics 002341 Siemens AG 002342 Coffee Equipment Company 002343 TEM AG 002344 Objective Interface Systems 002345 Sony Ericsson Mobile Communications 002346 Vestac 002347 ProCurve Networking by HP 002348 SAGEM COMMUNICATION 002349 Helmholtz Centre Berlin for Material and Energy 00234A PRIVATE 00234B Inyuan Technology Inc. 00234C KTC AB 00234D Hon Hai Precision Ind. Co., Ltd. 00234E Hon Hai Precision Ind. Co., Ltd. 00234F Luminous Power Technologies Pvt. Ltd. 002350 LynTec 002351 2Wire 002352 DATASENSOR S.p.A. 002353 F E T Elettronica snc 002354 ASUSTek COMPUTER INC. 002355 Kinco Automation(Shanghai) Ltd. 002356 Packet Forensics LLC 002357 Pitronot Technologies and Engineering P.T.E. Ltd. 002358 SYSTEL SA 002359 Benchmark Electronics ( Thailand ) Public Company Limited 00235A COMPAL INFORMATION (KUNSHAN) CO., Ltd. 00235B Gulfstream 00235C Aprius, Inc. 00235D Cisco Systems 00235E Cisco Systems 00235F Silicon Micro Sensors GmbH 002360 Lookit Technology Co., Ltd 002361 Unigen Corporation 002362 Goldline Controls 002363 Zhuhai RaySharp Technology Co., Ltd. 002364 Power Instruments Pte Ltd 002365 ELKA-Elektronik GmbH 002366 Beijing Siasun Electronic System Co.,Ltd. 002367 UniControls a.s. 002368 Motorola 002369 Cisco-Linksys, LLC 00236A ClearAccess, Inc. 00236B Xembedded, Inc. 00236C Apple, Inc 00236D ResMed Ltd 00236E Burster GmbH & Co KG 00236F DAQ System 002370 Snell 002371 SOAM Systel 002372 MORE STAR INDUSTRIAL GROUP LIMITED 002373 GridIron Systems, Inc. 002374 Motorola Mobility, Inc. 002375 Motorola Mobility, Inc. 002376 HTC Corporation 002377 Isotek Electronics Ltd 002378 GN Netcom A/S 002379 Union Business Machines Co. Ltd. 00237A RIM 00237B WHDI LLC 00237C NEOTION 00237D Hewlett Packard 00237E ELSTER GMBH 00237F PLANTRONICS 002380 Nanoteq 002381 Lengda Technology(Xiamen) Co.,Ltd. 002382 Lih Rong Electronic Enterprise Co., Ltd. 002383 InMage Systems Inc 002384 GGH Engineering s.r.l. 002385 ANTIPODE 002386 Tour & Andersson AB 002387 ThinkFlood, Inc. 002388 V.T. Telematica S.p.a. 002389 HANGZHOU H3C Technologies Co., Ltd. 00238A Ciena Corporation 00238B Quanta Computer Inc. 00238C PRIVATE 00238D Techno Design Co., Ltd. 00238E PIRELLI BROADBAND SOLUTIONS 00238F NIDEC COPAL CORPORATION 002390 Algolware Corporation 002391 Maxian 002392 Proteus Industries Inc. 002393 AJINEXTEK 002394 Samjeon 002395 Motorola Mobility, Inc. 002396 ANDES TECHNOLOGY CORPORATION 002397 Westell Technologies Inc. 002398 Sky Control 002399 VD Division, Samsung Electronics Co. 00239A EasyData Software GmbH 00239B Elster Solutions, LLC 00239C Juniper Networks 00239D Mapower Electronics Co., Ltd 00239E Jiangsu Lemote Technology Corporation Limited 00239F Institut für Prüftechnik 0023A0 Hana CNS Co., LTD. 0023A1 Trend Electronics Ltd 0023A2 Motorola Mobility, Inc. 0023A3 Motorola Mobility, Inc. 0023A4 New Concepts Development Corp. 0023A5 SageTV, LLC 0023A6 E-Mon 0023A7 Redpine Signals, Inc. 0023A8 Marshall Electronics 0023A9 Beijing Detianquan Electromechanical Equipment Co., Ltd 0023AA HFR, Inc. 0023AB Cisco Systems 0023AC Cisco Systems 0023AD Xmark Corporation 0023AE Dell Inc. 0023AF Motorola Mobile Devices 0023B0 COMXION Technology Inc. 0023B1 Longcheer Technology (Singapore) Pte Ltd 0023B2 Intelligent Mechatronic Systems Inc 0023B3 Lyyn AB 0023B4 Nokia Danmark A/S 0023B5 ORTANA LTD 0023B6 SECURITE COMMUNICATIONS / HONEYWELL 0023B7 Q-Light Co., Ltd. 0023B8 Sichuan Jiuzhou Electronic Technology Co.,Ltd 0023B9 EADS Deutschland GmbH 0023BA Chroma 0023BB Schmitt Industries 0023BC EQ-SYS GmbH 0023BD Digital Ally, Inc. 0023BE Cisco SPVTG 0023BF Mainpine, Inc. 0023C0 Broadway Networks 0023C1 Securitas Direct AB 0023C2 SAMSUNG Electronics. Co. LTD 0023C3 LogMeIn, Inc. 0023C4 Lux Lumen 0023C5 Radiation Safety and Control Services Inc 0023C6 SMC Corporation 0023C7 AVSystem 0023C8 TEAM-R 0023C9 Sichuan Tianyi Information Science & Technology Stock CO.,LTD 0023CA Behind The Set, LLC 0023CB Shenzhen Full-join Technology Co.,Ltd 0023CC Nintendo Co., Ltd. 0023CD TP-LINK TECHNOLOGIES CO., LTD. 0023CE KITA DENSHI CORPORATION 0023CF CUMMINS-ALLISON CORP. 0023D0 Uniloc USA Inc. 0023D1 TRG 0023D2 Inhand Electronics, Inc. 0023D3 AirLink WiFi Networking Corp. 0023D4 Texas Instruments 0023D5 WAREMA electronic GmbH 0023D6 Samsung Electronics Co.,LTD 0023D7 Samsung Electronics 0023D8 Ball-It Oy 0023D9 Banner Engineering 0023DA Industrial Computer Source (Deutschland)GmbH 0023DB saxnet gmbh 0023DC Benein, Inc 0023DD ELGIN S.A. 0023DE Ansync Inc. 0023DF Apple, Inc 0023E0 INO Therapeutics LLC 0023E1 Cavena Image Products AB 0023E2 SEA Signalisation 0023E3 Microtronic AG 0023E4 IPnect co. ltd. 0023E5 IPaXiom Networks 0023E6 Pirkus, Inc. 0023E7 Hinke A/S 0023E8 Demco Corp. 0023E9 F5 Networks, Inc. 0023EA Cisco Systems 0023EB Cisco Systems 0023EC Algorithmix GmbH 0023ED Motorola CHS 0023EE Motorola Mobility, Inc. 0023EF Zuend Systemtechnik AG 0023F0 Shanghai Jinghan Weighing Apparatus Co. Ltd. 0023F1 Sony Ericsson Mobile Communications 0023F2 TVLogic 0023F3 Glocom, Inc. 0023F4 Masternaut 0023F5 WILO SE 0023F6 Softwell Technology Co., Ltd. 0023F7 PRIVATE 0023F8 ZyXEL Communications Corporation 0023F9 Double-Take Software, INC. 0023FA RG Nets, Inc. 0023FB IP Datatel, Inc. 0023FC Ultra Stereo Labs, Inc 0023FD AFT Atlas Fahrzeugtechnik GmbH 0023FE Biodevices, SA 0023FF Beijing HTTC Technology Ltd. 002400 Nortel Networks 002401 D-Link Corporation 002402 Op-Tection GmbH 002403 Nokia Danmark A/S 002404 Nokia Danmark A/S 002405 Dilog Nordic AB 002406 Pointmobile 002407 TELEM SAS 002408 Pacific Biosciences 002409 The Toro Company 00240A US Beverage Net 00240B Virtual Computer Inc. 00240C DELEC GmbH 00240D OnePath Networks LTD. 00240E Inventec Besta Co., Ltd. 00240F Ishii Tool & Engineering Corporation 002410 NUETEQ Technology,Inc. 002411 PharmaSmart LLC 002412 Benign Technologies Co, Ltd. 002413 Cisco Systems 002414 Cisco Systems 002415 Magnetic Autocontrol GmbH 002416 Any Use 002417 Thomson Telecom Belgium 002418 Nextwave Semiconductor 002419 PRIVATE 00241A Red Beetle Inc. 00241B iWOW Communications Pte Ltd 00241C FuGang Electronic (DG) Co.,Ltd 00241D GIGA-BYTE TECHNOLOGY CO.,LTD. 00241E Nintendo Co., Ltd. 00241F DCT-Delta GmbH 002420 NetUP Inc. 002421 MICRO-STAR INT'L CO., LTD. 002422 Knapp Logistik Automation GmbH 002423 AzureWave Technologies (Shanghai) Inc. 002424 Axis Network Technology 002425 Shenzhenshi chuangzhicheng Technology Co.,Ltd 002426 NOHMI BOSAI LTD. 002427 SSI COMPUTER CORP 002428 EnergyICT 002429 MK MASTER INC. 00242A Hittite Microwave Corporation 00242B Hon Hai Precision Ind.Co.,Ltd. 00242C Hon Hai Precision Ind. Co., Ltd. 00242E Datastrip Inc. 00242F VirtenSys Inc 002430 Ruby Tech Corp. 002431 Uni-v co.,ltd 002432 Neostar Technology Co.,LTD 002433 Alps Electric Co., Ltd 002434 Lectrosonics, Inc. 002435 WIDE CORPORATION 002436 Apple, Inc 002437 Motorola - BSG 002438 Brocade Communications Systems, Inc 002439 Essential Viewing Systems Limited 00243A Ludl Electronic Products 00243B CSSI (S) Pte Ltd 00243C S.A.A.A. 00243D Emerson Appliance Motors and Controls 00243F Storwize, Inc. 002440 Halo Monitoring, Inc. 002441 Wanzl Metallwarenfabrik GmbH 002442 Axona Limited 002443 Nortel Networks 002444 Nintendo Co., Ltd. 002445 LiquidxStream Systems Inc. 002446 MMB Research Inc. 002447 Kaztek Systems 002448 SpiderCloud Wireless, Inc 002449 Shen Zhen Lite Star Electronics Technology Co., Ltd 00244A Voyant International 00244B PERCEPTRON INC 00244C Solartron Metrology Ltd 00244D Hokkaido Electronics Corporation 00244E RadChips, Inc. 00244F Asantron Technologies Ltd. 002450 Cisco Systems 002451 Cisco Systems 002452 Silicon Software GmbH 002453 Initra d.o.o. 002454 Samsung Electronics Co., LTD 002455 MuLogic BV 002456 2Wire 002458 PA Bastion CC 002459 ABB STOTZ-KONTAKT GmbH 00245A Nanjing Panda Electronics Company Limited 00245B RAIDON TECHNOLOGY, INC. 00245C Design-Com Technologies Pty. Ltd. 00245D Terberg besturingstechniek B.V. 00245E Hivision Co.,ltd 00245F Vine Telecom CO.,Ltd. 002460 Giaval Science Development Co. Ltd. 002461 Shin Wang Tech. 002462 Rayzone Corporation 002463 Phybridge Inc 002464 Bridge Technologies Co AS 002465 Elentec 002466 Unitron nv 002467 AOC International (Europe) GmbH 002468 Sumavision Technologies Co.,Ltd 002469 Smart Doorphones 00246A Solid Year Co., Ltd. 00246B Covia, Inc. 00246C ARUBA NETWORKS, INC. 00246D Weinzierl Engineering GmbH 00246E Phihong USA Corp. 00246F Onda Communication spa 002470 AUROTECH ultrasound AS. 002471 Fusion MultiSystems dba Fusion-io 002472 ReDriven Power Inc. 002473 3Com Europe Ltd 002474 Autronica Fire And Securirty 002475 Compass System(Embedded Dept.) 002476 TAP.tv 002477 Tibbo Technology 002478 Mag Tech Electronics Co Limited 002479 Optec Displays, Inc. 00247A FU YI CHENG Technology Co., Ltd. 00247B Actiontec Electronics, Inc 00247C Nokia Danmark A/S 00247D Nokia Danmark A/S 00247E Universal Global Scientific Industrial Co., Ltd 00247F Nortel Networks 002480 Meteocontrol GmbH 002481 Hewlett Packard 002482 Ruckus Wireless 002483 LG Electronics 002484 Bang and Olufsen Medicom a/s 002485 ConteXtream Ltd 002486 DesignArt Networks 002487 Blackboard Inc. 002488 Centre For Development Of Telematics 002489 Vodafone Omnitel N.V. 00248A Kaga Electronics Co., Ltd. 00248B HYBUS CO., LTD. 00248C ASUSTek COMPUTER INC. 00248D Sony Computer Entertainment Inc. 00248E Infoware ZRt. 00248F DO-MONIX 002490 Samsung Electronics Co.,LTD 002491 Samsung Electronics 002492 Motorola, Broadband Solutions Group 002493 Motorola, Inc 002494 Shenzhen Baoxin Tech CO., Ltd. 002495 Motorola Mobile Devices 002496 Ginzinger electronic systems 002497 Cisco Systems 002498 Cisco Systems 002499 Aquila Technologies 00249A Beijing Zhongchuang Telecommunication Test Co., Ltd. 00249B Action Star Enterprise Co., Ltd. 00249C Bimeng Comunication System Co. Ltd 00249D NES Technology Inc. 00249E ADC-Elektronik GmbH 00249F RIM Testing Services 0024A0 Motorola Mobility, Inc. 0024A1 Motorola Mobility, Inc. 0024A2 Hong Kong Middleware Technology Limited 0024A3 Sonim Technologies Inc 0024A4 Siklu Communication 0024A5 Buffalo Inc. 0024A6 TELESTAR DIGITAL GmbH 0024A7 Advanced Video Communications Inc. 0024A8 ProCurve Networking by HP 0024A9 Ag Leader Technology 0024AA Dycor Technologies Ltd. 0024AB A7 Engineering, Inc. 0024AC Hangzhou DPtech Technologies Co., Ltd. 0024AD Adolf Thies Gmbh & Co. KG 0024AE Morpho 0024AF EchoStar Technologies 0024B0 ESAB AB 0024B1 Coulomb Technologies 0024B2 Netgear 0024B3 Graf-Syteco GmbH & Co. KG 0024B4 ESCATRONIC GmbH 0024B5 Nortel Networks 0024B6 Seagate Technology 0024B7 GridPoint, Inc. 0024B8 free alliance sdn bhd 0024B9 Wuhan Higheasy Electronic Technology Development Co.Ltd 0024BA Texas Instruments 0024BB CENTRAL Corporation 0024BC HuRob Co.,Ltd 0024BD Hainzl Industriesysteme GmbH 0024BE Sony Corporation 0024BF CIAT 0024C0 NTI COMODO INC 0024C1 Hangzhou Motorola Technologies LTD. 0024C2 Asumo Co.,Ltd. 0024C3 Cisco Systems 0024C4 Cisco Systems 0024C5 Meridian Audio Limited 0024C6 Hager Electro SAS 0024C7 Mobilarm Ltd 0024C8 Broadband Solutions Group 0024C9 Broadband Solutions Group 0024CA Tobii Technology AB 0024CB Autonet Mobile 0024CC Fascinations Toys and Gifts, Inc. 0024CD Willow Garage, Inc. 0024CE Exeltech Inc 0024CF Inscape Data Corporation 0024D0 Shenzhen SOGOOD Industry CO.,LTD. 0024D1 Thomson Inc. 0024D2 Askey Computer 0024D3 QUALICA Inc. 0024D4 FREEBOX SA 0024D5 Winward Industrial Limited 0024D6 Intel Corporate 0024D7 Intel Corporate 0024D8 IlSung Precision 0024D9 BICOM, Inc. 0024DA Innovar Systems Limited 0024DB Alcohol Monitoring Systems 0024DC Juniper Networks 0024DD Centrak, Inc. 0024DE GLOBAL Technology Inc. 0024DF Digitalbox Europe GmbH 0024E0 DS Tech, LLC 0024E1 Convey Computer Corp. 0024E2 HASEGAWA ELECTRIC CO.,LTD. 0024E3 CAO Group 0024E4 Withings 0024E5 Seer Technology, Inc 0024E6 In Motion Technology Inc. 0024E7 Plaster Networks 0024E8 Dell Inc. 0024E9 Samsung Electronics Co., Ltd., Storage System Division 0024EA iris-GmbH infrared & intelligent sensors 0024EB ClearPath Networks, Inc. 0024EC United Information Technology Co.,Ltd. 0024ED YT Elec. Co,.Ltd. 0024EE Wynmax Inc. 0024EF Sony Ericsson Mobile Communications 0024F0 Seanodes 0024F1 Shenzhen Fanhai Sanjiang Electronics Co., Ltd. 0024F2 Uniphone Telecommunication Co., Ltd. 0024F3 Nintendo Co., Ltd. 0024F4 Kaminario Technologies Ltd. 0024F5 NDS Surgical Imaging 0024F6 MIYOSHI ELECTRONICS CORPORATION 0024F7 Cisco Systems 0024F8 Technical Solutions Company Ltd. 0024F9 Cisco Systems 0024FA Hilger u. Kern GMBH 0024FB PRIVATE 0024FC QuoPin Co., Ltd. 0024FD Prosilient Technologies AB 0024FE AVM GmbH 0024FF QLogic Corporation 002500 Apple, Inc 002501 JSC "Supertel" 002502 NaturalPoint 002503 BLADE Network Technology 002504 Valiant Communications Limited 002505 eks Engel GmbH & Co. KG 002506 A.I. ANTITACCHEGGIO ITALIA SRL 002507 ASTAK Inc. 002508 Maquet Cardiopulmonary AG 002509 SHARETRONIC Group LTD 00250A Security Expert Co. Ltd 00250B CENTROFACTOR INC 00250C Enertrac 00250D GZT Telkom-Telmor sp. z o.o. 00250E gt german telematics gmbh 00250F On-Ramp Wireless, Inc. 002510 Pico-Tesla Magnetic Therapies 002511 ELITEGROUP COMPUTER SYSTEM CO., LTD. 002512 ZTE Corporation 002513 CXP DIGITAL BV 002514 PC Worth Int'l Co., Ltd. 002515 SFR 002516 Integrated Design Tools, Inc. 002517 Venntis, LLC 002518 Power PLUS Communications AG 002519 Viaas Inc 00251A Psiber Data Systems Inc. 00251B Philips CareServant 00251C EDT 00251D DSA Encore, LLC 00251E ROTEL TECHNOLOGIES 00251F ZYNUS VISION INC. 002520 SMA Railway Technology GmbH 002521 Logitek Electronic Systems, Inc. 002522 ASRock Incorporation 002523 OCP Inc. 002524 Lightcomm Technology Co., Ltd 002525 CTERA Networks Ltd. 002526 Genuine Technologies Co., Ltd. 002527 Bitrode Corp. 002528 Daido Signal Co., Ltd. 002529 COMELIT GROUP S.P.A 00252A Chengdu GeeYa Technology Co.,LTD 00252B Stirling Energy Systems 00252C Entourage Systems, Inc. 00252D Kiryung Electronics 00252E Cisco SPVTG 00252F Energy, Inc. 002530 Aetas Systems Inc. 002531 Cloud Engines, Inc. 002532 Digital Recorders 002533 WITTENSTEIN AG 002535 Minimax GmbH & Co KG 002536 Oki Electric Industry Co., Ltd. 002537 Runcom Technologies Ltd. 002538 Samsung Electronics Co., Ltd., Memory Division 002539 IfTA GmbH 00253A CEVA, Ltd. 00253B din Dietmar Nocker Facilitymanagement GmbH 00253C 2Wire 00253D DRS Consolidated Controls 00253E Sensus Metering Systems 002540 Quasar Technologies, Inc. 002541 Maquet Critical Care AB 002542 Pittasoft 002543 MONEYTECH 002544 LoJack Corporation 002545 Cisco Systems 002546 Cisco Systems 002547 Nokia Danmark A/S 002548 Nokia Danmark A/S 002549 Jeorich Tech. Co.,Ltd. 00254A RingCube Technologies, Inc. 00254B Apple, Inc 00254C Videon Central, Inc. 00254D Singapore Technologies Electronics Limited 00254E Vertex Wireless Co., Ltd. 00254F ELETTROLAB Srl 002550 Riverbed Technology 002551 SE-Elektronic GmbH 002552 VXI CORPORATION 002553 PIRELLI BROADBAND SOLUTIONS 002554 Pixel8 Networks 002555 Visonic Technologies 1993 Ltd 002556 Hon Hai Precision Ind. Co., Ltd. 002557 Research In Motion 002558 MPEDIA 002559 Syphan Technologies Ltd 00255A Tantalus Systems Corp. 00255B CoachComm, LLC 00255C NEC Corporation 00255D Morningstar Corporation 00255E Shanghai Dare Technologies Co.,Ltd. 00255F SenTec AG 002560 Ibridge Networks & Communications Ltd. 002561 ProCurve Networking by HP 002562 interbro Co. Ltd. 002563 Luxtera Inc 002564 Dell Inc. 002565 Vizimax Inc. 002566 Samsung Electronics Co.,Ltd 002567 Samsung Electronics 002568 Shenzhen Huawei Communication Technologies Co., Ltd 002569 SAGEM COMMUNICATION 00256A inIT - Institut Industrial IT 00256B ATENIX E.E. s.r.l. 00256C "Azimut" Production Association JSC 00256D Broadband Forum 00256E Van Breda B.V. 00256F Dantherm Power 002570 Eastern Communications Company Limited 002571 Zhejiang Tianle Digital Electric Co.,Ltd 002572 Nemo-Q International AB 002573 ST Electronics (Info-Security) Pte Ltd 002574 KUNIMI MEDIA DEVICE Co., Ltd. 002575 FiberPlex Inc 002576 NELI TECHNOLOGIES 002577 D-BOX Technologies 002578 JSC "Concern "Sozvezdie" 002579 J & F Labs 00257A CAMCO Produktions- und Vertriebs-GmbH für Beschallungs- und Beleuchtungsanlagen 00257B STJ ELECTRONICS PVT LTD 00257C Huachentel Technology Development Co., Ltd 00257D PointRed Telecom Private Ltd. 00257E NEW POS Technology Limited 00257F CallTechSolution Co.,Ltd 002580 Equipson S.A. 002581 x-star networks Inc. 002582 Maksat Technologies (P) Ltd 002583 Cisco Systems 002584 Cisco Systems 002585 KOKUYO S&T Co., Ltd. 002586 TP-LINK Technologies Co., Ltd. 002587 Vitality, Inc. 002588 Genie Industries, Inc. 002589 Hills Industries Limited 00258A Pole/Zero Corporation 00258B Mellanox Technologies Ltd 00258C ESUS ELEKTRONIK SAN. VE DIS. TIC. LTD. STI. 00258D Haier 00258E The Weather Channel 00258F Trident Microsystems, Inc. 002590 Super Micro Computer, Inc. 002591 NEXTEK, Inc. 002592 Guangzhou Shirui Electronic Co., Ltd 002593 DatNet Informatikai Kft. 002594 Eurodesign BG LTD 002595 Northwest Signal Supply, Inc 002596 GIGAVISION srl 002597 Kalki Communication Technologies 002598 Zhong Shan City Litai Electronic Industrial Co. Ltd 002599 Hedon e.d. B.V. 00259A CEStronics GmbH 00259B Beijing PKUNITY Microsystems Technology Co., Ltd 00259C Cisco-Linksys, LLC 00259D PRIVATE 00259E Huawei Technologies Co., Ltd. 00259F TechnoDigital Technologies GmbH 0025A0 Nintendo Co., Ltd. 0025A1 Enalasys 0025A2 Alta Definicion LINCEO S.L. 0025A3 Trimax Wireless, Inc. 0025A4 EuroDesign embedded technologies GmbH 0025A5 Walnut Media Network 0025A6 Central Network Solution Co., Ltd. 0025A7 Comverge, Inc. 0025A8 Kontron (BeiJing) Technology Co.,Ltd 0025A9 Shanghai Embedway Information Technologies Co.,Ltd 0025AA Beijing Soul Technology Co.,Ltd. 0025AB AIO LCD PC BU / TPV 0025AC I-Tech corporation 0025AD Manufacturing Resources International 0025AE Microsoft Corporation 0025AF COMFILE Technology 0025B0 Schmartz Inc 0025B1 Maya-Creation Corporation 0025B2 LFK-Lenkflugkörpersysteme GmbH 0025B3 Hewlett Packard 0025B4 Cisco Systems 0025B5 Cisco Systems 0025B6 Telecom FM 0025B7 Costar electronics, inc., 0025B8 Agile Communications, Inc. 0025B9 Agilink Systems Corp. 0025BA Alcatel-Lucent IPD 0025BB INNERINT Co., Ltd. 0025BC Apple, Inc 0025BD Italdata Ingegneria dell'Idea S.p.A. 0025BE Tektrap Systems Inc. 0025BF Wireless Cables Inc. 0025C0 ZillionTV Corporation 0025C1 Nawoo Korea Corp. 0025C2 RingBell Co.,Ltd. 0025C3 Nortel Networks 0025C4 Ruckus Wireless 0025C5 Star Link Communication Pvt. Ltd. 0025C6 kasercorp, ltd 0025C7 altek Corporation 0025C8 S-Access GmbH 0025C9 SHENZHEN HUAPU DIGITAL CO., LTD 0025CA LS Research, LLC 0025CB Reiner SCT 0025CC Mobile Communications Korea Incorporated 0025CD Skylane Optics 0025CE InnerSpace 0025CF Nokia Danmark A/S 0025D0 Nokia Danmark A/S 0025D1 Eastech Electronics (Taiwan) Inc. 0025D2 InpegVision Co., Ltd 0025D3 AzureWave Technologies, Inc 0025D4 Fortress Technologies 0025D5 Robonica (Pty) Ltd 0025D6 The Kroger Co. 0025D7 CEDO 0025D8 KOREA MAINTENANCE 0025D9 DataFab Systems Inc. 0025DA Secura Key 0025DB ATI Electronics(Shenzhen) Co., LTD 0025DC Sumitomo Electric Networks, Inc 0025DD SUNNYTEK INFORMATION CO., LTD. 0025DE Probits Co., LTD. 0025DF PRIVATE 0025E0 CeedTec Sdn Bhd 0025E1 SHANGHAI SEEYOO ELECTRONIC & TECHNOLOGY CO., LTD 0025E2 Everspring Industry Co., Ltd. 0025E3 Hanshinit Inc. 0025E4 OMNI-WiFi, LLC 0025E5 LG Electronics Inc 0025E6 Belgian Monitoring Systems bvba 0025E7 Sony Ericsson Mobile Communications 0025E8 Idaho Technology 0025E9 i-mate Development, Inc. 0025EA Iphion BV 0025EB Reutech Radar Systems (PTY) Ltd 0025EC Humanware 0025ED NuVo Technologies LLC 0025EE Avtex Ltd 0025EF I-TEC Co., Ltd. 0025F0 Suga Electronics Limited 0025F1 Motorola Mobility, Inc. 0025F2 Motorola Mobility, Inc. 0025F3 Nordwestdeutsche Zählerrevision 0025F4 KoCo Connector AG 0025F5 DVS Korea, Co., Ltd 0025F6 netTALK.com, Inc. 0025F7 Ansaldo STS USA 0025F9 GMK electronic design GmbH 0025FA J&M Analytik AG 0025FB Tunstall Healthcare A/S 0025FC ENDA ENDUSTRIYEL ELEKTRONIK LTD. STI. 0025FD OBR Centrum Techniki Morskiej S.A. 0025FE Pilot Electronics Corporation 0025FF CreNova Technology GmbH 002600 TEAC Australia Pty Ltd. 002601 PRIVATE 002602 SMART Temps LLC 002603 Shenzhen Wistar Technology Co., Ltd 002604 Audio Processing Technology Ltd 002605 CC Systems AB 002606 RAUMFELD GmbH 002607 Enabling Technology Pty Ltd 002608 Apple, Inc 002609 Phyllis Co., Ltd. 00260A Cisco Systems 00260B Cisco Systems 00260C Dataram 00260D Micronetics, Inc. 00260E Ablaze Systems, LLC 00260F Linn Products Ltd 002610 Apacewave Technologies 002611 Licera AB 002612 Space Exploration Technologies 002613 Engel Axil S.L. 002614 KTNF 002615 Teracom Limited 002616 Rosemount Inc. 002617 OEM Worldwide 002618 ASUSTek COMPUTER INC. 002619 FRC 00261A Femtocomm System Technology Corp. 00261B LAUREL BANK MACHINES CO., LTD. 00261C NEOVIA INC. 00261D COP SECURITY SYSTEM CORP. 00261E QINGBANG ELEC(SZ) CO., LTD 00261F SAE Magnetics (H.K.) Ltd. 002620 ISGUS GmbH 002621 InteliCloud Technology Inc. 002622 COMPAL INFORMATION (KUNSHAN) CO., LTD. 002623 JRD Communication Inc 002624 Thomson Inc. 002625 MediaSputnik 002626 Geophysical Survey Systems, Inc. 002627 Truesell 002628 companytec automação e controle ltda 002629 Juphoon System Software Inc. 00262A Proxense, LLC 00262B Wongs Electronics Co. Ltd. 00262C IKT Advanced Technologies s.r.o. 00262D Wistron Corporation 00262E Chengdu Jiuzhou Electronic Technology Inc 00262F HAMAMATSU TOA ELECTRONICS 002630 ACOREL S.A.S 002631 COMMTACT LTD 002632 Instrumentation Technologies d.d. 002633 MIR - Medical International Research 002634 Infineta Systems, Inc 002635 Bluetechnix GmbH 002636 Motorola Mobile Devices 002637 Samsung Electro-Mechanics 002638 Xia Men Joyatech Co., Ltd. 002639 T.M. Electronics, Inc. 00263A Digitec Systems 00263B Onbnetech 00263C Bachmann GmbH & Co. KG 00263D MIA Corporation 00263E Trapeze Networks 00263F LIOS Technology GmbH 002640 Baustem Broadband Technologies, Ltd. 002641 Motorola, Inc 002642 Motorola, Inc 002643 Alps Electric Co., Ltd 002644 Thomson Telecom Belgium 002645 Circontrol S.A. 002646 SHENYANG TONGFANG MULTIMEDIA TECHNOLOGY COMPANY LIMITED 002647 WFE TECHNOLOGY CORP. 002648 Emitech Corp. 00264A Apple, Inc 00264C Shanghai DigiVision Technology Co., Ltd. 00264D Arcadyan Technology Corporation 00264E Rail & Road Protec GmbH 00264F Krüger&Gothe GmbH 002650 2Wire 002651 Cisco Systems 002652 Cisco Systems 002653 DaySequerra Corporation 002654 3Com Corporation 002655 Hewlett Packard 002656 Sansonic Electronics USA 002657 OOO NPP EKRA 002658 T-Platforms (Cyprus) Limited 002659 Nintendo Co., Ltd. 00265A D-Link Corporation 00265B Hitron Technologies. Inc 00265C Hon Hai Precision Ind. Co.,Ltd. 00265D Samsung Electronics 00265E Hon Hai Precision Ind. Co.,Ltd. 00265F Samsung Electronics Co.,Ltd 002660 Logiways 002661 Irumtek Co., Ltd. 002662 Actiontec Electronics, Inc 002663 Shenzhen Huitaiwei Tech. Ltd, co. 002664 Core System Japan 002665 ProtectedLogic Corporation 002666 EFM Networks 002667 CARECOM CO.,LTD. 002668 Nokia Danmark A/S 002669 Nokia Danmark A/S 00266A ESSENSIUM NV 00266B SHINE UNION ENTERPRISE LIMITED 00266C Inventec 00266D MobileAccess Networks 00266E Nissho-denki Co.,LTD. 00266F Coordiwise Technology Corp. 002670 Cinch Connectors 002671 AUTOVISION Co., Ltd 002672 AAMP of America 002673 RICOH COMPANY LTD. 002674 Electronic Solutions, Inc. 002675 Aztech Electronics Pte Ltd 002676 COMMidt AS 002677 DEIF A/S 002678 Logic Instrument SA 002679 Euphonic Technologies, Inc. 00267A wuhan hongxin telecommunication technologies co.,ltd 00267B GSI Helmholtzzentrum für Schwerionenforschung GmbH 00267C Metz-Werke GmbH & Co KG 00267D A-Max Technology Macao Commercial Offshore Company Limited 00267E Parrot SA 00267F Zenterio AB 002680 Lockie Innovation Pty Ltd 002681 Interspiro AB 002682 Gemtek Technology Co., Ltd. 002683 Ajoho Enterprise Co., Ltd. 002684 KISAN SYSTEM 002685 Digital Innovation 002686 Quantenna Communcations, Inc. 002687 ALLIED TELESIS, K.K corega division. 002688 Juniper Networks 002689 General Dynamics Robotic Systems 00268A Terrier SC Ltd 00268B Guangzhou Escene Computer Technology Limited 00268C StarLeaf Ltd. 00268D CellTel S.p.A. 00268E Alta Solutions, Inc. 00268F MTA SpA 002690 I DO IT 002691 SAGEM COMMUNICATION 002692 Mitsubishi Electric Co. 002693 QVidium Technologies, Inc. 002694 Senscient Ltd 002695 ZT Group Int'l Inc 002696 NOOLIX Co., Ltd 002697 Cheetah Technologies, L.P. 002698 Cisco Systems 002699 Cisco Systems 00269A carina system co., ltd. 00269B SOKRAT Ltd. 00269C ITUS JAPAN CO. LTD 00269D M2Mnet Co., Ltd. 00269E Quanta Computer Inc 00269F PRIVATE 0026A0 moblic 0026A1 Megger 0026A2 Instrumentation Technology Systems 0026A3 FQ Ingenieria Electronica S.A. 0026A4 Novus Produtos Eletronicos Ltda 0026A5 MICROROBOT.CO.,LTD 0026A6 TRIXELL 0026A7 CONNECT SRL 0026A8 DAEHAP HYPER-TECH 0026A9 Strong Technologies Pty Ltd 0026AA Kenmec Mechanical Engineering Co., Ltd. 0026AB SEIKO EPSON CORPORATION 0026AC Shanghai LUSTER Teraband photonic Co., Ltd. 0026AD Arada Systems, Inc. 0026AE Wireless Measurement Ltd 0026AF Duelco A/S 0026B0 Apple, Inc 0026B1 Navis Auto Motive Systems, Inc. 0026B2 Setrix AG 0026B3 Thales Communications Inc 0026B4 Ford Motor Company 0026B5 ICOMM Tele Ltd 0026B6 Askey Computer 0026B7 Kingston Technology Company, Inc. 0026B8 Actiontec Electronics, Inc 0026B9 Dell Inc 0026BA Motorola Mobile Devices 0026BB Apple, Inc 0026BC General Jack Technology Ltd. 0026BD JTEC Card & Communication Co., Ltd. 0026BE Schoonderbeek Elektronica Systemen B.V. 0026BF ShenZhen Temobi Science&Tech Development Co.,Ltd 0026C0 EnergyHub 0026C1 ARTRAY CO., LTD. 0026C2 SCDI Co. LTD 0026C3 Insightek Corp. 0026C4 Cadmos microsystems S.r.l. 0026C5 Guangdong Gosun Telecommunications Co.,Ltd 0026C6 Intel Corporate 0026C7 Intel Corporate 0026C8 System Sensor 0026C9 Proventix Systems, Inc. 0026CA Cisco Systems 0026CB Cisco Systems 0026CC Nokia Danmark A/S 0026CD PurpleComm, Inc. 0026CE Kozumi USA Corp. 0026CF DEKA R&D 0026D0 Semihalf 0026D1 S Squared Innovations Inc. 0026D2 Pcube Systems, Inc. 0026D3 Zeno Information System 0026D4 IRCA SpA 0026D5 Ory Solucoes em Comercio de Informatica Ltda. 0026D6 Ningbo Andy Optoelectronic Co., Ltd. 0026D7 Xiamen BB Electron & Technology Co., Ltd. 0026D8 Magic Point Inc. 0026D9 Pace plc 0026DA Universal Media Corporation /Slovakia/ s.r.o. 0026DB Ionics EMS Inc. 0026DC Optical Systems Design 0026DD Fival Corporation 0026DE FDI MATELEC 0026DF TaiDoc Technology Corp. 0026E0 ASITEQ 0026E1 Stanford University, OpenFlow Group 0026E2 LG Electronics 0026E3 DTI 0026E4 CANAL OVERSEAS 0026E5 AEG Power Solutions 0026E6 Visionhitech Co., Ltd. 0026E7 Shanghai ONLAN Communication Tech. Co., Ltd. 0026E8 Murata Manufacturing Co., Ltd. 0026E9 SP Corp 0026EA Cheerchip Electronic Technology (ShangHai) Co., Ltd. 0026EB Advanced Spectrum Technology Co., Ltd. 0026EC Legrand Home Systems, Inc 0026ED zte corporation 0026EE TKM GmbH 0026EF Technology Advancement Group, Inc. 0026F0 cTrixs International GmbH. 0026F1 ProCurve Networking by HP 0026F2 Netgear 0026F3 SMC Networks 0026F4 Nesslab 0026F5 XRPLUS Inc. 0026F6 Military Communication Institute 0026F7 Infosys Technologies Ltd. 0026F8 Golden Highway Industry Development Co., Ltd. 0026F9 S.E.M. srl 0026FA BandRich Inc. 0026FB AirDio Wireless, Inc. 0026FC AcSiP Technology Corp. 0026FD Interactive Intelligence 0026FE MKD Technology Inc. 0026FF Research In Motion 002700 Shenzhen Siglent Technology Co., Ltd. 002701 INCOstartec GmbH 002702 SolarEdge Technologies 002703 Testech Electronics Pte Ltd 002704 Accelerated Concepts, LLC 002705 Sectronic 002706 YOISYS 002707 Lift Complex DS, JSC 002708 Nordiag ASA 002709 Nintendo Co., Ltd. 00270A IEE S.A. 00270B Adura Technologies 00270C Cisco Systems 00270D Cisco Systems 00270E Intel Corporate 00270F Envisionnovation Inc 002710 Intel Corporate 002711 LanPro Inc 002712 MaxVision LLC 002713 Universal Global Scientific Industrial Co., Ltd. 002714 Grainmustards, Co,ltd. 002715 Rebound Telecom. Co., Ltd 002716 Adachi-Syokai Co., Ltd. 002717 CE Digital(Zhenjiang)Co.,Ltd 002718 Suzhou NEW SEAUNION Video Technology Co.,Ltd 002719 TP-LINK TECHNOLOGIES CO., LTD. 00271A Geenovo Technology Ltd. 00271B Alec Sicherheitssysteme GmbH 00271C MERCURY CORPORATION 00271D Comba Telecom Systems (China) Ltd. 00271E Xagyl Communications 00271F MIPRO Electronics Co., Ltd 002720 NEW-SOL COM 002721 Shenzhen Baoan Fenda Industrial Co., Ltd 002722 Ubiquiti Networks 0027F8 Brocade Communications Systems, Inc 003000 ALLWELL TECHNOLOGY CORP. 003001 SMP 003002 Expand Networks 003003 Phasys Ltd. 003004 LEADTEK RESEARCH INC. 003005 Fujitsu Siemens Computers 003006 SUPERPOWER COMPUTER 003007 OPTI, INC. 003008 AVIO DIGITAL, INC. 003009 Tachion Networks, Inc. 00300A AZTECH Electronics Pte Ltd 00300B mPHASE Technologies, Inc. 00300C CONGRUENCY, LTD. 00300D MMC Technology, Inc. 00300E Klotz Digital AG 00300F IMT - Information Management T 003010 VISIONETICS INTERNATIONAL 003011 HMS FIELDBUS SYSTEMS AB 003012 DIGITAL ENGINEERING LTD. 003013 NEC Corporation 003014 DIVIO, INC. 003015 CP CLARE CORP. 003016 ISHIDA CO., LTD. 003017 BlueArc UK Ltd 003018 Jetway Information Co., Ltd. 003019 CISCO SYSTEMS, INC. 00301A SMARTBRIDGES PTE. LTD. 00301B SHUTTLE, INC. 00301C ALTVATER AIRDATA SYSTEMS 00301D SKYSTREAM, INC. 00301E 3COM Europe Ltd. 00301F OPTICAL NETWORKS, INC. 003020 TSI, Inc.. 003021 HSING TECH. ENTERPRISE CO.,LTD 003022 Fong Kai Industrial Co., Ltd. 003023 COGENT COMPUTER SYSTEMS, INC. 003024 CISCO SYSTEMS, INC. 003025 CHECKOUT COMPUTER SYSTEMS, LTD 003026 HeiTel Digital Video GmbH 003027 KERBANGO, INC. 003028 FASE Saldatura srl 003029 OPICOM 00302A SOUTHERN INFORMATION 00302B INALP NETWORKS, INC. 00302C SYLANTRO SYSTEMS CORPORATION 00302D QUANTUM BRIDGE COMMUNICATIONS 00302E Hoft & Wessel AG 00302F GE Aviation System 003030 HARMONIX CORPORATION 003031 LIGHTWAVE COMMUNICATIONS, INC. 003032 MagicRam, Inc. 003033 ORIENT TELECOM CO., LTD. 003034 SET ENGINEERING 003035 Corning Incorporated 003036 RMP ELEKTRONIKSYSTEME GMBH 003037 Packard Bell Nec Services 003038 XCP, INC. 003039 SOFTBOOK PRESS 00303A MAATEL 00303B PowerCom Technology 00303C ONNTO CORP. 00303D IVA CORPORATION 00303E Radcom Ltd. 00303F TurboComm Tech Inc. 003040 CISCO SYSTEMS, INC. 003041 SAEJIN T & M CO., LTD. 003042 DeTeWe-Deutsche Telephonwerke 003043 IDREAM TECHNOLOGIES, PTE. LTD. 003044 CradlePoint, Inc 003045 Village Networks, Inc. (VNI) 003046 Controlled Electronic Manageme 003047 NISSEI ELECTRIC CO., LTD. 003048 Supermicro Computer, Inc. 003049 BRYANT TECHNOLOGY, LTD. 00304A Fraunhofer IPMS 00304B ORBACOM SYSTEMS, INC. 00304C APPIAN COMMUNICATIONS, INC. 00304D ESI 00304E BUSTEC PRODUCTION LTD. 00304F PLANET Technology Corporation 003050 Versa Technology 003051 ORBIT AVIONIC & COMMUNICATION 003052 ELASTIC NETWORKS 003053 Basler AG 003054 CASTLENET TECHNOLOGY, INC. 003055 Renesas Technology America, Inc. 003056 Beck IPC GmbH 003057 QTelNet, Inc. 003058 API MOTION 003059 KONTRON COMPACT COMPUTERS AG 00305A TELGEN CORPORATION 00305B Toko Inc. 00305C SMAR Laboratories Corp. 00305D DIGITRA SYSTEMS, INC. 00305E Abelko Innovation 00305F Hasselblad 003060 Powerfile, Inc. 003061 MobyTEL 003062 PATH 1 NETWORK TECHNOL'S INC. 003063 SANTERA SYSTEMS, INC. 003064 ADLINK TECHNOLOGY, INC. 003065 APPLE COMPUTER, INC. 003066 RFM 003067 BIOSTAR MICROTECH INT'L CORP. 003068 CYBERNETICS TECH. CO., LTD. 003069 IMPACCT TECHNOLOGY CORP. 00306A PENTA MEDIA CO., LTD. 00306B CMOS SYSTEMS, INC. 00306C Hitex Holding GmbH 00306D LUCENT TECHNOLOGIES 00306E HEWLETT PACKARD 00306F SEYEON TECH. CO., LTD. 003070 1Net Corporation 003071 Cisco Systems, Inc. 003072 Intellibyte Inc. 003073 International Microsystems, In 003074 EQUIINET LTD. 003075 ADTECH 003076 Akamba Corporation 003077 ONPREM NETWORKS 003078 Cisco Systems, Inc. 003079 CQOS, INC. 00307A Advanced Technology & Systems 00307B Cisco Systems, Inc. 00307C ADID SA 00307D GRE AMERICA, INC. 00307E Redflex Communication Systems 00307F IRLAN LTD. 003080 CISCO SYSTEMS, INC. 003081 ALTOS C&C 003082 TAIHAN ELECTRIC WIRE CO., LTD. 003083 Ivron Systems 003084 ALLIED TELESYN INTERNAIONAL 003085 CISCO SYSTEMS, INC. 003086 Transistor Devices, Inc. 003087 VEGA GRIESHABER KG 003088 Siara Systems, Inc. 003089 Spectrapoint Wireless, LLC 00308A NICOTRA SISTEMI S.P.A 00308B Brix Networks 00308C Quantum Corporation 00308D Pinnacle Systems, Inc. 00308E CROSS MATCH TECHNOLOGIES, INC. 00308F MICRILOR, Inc. 003090 CYRA TECHNOLOGIES, INC. 003091 TAIWAN FIRST LINE ELEC. CORP. 003092 ModuNORM GmbH 003093 Sonnet Technologies, Inc 003094 Cisco Systems, Inc. 003095 Procomp Informatics, Ltd. 003096 CISCO SYSTEMS, INC. 003097 AB Regin 003098 Global Converging Technologies 003099 BOENIG UND KALLENBACH OHG 00309A ASTRO TERRA CORP. 00309B Smartware 00309C Timing Applications, Inc. 00309D Nimble Microsystems, Inc. 00309E WORKBIT CORPORATION. 00309F AMBER NETWORKS 0030A0 TYCO SUBMARINE SYSTEMS, LTD. 0030A1 WEBGATE Inc. 0030A2 Lightner Engineering 0030A3 CISCO SYSTEMS, INC. 0030A4 Woodwind Communications System 0030A5 ACTIVE POWER 0030A6 VIANET TECHNOLOGIES, LTD. 0030A7 SCHWEITZER ENGINEERING 0030A8 OL'E COMMUNICATIONS, INC. 0030A9 Netiverse, Inc. 0030AA AXUS MICROSYSTEMS, INC. 0030AB DELTA NETWORKS, INC. 0030AC Systeme Lauer GmbH & Co., Ltd. 0030AD SHANGHAI COMMUNICATION 0030AE Times N System, Inc. 0030AF Honeywell GmbH 0030B0 Convergenet Technologies 0030B1 aXess-pro networks GmbH 0030B2 L-3 Sonoma EO 0030B3 San Valley Systems, Inc. 0030B4 INTERSIL CORP. 0030B5 Tadiran Microwave Networks 0030B6 CISCO SYSTEMS, INC. 0030B7 Teletrol Systems, Inc. 0030B8 RiverDelta Networks 0030B9 ECTEL 0030BA AC&T SYSTEM CO., LTD. 0030BB CacheFlow, Inc. 0030BC Optronic AG 0030BD BELKIN COMPONENTS 0030BE City-Net Technology, Inc. 0030BF MULTIDATA GMBH 0030C0 Lara Technology, Inc. 0030C1 HEWLETT-PACKARD 0030C2 COMONE 0030C3 FLUECKIGER ELEKTRONIK AG 0030C4 Canon Imaging Systems Inc. 0030C5 CADENCE DESIGN SYSTEMS 0030C6 CONTROL SOLUTIONS, INC. 0030C7 Macromate Corp. 0030C8 GAD LINE, LTD. 0030C9 LuxN, N 0030CA Discovery Com 0030CB OMNI FLOW COMPUTERS, INC. 0030CC Tenor Networks, Inc. 0030CD CONEXANT SYSTEMS, INC. 0030CE Zaffire 0030CF TWO TECHNOLOGIES, INC. 0030D0 Tellabs 0030D1 INOVA CORPORATION 0030D2 WIN TECHNOLOGIES, CO., LTD. 0030D3 Agilent Technologies 0030D4 AAE Systems, Inc 0030D5 DResearch GmbH 0030D6 MSC VERTRIEBS GMBH 0030D7 Innovative Systems, L.L.C. 0030D8 SITEK 0030D9 DATACORE SOFTWARE CORP. 0030DA COMTREND CO. 0030DB Mindready Solutions, Inc. 0030DC RIGHTECH CORPORATION 0030DD INDIGITA CORPORATION 0030DE WAGO Kontakttechnik GmbH 0030DF KB/TEL TELECOMUNICACIONES 0030E0 OXFORD SEMICONDUCTOR LTD. 0030E1 Network Equipment Technologies, Inc. 0030E2 GARNET SYSTEMS CO., LTD. 0030E3 SEDONA NETWORKS CORP. 0030E4 CHIYODA SYSTEM RIKEN 0030E5 Amper Datos S.A. 0030E6 Draeger Medical Systems, Inc. 0030E7 CNF MOBILE SOLUTIONS, INC. 0030E8 ENSIM CORP. 0030E9 GMA COMMUNICATION MANUFACT'G 0030EA TeraForce Technology Corporation 0030EB TURBONET COMMUNICATIONS, INC. 0030EC BORGARDT 0030ED Expert Magnetics Corp. 0030EE DSG Technology, Inc. 0030EF NEON TECHNOLOGY, INC. 0030F0 Uniform Industrial Corp. 0030F1 Accton Technology Corp. 0030F2 CISCO SYSTEMS, INC. 0030F3 At Work Computers 0030F4 STARDOT TECHNOLOGIES 0030F5 Wild Lab. Ltd. 0030F6 SECURELOGIX CORPORATION 0030F7 RAMIX INC. 0030F8 Dynapro Systems, Inc. 0030F9 Sollae Systems Co., Ltd. 0030FA TELICA, INC. 0030FB AZS Technology AG 0030FC Terawave Communications, Inc. 0030FD INTEGRATED SYSTEMS DESIGN 0030FE DSA GmbH 0030FF DATAFAB SYSTEMS, INC. 00336C SynapSense Corporation 0034F1 Radicom Research, Inc. 003532 Electro-Metrics Corporation 003A98 Cisco Systems 003A99 Cisco Systems 003A9A Cisco Systems 003A9B Cisco Systems 003A9C Cisco Systems 003A9D NEC AccessTechnica, Ltd. 003AAF BlueBit Ltd. 003CC5 WONWOO Engineering Co., Ltd 003D41 Hatteland Computer AS 004000 PCI COMPONENTES DA AMZONIA LTD 004001 ZYXEL COMMUNICATIONS, INC. 004002 PERLE SYSTEMS LIMITED 004003 Emerson Process Management Power & Water Solutions, Inc. 004004 ICM CO. LTD. 004005 ANI COMMUNICATIONS INC. 004006 SAMPO TECHNOLOGY CORPORATION 004007 TELMAT INFORMATIQUE 004008 A PLUS INFO CORPORATION 004009 TACHIBANA TECTRON CO., LTD. 00400A PIVOTAL TECHNOLOGIES, INC. 00400B CISCO SYSTEMS, INC. 00400C GENERAL MICRO SYSTEMS, INC. 00400D LANNET DATA COMMUNICATIONS,LTD 00400E MEMOTEC, INC. 00400F DATACOM TECHNOLOGIES 004010 SONIC SYSTEMS, INC. 004011 ANDOVER CONTROLS CORPORATION 004012 WINDATA, INC. 004013 NTT DATA COMM. SYSTEMS CORP. 004014 COMSOFT GMBH 004015 ASCOM INFRASYS AG 004016 ADC - Global Connectivity Solutions Division 004017 Silex Technology America 004018 ADOBE SYSTEMS, INC. 004019 AEON SYSTEMS, INC. 00401A FUJI ELECTRIC CO., LTD. 00401B PRINTER SYSTEMS CORP. 00401C AST RESEARCH, INC. 00401D INVISIBLE SOFTWARE, INC. 00401E ICC 00401F COLORGRAPH LTD 004020 Tyco Electronics (UK) Ltd 004021 RASTER GRAPHICS 004022 KLEVER COMPUTERS, INC. 004023 LOGIC CORPORATION 004024 COMPAC INC. 004025 MOLECULAR DYNAMICS 004026 Buffalo, Inc 004027 SMC MASSACHUSETTS, INC. 004028 NETCOMM LIMITED 004029 COMPEX 00402A CANOGA-PERKINS 00402B TRIGEM COMPUTER, INC. 00402C ISIS DISTRIBUTED SYSTEMS, INC. 00402D HARRIS ADACOM CORPORATION 00402E PRECISION SOFTWARE, INC. 00402F XLNT DESIGNS INC. 004030 GK COMPUTER 004031 KOKUSAI ELECTRIC CO., LTD 004032 DIGITAL COMMUNICATIONS 004033 ADDTRON TECHNOLOGY CO., LTD. 004034 BUSTEK CORPORATION 004035 OPCOM 004036 TRIBE COMPUTER WORKS, INC. 004037 SEA-ILAN, INC. 004038 TALENT ELECTRIC INCORPORATED 004039 OPTEC DAIICHI DENKO CO., LTD. 00403A IMPACT TECHNOLOGIES 00403B SYNERJET INTERNATIONAL CORP. 00403C FORKS, INC. 00403D TERADATA 00403E RASTER OPS CORPORATION 00403F SSANGYONG COMPUTER SYSTEMS 004040 RING ACCESS, INC. 004041 FUJIKURA LTD. 004042 N.A.T. GMBH 004043 Nokia Siemens Networks GmbH & Co. KG. 004044 QNIX COMPUTER CO., LTD. 004045 TWINHEAD CORPORATION 004046 UDC RESEARCH LIMITED 004047 WIND RIVER SYSTEMS 004048 SMD INFORMATICA S.A. 004049 TEGIMENTA AG 00404A WEST AUSTRALIAN DEPARTMENT 00404B MAPLE COMPUTER SYSTEMS 00404C HYPERTEC PTY LTD. 00404D TELECOMMUNICATIONS TECHNIQUES 00404E FLUENT, INC. 00404F SPACE & NAVAL WARFARE SYSTEMS 004050 IRONICS, INCORPORATED 004051 GRACILIS, INC. 004052 STAR TECHNOLOGIES, INC. 004053 AMPRO COMPUTERS 004054 CONNECTION MACHINES SERVICES 004055 METRONIX GMBH 004056 MCM JAPAN LTD. 004057 LOCKHEED - SANDERS 004058 KRONOS, INC. 004059 YOSHIDA KOGYO K. K. 00405A GOLDSTAR INFORMATION & COMM. 00405B FUNASSET LIMITED 00405C FUTURE SYSTEMS, INC. 00405D STAR-TEK, INC. 00405E NORTH HILLS ISRAEL 00405F AFE COMPUTERS LTD. 004060 COMENDEC LTD 004061 DATATECH ENTERPRISES CO., LTD. 004062 E-SYSTEMS, INC./GARLAND DIV. 004063 VIA TECHNOLOGIES, INC. 004064 KLA INSTRUMENTS CORPORATION 004065 GTE SPACENET 004066 HITACHI CABLE, LTD. 004067 OMNIBYTE CORPORATION 004068 EXTENDED SYSTEMS 004069 LEMCOM SYSTEMS, INC. 00406A KENTEK INFORMATION SYSTEMS,INC 00406B SYSGEN 00406C COPERNIQUE 00406D LANCO, INC. 00406E COROLLARY, INC. 00406F SYNC RESEARCH INC. 004070 INTERWARE CO., LTD. 004071 ATM COMPUTER GMBH 004072 Applied Innovation Inc. 004073 BASS ASSOCIATES 004074 CABLE AND WIRELESS 004075 M-TRADE (UK) LTD 004076 Sun Conversion Technologies 004077 MAXTON TECHNOLOGY CORPORATION 004078 WEARNES AUTOMATION PTE LTD 004079 JUKO MANUFACTURE COMPANY, LTD. 00407A SOCIETE D'EXPLOITATION DU CNIT 00407B SCIENTIFIC ATLANTA 00407C QUME CORPORATION 00407D EXTENSION TECHNOLOGY CORP. 00407E EVERGREEN SYSTEMS, INC. 00407F FLIR Systems 004080 ATHENIX CORPORATION 004081 MANNESMANN SCANGRAPHIC GMBH 004082 LABORATORY EQUIPMENT CORP. 004083 TDA INDUSTRIA DE PRODUTOS 004084 HONEYWELL ACS 004085 SAAB INSTRUMENTS AB 004086 MICHELS & KLEBERHOFF COMPUTER 004087 UBITREX CORPORATION 004088 MOBIUS TECHNOLOGIES, INC. 004089 MEIDENSHA CORPORATION 00408A TPS TELEPROCESSING SYS. GMBH 00408B RAYLAN CORPORATION 00408C AXIS COMMUNICATIONS AB 00408D THE GOODYEAR TIRE & RUBBER CO. 00408E DIGILOG, INC. 00408F WM-DATA MINFO AB 004090 ANSEL COMMUNICATIONS 004091 PROCOMP INDUSTRIA ELETRONICA 004092 ASP COMPUTER PRODUCTS, INC. 004093 PAXDATA NETWORKS LTD. 004094 SHOGRAPHICS, INC. 004095 R.P.T. INTERGROUPS INT'L LTD. 004096 Cisco Systems, Inc. 004097 DATEX DIVISION OF 004098 DRESSLER GMBH & CO. 004099 NEWGEN SYSTEMS CORP. 00409A NETWORK EXPRESS, INC. 00409B HAL COMPUTER SYSTEMS INC. 00409C TRANSWARE 00409D DIGIBOARD, INC. 00409E CONCURRENT TECHNOLOGIES LTD. 00409F LANCAST/CASAT TECHNOLOGY, INC. 0040A0 GOLDSTAR CO., LTD. 0040A1 ERGO COMPUTING 0040A2 KINGSTAR TECHNOLOGY INC. 0040A3 MICROUNITY SYSTEMS ENGINEERING 0040A4 ROSE ELECTRONICS 0040A5 CLINICOMP INTL. 0040A6 Cray, Inc. 0040A7 ITAUTEC PHILCO S.A. 0040A8 IMF INTERNATIONAL LTD. 0040A9 DATACOM INC. 0040AA VALMET AUTOMATION INC. 0040AB ROLAND DG CORPORATION 0040AC SUPER WORKSTATION, INC. 0040AD SMA REGELSYSTEME GMBH 0040AE DELTA CONTROLS, INC. 0040AF DIGITAL PRODUCTS, INC. 0040B0 BYTEX CORPORATION, ENGINEERING 0040B1 CODONICS INC. 0040B2 SYSTEMFORSCHUNG 0040B3 PAR MICROSYSTEMS CORPORATION 0040B4 NEXTCOM K.K. 0040B5 VIDEO TECHNOLOGY COMPUTERS LTD 0040B6 COMPUTERM CORPORATION 0040B7 STEALTH COMPUTER SYSTEMS 0040B8 IDEA ASSOCIATES 0040B9 MACQ ELECTRONIQUE SA 0040BA ALLIANT COMPUTER SYSTEMS CORP. 0040BB GOLDSTAR CABLE CO., LTD. 0040BC ALGORITHMICS LTD. 0040BD STARLIGHT NETWORKS, INC. 0040BE BOEING DEFENSE & SPACE 0040BF CHANNEL SYSTEMS INTERN'L INC. 0040C0 VISTA CONTROLS CORPORATION 0040C1 BIZERBA-WERKE WILHEIM KRAUT 0040C2 APPLIED COMPUTING DEVICES 0040C3 FISCHER AND PORTER CO. 0040C4 KINKEI SYSTEM CORPORATION 0040C5 MICOM COMMUNICATIONS INC. 0040C6 FIBERNET RESEARCH, INC. 0040C7 RUBY TECH CORPORATION 0040C8 MILAN TECHNOLOGY CORPORATION 0040C9 NCUBE 0040CA FIRST INTERNAT'L COMPUTER, INC 0040CB LANWAN TECHNOLOGIES 0040CC SILCOM MANUF'G TECHNOLOGY INC. 0040CD TERA MICROSYSTEMS, INC. 0040CE NET-SOURCE, INC. 0040CF STRAWBERRY TREE, INC. 0040D0 MITAC INTERNATIONAL CORP. 0040D1 FUKUDA DENSHI CO., LTD. 0040D2 PAGINE CORPORATION 0040D3 KIMPSION INTERNATIONAL CORP. 0040D4 GAGE TALKER CORP. 0040D5 Sartorius Mechatronics T&H GmbH 0040D6 LOCAMATION B.V. 0040D7 STUDIO GEN INC. 0040D8 OCEAN OFFICE AUTOMATION LTD. 0040D9 AMERICAN MEGATRENDS INC. 0040DA TELSPEC LTD 0040DB ADVANCED TECHNICAL SOLUTIONS 0040DC TRITEC ELECTRONIC GMBH 0040DD HONG TECHNOLOGIES 0040DE Elsag Datamat spa 0040DF DIGALOG SYSTEMS, INC. 0040E0 ATOMWIDE LTD. 0040E1 MARNER INTERNATIONAL, INC. 0040E2 MESA RIDGE TECHNOLOGIES, INC. 0040E3 QUIN SYSTEMS LTD 0040E4 E-M TECHNOLOGY, INC. 0040E5 SYBUS CORPORATION 0040E6 C.A.E.N. 0040E7 ARNOS INSTRUMENTS & COMPUTER 0040E8 CHARLES RIVER DATA SYSTEMS,INC 0040E9 ACCORD SYSTEMS, INC. 0040EA PLAIN TREE SYSTEMS INC 0040EB MARTIN MARIETTA CORPORATION 0040EC MIKASA SYSTEM ENGINEERING 0040ED NETWORK CONTROLS INT'NATL INC. 0040EE OPTIMEM 0040EF HYPERCOM, INC. 0040F0 MICRO SYSTEMS, INC. 0040F1 CHUO ELECTRONICS CO., LTD. 0040F2 JANICH & KLASS COMPUTERTECHNIK 0040F3 NETCOR 0040F4 CAMEO COMMUNICATIONS, INC. 0040F5 OEM ENGINES 0040F6 KATRON COMPUTERS INC. 0040F7 Polaroid Corporation 0040F8 SYSTEMHAUS DISCOM 0040F9 COMBINET 0040FA MICROBOARDS, INC. 0040FB CASCADE COMMUNICATIONS CORP. 0040FC IBR COMPUTER TECHNIK GMBH 0040FD LXE 0040FE SYMPLEX COMMUNICATIONS 0040FF TELEBIT CORPORATION 004252 RLX Technologies 004501 Versus Technology, Inc. 005000 NEXO COMMUNICATIONS, INC. 005001 YAMASHITA SYSTEMS CORP. 005002 OMNISEC AG 005003 GRETAG MACBETH AG 005004 3COM CORPORATION 005006 TAC AB 005007 SIEMENS TELECOMMUNICATION SYSTEMS LIMITED 005008 TIVA MICROCOMPUTER CORP. (TMC) 005009 PHILIPS BROADBAND NETWORKS 00500A IRIS TECHNOLOGIES, INC. 00500B CISCO SYSTEMS, INC. 00500C e-Tek Labs, Inc. 00500D SATORI ELECTORIC CO., LTD. 00500E CHROMATIS NETWORKS, INC. 00500F CISCO SYSTEMS, INC. 005010 NovaNET Learning, Inc. 005012 CBL - GMBH 005013 Chaparral Network Storage 005014 CISCO SYSTEMS, INC. 005015 BRIGHT STAR ENGINEERING 005016 SST/WOODHEAD INDUSTRIES 005017 RSR S.R.L. 005018 AMIT, Inc. 005019 SPRING TIDE NETWORKS, INC. 00501A IQinVision 00501B ABL CANADA, INC. 00501C JATOM SYSTEMS, INC. 00501E Miranda Technologies, Inc. 00501F MRG SYSTEMS, LTD. 005020 MEDIASTAR CO., LTD. 005021 EIS INTERNATIONAL, INC. 005022 ZONET TECHNOLOGY, INC. 005023 PG DESIGN ELECTRONICS, INC. 005024 NAVIC SYSTEMS, INC. 005026 COSYSTEMS, INC. 005027 GENICOM CORPORATION 005028 AVAL COMMUNICATIONS 005029 1394 PRINTER WORKING GROUP 00502A CISCO SYSTEMS, INC. 00502B GENRAD LTD. 00502C SOYO COMPUTER, INC. 00502D ACCEL, INC. 00502E CAMBEX CORPORATION 00502F TollBridge Technologies, Inc. 005030 FUTURE PLUS SYSTEMS 005031 AEROFLEX LABORATORIES, INC. 005032 PICAZO COMMUNICATIONS, INC. 005033 MAYAN NETWORKS 005036 NETCAM, LTD. 005037 KOGA ELECTRONICS CO. 005038 DAIN TELECOM CO., LTD. 005039 MARINER NETWORKS 00503A DATONG ELECTRONICS LTD. 00503B MEDIAFIRE CORPORATION 00503C TSINGHUA NOVEL ELECTRONICS 00503E CISCO SYSTEMS, INC. 00503F ANCHOR GAMES 005040 Panasonic Electric Works Co., Ltd. 005041 Coretronic Corporation 005042 SCI MANUFACTURING SINGAPORE PTE, LTD. 005043 MARVELL SEMICONDUCTOR, INC. 005044 ASACA CORPORATION 005045 RIOWORKS SOLUTIONS, INC. 005046 MENICX INTERNATIONAL CO., LTD. 005047 PRIVATE 005048 INFOLIBRIA 005049 Arbor Networks Inc 00504A ELTECO A.S. 00504B BARCONET N.V. 00504C Galil Motion Control 00504D Tokyo Electron Device Limited 00504E SIERRA MONITOR CORP. 00504F OLENCOM ELECTRONICS 005050 CISCO SYSTEMS, INC. 005051 IWATSU ELECTRIC CO., LTD. 005052 TIARA NETWORKS, INC. 005053 CISCO SYSTEMS, INC. 005054 CISCO SYSTEMS, INC. 005055 DOMS A/S 005056 VMware, Inc. 005057 BROADBAND ACCESS SYSTEMS 005058 VegaStream Group Limted 005059 iBAHN 00505A NETWORK ALCHEMY, INC. 00505B KAWASAKI LSI U.S.A., INC. 00505C TUNDO CORPORATION 00505E DIGITEK MICROLOGIC S.A. 00505F BRAND INNOVATORS 005060 TANDBERG TELECOM AS 005062 KOUWELL ELECTRONICS CORP. ** 005063 OY COMSEL SYSTEM AB 005064 CAE ELECTRONICS 005065 TDK-Lambda Corporation 005066 AtecoM GmbH advanced telecomunication modules 005067 AEROCOMM, INC. 005068 ELECTRONIC INDUSTRIES ASSOCIATION 005069 PixStream Incorporated 00506A EDEVA, INC. 00506B SPX-ATEG 00506C Beijer Electronics Products AB 00506D VIDEOJET SYSTEMS 00506E CORDER ENGINEERING CORPORATION 00506F G-CONNECT 005070 CHAINTECH COMPUTER CO., LTD. 005071 AIWA CO., LTD. 005072 CORVIS CORPORATION 005073 CISCO SYSTEMS, INC. 005074 ADVANCED HI-TECH CORP. 005075 KESTREL SOLUTIONS 005076 IBM Corp 005077 PROLIFIC TECHNOLOGY, INC. 005078 MEGATON HOUSE, LTD. 005079 PRIVATE 00507A XPEED, INC. 00507B MERLOT COMMUNICATIONS 00507C VIDEOCON AG 00507D IFP 00507E NEWER TECHNOLOGY 00507F DrayTek Corp. 005080 CISCO SYSTEMS, INC. 005081 MURATA MACHINERY, LTD. 005082 FORESSON CORPORATION 005083 GILBARCO, INC. 005084 ATL PRODUCTS 005086 TELKOM SA, LTD. 005087 TERASAKI ELECTRIC CO., LTD. 005088 AMANO CORPORATION 005089 SAFETY MANAGEMENT SYSTEMS 00508B Hewlett Packard 00508C RSI SYSTEMS 00508D ABIT COMPUTER CORPORATION 00508E OPTIMATION, INC. 00508F ASITA TECHNOLOGIES INT'L LTD. 005090 DCTRI 005091 NETACCESS, INC. 005092 RIGAKU INDUSTRIAL CORPORATION 005093 BOEING 005094 PACE plc 005095 PERACOM NETWORKS 005096 SALIX TECHNOLOGIES, INC. 005097 MMC-EMBEDDED COMPUTERTECHNIK GmbH 005098 GLOBALOOP, LTD. 005099 3COM EUROPE, LTD. 00509A TAG ELECTRONIC SYSTEMS 00509B SWITCHCORE AB 00509C BETA RESEARCH 00509D THE INDUSTREE B.V. 00509E Les Technologies SoftAcoustik Inc. 00509F HORIZON COMPUTER 0050A0 DELTA COMPUTER SYSTEMS, INC. 0050A1 CARLO GAVAZZI, INC. 0050A2 CISCO SYSTEMS, INC. 0050A3 TransMedia Communications, Inc. 0050A4 IO TECH, INC. 0050A5 CAPITOL BUSINESS SYSTEMS, LTD. 0050A6 OPTRONICS 0050A7 CISCO SYSTEMS, INC. 0050A8 OpenCon Systems, Inc. 0050A9 MOLDAT WIRELESS TECHNOLGIES 0050AA KONICA MINOLTA HOLDINGS, INC. 0050AB NALTEC, Inc. 0050AC MAPLE COMPUTER CORPORATION 0050AD CommUnique Wireless Corp. 0050AE IWAKI ELECTRONICS CO., LTD. 0050AF INTERGON, INC. 0050B0 TECHNOLOGY ATLANTA CORPORATION 0050B1 GIDDINGS & LEWIS 0050B2 BRODEL AUTOMATION 0050B3 VOICEBOARD CORPORATION 0050B4 SATCHWELL CONTROL SYSTEMS, LTD 0050B5 FICHET-BAUCHE 0050B6 GOOD WAY IND. CO., LTD. 0050B7 BOSER TECHNOLOGY CO., LTD. 0050B8 INOVA COMPUTERS GMBH & CO. KG 0050B9 XITRON TECHNOLOGIES, INC. 0050BA D-LINK 0050BB CMS TECHNOLOGIES 0050BC HAMMER STORAGE SOLUTIONS 0050BD CISCO SYSTEMS, INC. 0050BE FAST MULTIMEDIA AG 0050BF Metalligence Technology Corp. 0050C0 GATAN, INC. 0050C1 GEMFLEX NETWORKS, LTD. 0050C2 IEEE REGISTRATION AUTHORITY 0050C4 IMD 0050C5 ADS Technologies, Inc 0050C6 LOOP TELECOMMUNICATION INTERNATIONAL, INC. 0050C8 Addonics Technologies, Inc. 0050C9 MASPRO DENKOH CORP. 0050CA NET TO NET TECHNOLOGIES 0050CB JETTER 0050CC XYRATEX 0050CD DIGIANSWER A/S 0050CE LG INTERNATIONAL CORP. 0050CF VANLINK COMMUNICATION TECHNOLOGY RESEARCH INSTITUTE 0050D0 MINERVA SYSTEMS 0050D1 CISCO SYSTEMS, INC. 0050D2 CMC Electronics Inc 0050D3 DIGITAL AUDIO PROCESSING PTY. LTD. 0050D4 JOOHONG INFORMATION & 0050D5 AD SYSTEMS CORP. 0050D6 ATLAS COPCO TOOLS AB 0050D7 TELSTRAT 0050D8 UNICORN COMPUTER CORP. 0050D9 ENGETRON-ENGENHARIA ELETRONICA IND. e COM. LTDA 0050DA 3COM CORPORATION 0050DB CONTEMPORARY CONTROL 0050DC TAS TELEFONBAU A. SCHWABE GMBH & CO. KG 0050DD SERRA SOLDADURA, S.A. 0050DE SIGNUM SYSTEMS CORP. 0050DF AirFiber, Inc. 0050E1 NS TECH ELECTRONICS SDN BHD 0050E2 CISCO SYSTEMS, INC. 0050E3 Motorola, Inc. 0050E4 APPLE COMPUTER, INC. 0050E6 HAKUSAN CORPORATION 0050E7 PARADISE INNOVATIONS (ASIA) 0050E8 NOMADIX INC. 0050EA XEL COMMUNICATIONS, INC. 0050EB ALPHA-TOP CORPORATION 0050EC OLICOM A/S 0050ED ANDA NETWORKS 0050EE TEK DIGITEL CORPORATION 0050EF SPE Systemhaus GmbH 0050F0 CISCO SYSTEMS, INC. 0050F1 Intel Corporation 0050F2 MICROSOFT CORP. 0050F3 GLOBAL NET INFORMATION CO., Ltd. 0050F4 SIGMATEK GMBH & CO. KG 0050F6 PAN-INTERNATIONAL INDUSTRIAL CORP. 0050F7 VENTURE MANUFACTURING (SINGAPORE) LTD. 0050F8 ENTREGA TECHNOLOGIES, INC. 0050F9 SENSORMATIC ACD 0050FA OXTEL, LTD. 0050FB VSK ELECTRONICS 0050FC EDIMAX TECHNOLOGY CO., LTD. 0050FD VISIONCOMM CO., LTD. 0050FE PCTVnet ASA 0050FF HAKKO ELECTRONICS CO., LTD. 005218 Wuxi Keboda Electron Co.Ltd 0054AF Continental Automotive Systems Inc. 006000 XYCOM INC. 006001 InnoSys, Inc. 006002 SCREEN SUBTITLING SYSTEMS, LTD 006003 TERAOKA WEIGH SYSTEM PTE, LTD. 006004 COMPUTADORES MODULARES SA 006005 FEEDBACK DATA LTD. 006006 SOTEC CO., LTD 006007 ACRES GAMING, INC. 006008 3COM CORPORATION 006009 CISCO SYSTEMS, INC. 00600A SORD COMPUTER CORPORATION 00600B LOGWARE GmbH 00600C Eurotech Inc. 00600D Digital Logic GmbH 00600E WAVENET INTERNATIONAL, INC. 00600F WESTELL, INC. 006010 NETWORK MACHINES, INC. 006011 CRYSTAL SEMICONDUCTOR CORP. 006012 POWER COMPUTING CORPORATION 006013 NETSTAL MASCHINEN AG 006014 EDEC CO., LTD. 006015 NET2NET CORPORATION 006016 CLARIION 006017 TOKIMEC INC. 006018 STELLAR ONE CORPORATION 006019 Roche Diagnostics 00601A KEITHLEY INSTRUMENTS 00601B MESA ELECTRONICS 00601C TELXON CORPORATION 00601D LUCENT TECHNOLOGIES 00601E SOFTLAB, INC. 00601F STALLION TECHNOLOGIES 006020 PIVOTAL NETWORKING, INC. 006021 DSC CORPORATION 006022 VICOM SYSTEMS, INC. 006023 PERICOM SEMICONDUCTOR CORP. 006024 GRADIENT TECHNOLOGIES, INC. 006025 ACTIVE IMAGING PLC 006026 VIKING Modular Solutions 006027 Superior Modular Products 006028 MACROVISION CORPORATION 006029 CARY PERIPHERALS INC. 00602A SYMICRON COMPUTER COMMUNICATIONS, LTD. 00602B PEAK AUDIO 00602C LINX Data Terminals, Inc. 00602D ALERTON TECHNOLOGIES, INC. 00602E CYCLADES CORPORATION 00602F CISCO SYSTEMS, INC. 006030 VILLAGE TRONIC ENTWICKLUNG 006031 HRK SYSTEMS 006032 I-CUBE, INC. 006033 ACUITY IMAGING, INC. 006034 ROBERT BOSCH GmbH 006035 DALLAS SEMICONDUCTOR, INC. 006036 AIT Austrian Institute of Technology GmbH 006037 NXP Semiconductors 006038 Nortel Networks 006039 SanCom Technology, Inc. 00603A QUICK CONTROLS LTD. 00603B AMTEC spa 00603C HAGIWARA SYS-COM CO., LTD. 00603D 3CX 00603E CISCO SYSTEMS, INC. 00603F PATAPSCO DESIGNS 006040 NETRO CORP. 006041 Yokogawa Electric Corporation 006042 TKS (USA), INC. 006043 iDirect, INC. 006044 LITTON/POLY-SCIENTIFIC 006045 PATHLIGHT TECHNOLOGIES 006046 VMETRO, INC. 006047 CISCO SYSTEMS, INC. 006048 EMC CORPORATION 006049 VINA TECHNOLOGIES 00604A SAIC IDEAS GROUP 00604B Safe-com GmbH & Co. KG 00604C SAGEM COMMUNICATION 00604D MMC NETWORKS, INC. 00604E CYCLE COMPUTER CORPORATION, INC. 00604F SUZUKI MFG. CO., LTD. 006050 INTERNIX INC. 006051 QUALITY SEMICONDUCTOR 006052 PERIPHERALS ENTERPRISE CO., Ltd. 006053 TOYODA MACHINE WORKS, LTD. 006054 CONTROLWARE GMBH 006055 CORNELL UNIVERSITY 006056 NETWORK TOOLS, INC. 006057 MURATA MANUFACTURING CO., LTD. 006058 COPPER MOUNTAIN COMMUNICATIONS, INC. 006059 TECHNICAL COMMUNICATIONS CORP. 00605A CELCORE, INC. 00605B IntraServer Technology, Inc. 00605C CISCO SYSTEMS, INC. 00605D SCANIVALVE CORP. 00605E LIBERTY TECHNOLOGY NETWORKING 00605F NIPPON UNISOFT CORPORATION 006060 DAWNING TECHNOLOGIES, INC. 006061 WHISTLE COMMUNICATIONS CORP. 006062 TELESYNC, INC. 006063 PSION DACOM PLC. 006064 NETCOMM LIMITED 006065 BERNECKER & RAINER INDUSTRIE-ELEKTRONIC GmbH 006066 LACROIX Trafic 006067 ACER NETXUS INC. 006068 Dialogic Corporation 006069 Brocade Communications Systems, Inc. 00606A MITSUBISHI WIRELESS COMMUNICATIONS. INC. 00606B Synclayer Inc. 00606C ARESCOM 00606D DIGITAL EQUIPMENT CORP. 00606E DAVICOM SEMICONDUCTOR, INC. 00606F CLARION CORPORATION OF AMERICA 006070 CISCO SYSTEMS, INC. 006071 MIDAS LAB, INC. 006072 VXL INSTRUMENTS, LIMITED 006073 REDCREEK COMMUNICATIONS, INC. 006074 QSC AUDIO PRODUCTS 006075 PENTEK, INC. 006076 SCHLUMBERGER TECHNOLOGIES RETAIL PETROLEUM SYSTEMS 006077 PRISA NETWORKS 006078 POWER MEASUREMENT LTD. 006079 Mainstream Data, Inc. 00607A DVS GmbH 00607B FORE SYSTEMS, INC. 00607C WaveAccess, Ltd. 00607D SENTIENT NETWORKS INC. 00607E GIGALABS, INC. 00607F AURORA TECHNOLOGIES, INC. 006080 MICROTRONIX DATACOM LTD. 006081 TV/COM INTERNATIONAL 006082 NOVALINK TECHNOLOGIES, INC. 006083 CISCO SYSTEMS, INC. 006084 DIGITAL VIDEO 006085 Storage Concepts 006086 LOGIC REPLACEMENT TECH. LTD. 006087 KANSAI ELECTRIC CO., LTD. 006088 WHITE MOUNTAIN DSP, INC. 006089 XATA 00608A CITADEL COMPUTER 00608B ConferTech International 00608C 3COM CORPORATION 00608D UNIPULSE CORP. 00608E HE ELECTRONICS, TECHNOLOGIE & SYSTEMTECHNIK GmbH 00608F TEKRAM TECHNOLOGY CO., LTD. 006090 Artiza Networks Inc 006091 FIRST PACIFIC NETWORKS, INC. 006092 MICRO/SYS, INC. 006093 VARIAN 006094 IBM Corp 006095 ACCU-TIME SYSTEMS, INC. 006096 T.S. MICROTECH INC. 006097 3COM CORPORATION 006098 HT COMMUNICATIONS 006099 SBE, Inc. 00609A NJK TECHNO CO. 00609B ASTRO-MED, INC. 00609C Perkin-Elmer Incorporated 00609D PMI FOOD EQUIPMENT GROUP 00609E ASC X3 - INFORMATION TECHNOLOGY STANDARDS SECRETARIATS 00609F PHAST CORPORATION 0060A0 SWITCHED NETWORK TECHNOLOGIES, INC. 0060A1 VPNet, Inc. 0060A2 NIHON UNISYS LIMITED CO. 0060A3 CONTINUUM TECHNOLOGY CORP. 0060A4 GRINAKER SYSTEM TECHNOLOGIES 0060A5 PERFORMANCE TELECOM CORP. 0060A6 PARTICLE MEASURING SYSTEMS 0060A7 MICROSENS GmbH & CO. KG 0060A8 TIDOMAT AB 0060A9 GESYTEC MbH 0060AA INTELLIGENT DEVICES INC. (IDI) 0060AB LARSCOM INCORPORATED 0060AC RESILIENCE CORPORATION 0060AD MegaChips Corporation 0060AE TRIO INFORMATION SYSTEMS AB 0060AF PACIFIC MICRO DATA, INC. 0060B0 HEWLETT-PACKARD CO. 0060B1 INPUT/OUTPUT, INC. 0060B2 PROCESS CONTROL CORP. 0060B3 Z-COM, INC. 0060B4 GLENAYRE R&D INC. 0060B5 KEBA GmbH 0060B6 LAND COMPUTER CO., LTD. 0060B7 CHANNELMATIC, INC. 0060B8 CORELIS Inc. 0060B9 NEC Infrontia Corporation 0060BA SAHARA NETWORKS, INC. 0060BB CABLETRON - NETLINK, INC. 0060BC KeunYoung Electronics & Communication Co., Ltd. 0060BD HUBBELL-PULSECOM 0060BE WEBTRONICS 0060BF MACRAIGOR SYSTEMS, INC. 0060C0 Nera Networks AS 0060C1 WaveSpan Corporation 0060C2 MPL AG 0060C3 NETVISION CORPORATION 0060C4 SOLITON SYSTEMS K.K. 0060C5 ANCOT CORP. 0060C6 DCS AG 0060C7 AMATI COMMUNICATIONS CORP. 0060C8 KUKA WELDING SYSTEMS & ROBOTS 0060C9 ControlNet, Inc. 0060CA HARMONIC SYSTEMS INCORPORATED 0060CB HITACHI ZOSEN CORPORATION 0060CC EMTRAK, INCORPORATED 0060CD VideoServer, Inc. 0060CE ACCLAIM COMMUNICATIONS 0060CF ALTEON NETWORKS, INC. 0060D0 SNMP RESEARCH INCORPORATED 0060D1 CASCADE COMMUNICATIONS 0060D2 LUCENT TECHNOLOGIES TAIWAN TELECOMMUNICATIONS CO., LTD. 0060D3 AT&T 0060D4 ELDAT COMMUNICATION LTD. 0060D5 MIYACHI TECHNOS CORP. 0060D6 NovAtel Wireless Technologies Ltd. 0060D7 ECOLE POLYTECHNIQUE FEDERALE DE LAUSANNE (EPFL) 0060D8 ELMIC SYSTEMS, INC. 0060D9 TRANSYS NETWORKS INC. 0060DA JBM ELECTRONICS CO. 0060DB NTP ELEKTRONIK A/S 0060DC Toyo Network Systems & System Integration Co. LTD 0060DD MYRICOM, INC. 0060DE Kayser-Threde GmbH 0060DF Brocade Communications Systems, Inc. 0060E0 AXIOM TECHNOLOGY CO., LTD. 0060E1 ORCKIT COMMUNICATIONS LTD. 0060E2 QUEST ENGINEERING & DEVELOPMENT 0060E3 ARBIN INSTRUMENTS 0060E4 COMPUSERVE, INC. 0060E5 FUJI AUTOMATION CO., LTD. 0060E6 SHOMITI SYSTEMS INCORPORATED 0060E7 RANDATA 0060E8 HITACHI COMPUTER PRODUCTS (AMERICA), INC. 0060E9 ATOP TECHNOLOGIES, INC. 0060EA StreamLogic 0060EB FOURTHTRACK SYSTEMS 0060EC HERMARY OPTO ELECTRONICS INC. 0060ED RICARDO TEST AUTOMATION LTD. 0060EE APOLLO 0060EF FLYTECH TECHNOLOGY CO., LTD. 0060F0 JOHNSON & JOHNSON MEDICAL, INC 0060F1 EXP COMPUTER, INC. 0060F2 LASERGRAPHICS, INC. 0060F3 Performance Analysis Broadband, Spirent plc 0060F4 ADVANCED COMPUTER SOLUTIONS, Inc. 0060F5 ICON WEST, INC. 0060F6 NEXTEST COMMUNICATIONS PRODUCTS, INC. 0060F7 DATAFUSION SYSTEMS 0060F8 Loran International Technologies Inc. 0060F9 DIAMOND LANE COMMUNICATIONS 0060FA EDUCATIONAL TECHNOLOGY RESOURCES, INC. 0060FB PACKETEER, INC. 0060FC CONSERVATION THROUGH INNOVATION LTD. 0060FD NetICs, Inc. 0060FE LYNX SYSTEM DEVELOPERS, INC. 0060FF QuVis, Inc. 006440 Cisco Systems 006DFB Vutrix (UK) Ltd 0070B0 M/A-COM INC. COMPANIES 0070B3 DATA RECALL LTD. 007298 KAON MEDIA Co., Ltd. 008000 MULTITECH SYSTEMS, INC. 008001 PERIPHONICS CORPORATION 008002 SATELCOM (UK) LTD 008003 HYTEC ELECTRONICS LTD. 008004 ANTLOW COMMUNICATIONS, LTD. 008005 CACTUS COMPUTER INC. 008006 COMPUADD CORPORATION 008007 DLOG NC-SYSTEME 008008 DYNATECH COMPUTER SYSTEMS 008009 JUPITER SYSTEMS, INC. 00800A JAPAN COMPUTER CORP. 00800B CSK CORPORATION 00800C VIDECOM LIMITED 00800D VOSSWINKEL F.U. 00800E ATLANTIX CORPORATION 00800F STANDARD MICROSYSTEMS 008010 COMMODORE INTERNATIONAL 008011 DIGITAL SYSTEMS INT'L. INC. 008012 INTEGRATED MEASUREMENT SYSTEMS 008013 THOMAS-CONRAD CORPORATION 008014 ESPRIT SYSTEMS 008015 SEIKO SYSTEMS, INC. 008016 WANDEL AND GOLTERMANN 008017 PFU LIMITED 008018 KOBE STEEL, LTD. 008019 DAYNA COMMUNICATIONS, INC. 00801A BELL ATLANTIC 00801B KODIAK TECHNOLOGY 00801C NEWPORT SYSTEMS SOLUTIONS 00801D INTEGRATED INFERENCE MACHINES 00801E XINETRON, INC. 00801F KRUPP ATLAS ELECTRONIK GMBH 008020 NETWORK PRODUCTS 008021 Alcatel Canada Inc. 008022 SCAN-OPTICS 008023 INTEGRATED BUSINESS NETWORKS 008024 KALPANA, INC. 008025 STOLLMANN GMBH 008026 NETWORK PRODUCTS CORPORATION 008027 ADAPTIVE SYSTEMS, INC. 008028 TRADPOST (HK) LTD 008029 EAGLE TECHNOLOGY, INC. 00802A TEST SYSTEMS & SIMULATIONS INC 00802B INTEGRATED MARKETING CO 00802C THE SAGE GROUP PLC 00802D XYLOGICS INC 00802E CASTLE ROCK COMPUTING 00802F NATIONAL INSTRUMENTS CORP. 008030 NEXUS ELECTRONICS 008031 BASYS, CORP. 008032 ACCESS CO., LTD. 008033 EMS Aviation, Inc. 008034 SMT GOUPIL 008035 TECHNOLOGY WORKS, INC. 008036 REFLEX MANUFACTURING SYSTEMS 008037 Ericsson Group 008038 DATA RESEARCH & APPLICATIONS 008039 ALCATEL STC AUSTRALIA 00803A VARITYPER, INC. 00803B APT COMMUNICATIONS, INC. 00803C TVS ELECTRONICS LTD 00803D SURIGIKEN CO., LTD. 00803E SYNERNETICS 00803F TATUNG COMPANY 008040 JOHN FLUKE MANUFACTURING CO. 008041 VEB KOMBINAT ROBOTRON 008042 Emerson Network Power 008043 NETWORLD, INC. 008044 SYSTECH COMPUTER CORP. 008045 MATSUSHITA ELECTRIC IND. CO 008046 UNIVERSITY OF TORONTO 008047 IN-NET CORP. 008048 COMPEX INCORPORATED 008049 NISSIN ELECTRIC CO., LTD. 00804A PRO-LOG 00804B EAGLE TECHNOLOGIES PTY.LTD. 00804C CONTEC CO., LTD. 00804D CYCLONE MICROSYSTEMS, INC. 00804E APEX COMPUTER COMPANY 00804F DAIKIN INDUSTRIES, LTD. 008050 ZIATECH CORPORATION 008051 FIBERMUX 008052 TECHNICALLY ELITE CONCEPTS 008053 INTELLICOM, INC. 008054 FRONTIER TECHNOLOGIES CORP. 008055 FERMILAB 008056 SPHINX ELEKTRONIK GMBH 008057 ADSOFT, LTD. 008058 PRINTER SYSTEMS CORPORATION 008059 STANLEY ELECTRIC CO., LTD 00805A TULIP COMPUTERS INTERNAT'L B.V 00805B CONDOR SYSTEMS, INC. 00805C AGILIS CORPORATION 00805D CANSTAR 00805E LSI LOGIC CORPORATION 00805F Hewlett Packard 008060 NETWORK INTERFACE CORPORATION 008061 LITTON SYSTEMS, INC. 008062 INTERFACE CO. 008063 Hirschmann Automation and Control GmbH 008064 WYSE TECHNOLOGY 008065 CYBERGRAPHIC SYSTEMS PTY LTD. 008066 ARCOM CONTROL SYSTEMS, LTD. 008067 SQUARE D COMPANY 008068 YAMATECH SCIENTIFIC LTD. 008069 COMPUTONE SYSTEMS 00806A ERI (EMPAC RESEARCH INC.) 00806B SCHMID TELECOMMUNICATION 00806C CEGELEC PROJECTS LTD 00806D CENTURY SYSTEMS CORP. 00806E NIPPON STEEL CORPORATION 00806F ONELAN LTD. 008070 COMPUTADORAS MICRON 008071 SAI TECHNOLOGY 008072 MICROPLEX SYSTEMS LTD. 008073 DWB ASSOCIATES 008074 FISHER CONTROLS 008075 PARSYTEC GMBH 008076 MCNC 008077 BROTHER INDUSTRIES, LTD. 008078 PRACTICAL PERIPHERALS, INC. 008079 MICROBUS DESIGNS LTD. 00807A AITECH SYSTEMS LTD. 00807B ARTEL COMMUNICATIONS CORP. 00807C FIBERCOM, INC. 00807D EQUINOX SYSTEMS INC. 00807E SOUTHERN PACIFIC LTD. 00807F DY-4 INCORPORATED 008080 DATAMEDIA CORPORATION 008081 KENDALL SQUARE RESEARCH CORP. 008082 PEP MODULAR COMPUTERS GMBH 008083 AMDAHL 008084 THE CLOUD INC. 008085 H-THREE SYSTEMS CORPORATION 008086 COMPUTER GENERATION INC. 008087 OKI ELECTRIC INDUSTRY CO., LTD 008088 VICTOR COMPANY OF JAPAN, LTD. 008089 TECNETICS (PTY) LTD. 00808A SUMMIT MICROSYSTEMS CORP. 00808B DACOLL LIMITED 00808C NetScout Systems, Inc. 00808D WESTCOAST TECHNOLOGY B.V. 00808E RADSTONE TECHNOLOGY 00808F C. ITOH ELECTRONICS, INC. 008090 MICROTEK INTERNATIONAL, INC. 008091 TOKYO ELECTRIC CO.,LTD 008092 Silex Technology, Inc. 008093 XYRON CORPORATION 008094 ALFA LAVAL AUTOMATION AB 008095 BASIC MERTON HANDELSGES.M.B.H. 008096 HUMAN DESIGNED SYSTEMS, INC. 008097 CENTRALP AUTOMATISMES 008098 TDK CORPORATION 008099 KLOCKNER MOELLER IPC 00809A NOVUS NETWORKS LTD 00809B JUSTSYSTEM CORPORATION 00809C LUXCOM, INC. 00809D Commscraft Ltd. 00809E DATUS GMBH 00809F ALCATEL BUSINESS SYSTEMS 0080A0 EDISA HEWLETT PACKARD S/A 0080A1 MICROTEST, INC. 0080A2 CREATIVE ELECTRONIC SYSTEMS 0080A3 Lantronix 0080A4 LIBERTY ELECTRONICS 0080A5 SPEED INTERNATIONAL 0080A6 REPUBLIC TECHNOLOGY, INC. 0080A7 Honeywell International Inc 0080A8 VITACOM CORPORATION 0080A9 CLEARPOINT RESEARCH 0080AA MAXPEED 0080AB DUKANE NETWORK INTEGRATION 0080AC IMLOGIX, DIVISION OF GENESYS 0080AD CNET TECHNOLOGY, INC. 0080AE HUGHES NETWORK SYSTEMS 0080AF ALLUMER CO., LTD. 0080B0 ADVANCED INFORMATION 0080B1 SOFTCOM A/S 0080B2 NETWORK EQUIPMENT TECHNOLOGIES 0080B3 AVAL DATA CORPORATION 0080B4 SOPHIA SYSTEMS 0080B5 UNITED NETWORKS INC. 0080B6 THEMIS COMPUTER 0080B7 STELLAR COMPUTER 0080B8 BUG, INCORPORATED 0080B9 ARCHE TECHNOLIGIES INC. 0080BA SPECIALIX (ASIA) PTE, LTD 0080BB HUGHES LAN SYSTEMS 0080BC HITACHI ENGINEERING CO., LTD 0080BD THE FURUKAWA ELECTRIC CO., LTD 0080BE ARIES RESEARCH 0080BF TAKAOKA ELECTRIC MFG. CO. LTD. 0080C0 PENRIL DATACOMM 0080C1 LANEX CORPORATION 0080C2 IEEE 802.1 COMMITTEE 0080C3 BICC INFORMATION SYSTEMS & SVC 0080C4 DOCUMENT TECHNOLOGIES, INC. 0080C5 NOVELLCO DE MEXICO 0080C6 NATIONAL DATACOMM CORPORATION 0080C7 XIRCOM 0080C8 D-LINK SYSTEMS, INC. 0080C9 ALBERTA MICROELECTRONIC CENTRE 0080CA NETCOM RESEARCH INCORPORATED 0080CB FALCO DATA PRODUCTS 0080CC MICROWAVE BYPASS SYSTEMS 0080CD MICRONICS COMPUTER, INC. 0080CE BROADCAST TELEVISION SYSTEMS 0080CF EMBEDDED PERFORMANCE INC. 0080D0 COMPUTER PERIPHERALS, INC. 0080D1 KIMTRON CORPORATION 0080D2 SHINNIHONDENKO CO., LTD. 0080D3 SHIVA CORP. 0080D4 CHASE RESEARCH LTD. 0080D5 CADRE TECHNOLOGIES 0080D6 NUVOTECH, INC. 0080D7 Fantum Engineering 0080D8 NETWORK PERIPHERALS INC. 0080D9 EMK Elektronik GmbH & Co. KG 0080DA BRUEL & KJAER 0080DB GRAPHON CORPORATION 0080DC PICKER INTERNATIONAL 0080DD GMX INC/GIMIX 0080DE GIPSI S.A. 0080DF ADC CODENOLL TECHNOLOGY CORP. 0080E0 XTP SYSTEMS, INC. 0080E1 STMICROELECTRONICS 0080E2 T.D.I. CO., LTD. 0080E3 CORAL NETWORK CORPORATION 0080E4 NORTHWEST DIGITAL SYSTEMS, INC 0080E5 LSI Logic Corporation 0080E6 PEER NETWORKS, INC. 0080E7 LYNWOOD SCIENTIFIC DEV. LTD. 0080E8 CUMULUS CORPORATIION 0080E9 Madge Ltd. 0080EA ADVA Optical Networking Ltd. 0080EB COMPCONTROL B.V. 0080EC SUPERCOMPUTING SOLUTIONS, INC. 0080ED IQ TECHNOLOGIES, INC. 0080EE THOMSON CSF 0080EF RATIONAL 0080F0 Panasonic Communications Co., Ltd. 0080F1 OPUS SYSTEMS 0080F2 RAYCOM SYSTEMS INC 0080F3 SUN ELECTRONICS CORP. 0080F4 TELEMECANIQUE ELECTRIQUE 0080F5 Quantel Ltd 0080F6 SYNERGY MICROSYSTEMS 0080F7 ZENITH ELECTRONICS 0080F8 MIZAR, INC. 0080F9 HEURIKON CORPORATION 0080FA RWT GMBH 0080FB BVM LIMITED 0080FC AVATAR CORPORATION 0080FD EXSCEED CORPRATION 0080FE AZURE TECHNOLOGIES, INC. 0080FF SOC. DE TELEINFORMATIQUE RTC 008C10 Black Box Corp. 008CFA Inventec Corporation 009000 DIAMOND MULTIMEDIA 009001 NISHIMU ELECTRONICS INDUSTRIES CO., LTD. 009002 ALLGON AB 009003 APLIO 009004 3COM EUROPE LTD. 009005 PROTECH SYSTEMS CO., LTD. 009006 HAMAMATSU PHOTONICS K.K. 009007 DOMEX TECHNOLOGY CORP. 009008 HanA Systems Inc. 009009 i Controls, Inc. 00900A PROTON ELECTRONIC INDUSTRIAL CO., LTD. 00900B LANNER ELECTRONICS, INC. 00900C CISCO SYSTEMS, INC. 00900D Overland Storage Inc. 00900E HANDLINK TECHNOLOGIES, INC. 00900F KAWASAKI HEAVY INDUSTRIES, LTD 009010 SIMULATION LABORATORIES, INC. 009011 WAVTrace, Inc. 009012 GLOBESPAN SEMICONDUCTOR, INC. 009013 SAMSAN CORP. 009014 ROTORK INSTRUMENTS, LTD. 009015 CENTIGRAM COMMUNICATIONS CORP. 009016 ZAC 009017 Zypcom, Inc 009018 ITO ELECTRIC INDUSTRY CO, LTD. 009019 HERMES ELECTRONICS CO., LTD. 00901A UNISPHERE SOLUTIONS 00901B DIGITAL CONTROLS 00901C mps Software Gmbh 00901D PEC (NZ) LTD. 00901E Selesta Ingegneria S.p.A. 00901F ADTEC PRODUCTIONS, INC. 009020 PHILIPS ANALYTICAL X-RAY B.V. 009021 CISCO SYSTEMS, INC. 009022 IVEX 009023 ZILOG INC. 009024 PIPELINKS, INC. 009025 BAE Systems Australia (Electronic Systems) Pty Ltd 009026 ADVANCED SWITCHING COMMUNICATIONS, INC. 009027 INTEL CORPORATION 009028 NIPPON SIGNAL CO., LTD. 009029 CRYPTO AG 00902A COMMUNICATION DEVICES, INC. 00902B CISCO SYSTEMS, INC. 00902C DATA & CONTROL EQUIPMENT LTD. 00902D DATA ELECTRONICS (AUST.) PTY, LTD. 00902E NAMCO LIMITED 00902F NETCORE SYSTEMS, INC. 009030 HONEYWELL-DATING 009031 MYSTICOM, LTD. 009032 PELCOMBE GROUP LTD. 009033 INNOVAPHONE AG 009034 IMAGIC, INC. 009035 ALPHA TELECOM, INC. 009036 ens, inc. 009037 ACUCOMM, INC. 009038 FOUNTAIN TECHNOLOGIES, INC. 009039 SHASTA NETWORKS 00903A NIHON MEDIA TOOL INC. 00903B TriEMS Research Lab, Inc. 00903C ATLANTIC NETWORK SYSTEMS 00903D BIOPAC SYSTEMS, INC. 00903E N.V. PHILIPS INDUSTRIAL ACTIVITIES 00903F AZTEC RADIOMEDIA 009040 Siemens Network Convergence LLC 009041 APPLIED DIGITAL ACCESS 009042 ECCS, Inc. 009043 NICHIBEI DENSHI CO., LTD. 009044 ASSURED DIGITAL, INC. 009045 Marconi Communications 009046 DEXDYNE, LTD. 009047 GIGA FAST E. LTD. 009048 ZEAL CORPORATION 009049 ENTRIDIA CORPORATION 00904A CONCUR SYSTEM TECHNOLOGIES 00904B GemTek Technology Co., Ltd. 00904C EPIGRAM, INC. 00904D SPEC S.A. 00904E DELEM BV 00904F ABB POWER T&D COMPANY, INC. 009050 TELESTE OY 009051 ULTIMATE TECHNOLOGY CORP. 009052 SELCOM ELETTRONICA S.R.L. 009053 DAEWOO ELECTRONICS CO., LTD. 009054 INNOVATIVE SEMICONDUCTORS, INC 009055 PARKER HANNIFIN CORPORATION COMPUMOTOR DIVISION 009056 TELESTREAM, INC. 009057 AANetcom, Inc. 009058 Ultra Electronics Ltd., Command and Control Systems 009059 TELECOM DEVICE K.K. 00905A DEARBORN GROUP, INC. 00905B RAYMOND AND LAE ENGINEERING 00905C EDMI 00905D NETCOM SICHERHEITSTECHNIK GmbH 00905E RAULAND-BORG CORPORATION 00905F CISCO SYSTEMS, INC. 009060 SYSTEM CREATE CORP. 009061 PACIFIC RESEARCH & ENGINEERING CORPORATION 009062 ICP VORTEX COMPUTERSYSTEME GmbH 009063 COHERENT COMMUNICATIONS SYSTEMS CORPORATION 009064 Thomson Inc. 009065 FINISAR CORPORATION 009066 Troika Networks, Inc. 009067 WalkAbout Computers, Inc. 009068 DVT CORP. 009069 JUNIPER NETWORKS, INC. 00906A TURNSTONE SYSTEMS, INC. 00906B APPLIED RESOURCES, INC. 00906C Sartorius Hamburg GmbH 00906D CISCO SYSTEMS, INC. 00906E PRAXON, INC. 00906F CISCO SYSTEMS, INC. 009070 NEO NETWORKS, INC. 009071 Applied Innovation Inc. 009072 SIMRAD AS 009073 GAIO TECHNOLOGY 009074 ARGON NETWORKS, INC. 009075 NEC DO BRASIL S.A. 009076 FMT AIRCRAFT GATE SUPPORT SYSTEMS AB 009077 ADVANCED FIBRE COMMUNICATIONS 009078 MER TELEMANAGEMENT SOLUTIONS, LTD. 009079 ClearOne, Inc. 00907A Polycom, Inc. 00907B E-TECH, INC. 00907C DIGITALCAST, INC. 00907D Lake Communications 00907E VETRONIX CORP. 00907F WatchGuard Technologies, Inc. 009080 NOT LIMITED, INC. 009081 ALOHA NETWORKS, INC. 009082 FORCE INSTITUTE 009083 TURBO COMMUNICATION, INC. 009084 ATECH SYSTEM 009085 GOLDEN ENTERPRISES, INC. 009086 CISCO SYSTEMS, INC. 009087 ITIS 009088 BAXALL SECURITY LTD. 009089 SOFTCOM MICROSYSTEMS, INC. 00908A BAYLY COMMUNICATIONS, INC. 00908B PFU Systems, Inc. 00908C ETREND ELECTRONICS, INC. 00908D VICKERS ELECTRONICS SYSTEMS 00908E Nortel Networks Broadband Access 00908F AUDIO CODES LTD. 009090 I-BUS 009091 DigitalScape, Inc. 009092 CISCO SYSTEMS, INC. 009093 NANAO CORPORATION 009094 OSPREY TECHNOLOGIES, INC. 009095 UNIVERSAL AVIONICS 009096 ASKEY COMPUTER CORP. 009097 Sycamore Networks 009098 SBC DESIGNS, INC. 009099 ALLIED TELESIS, K.K. 00909A ONE WORLD SYSTEMS, INC. 00909B IMAJE 00909C Motorola, Inc. 00909D NovaTech Process Solutions, LLC 00909E Critical IO, LLC 00909F DIGI-DATA CORPORATION 0090A0 8X8 INC. 0090A1 Flying Pig Systems/High End Systems Inc. 0090A2 CYBERTAN TECHNOLOGY, INC. 0090A3 Corecess Inc. 0090A4 ALTIGA NETWORKS 0090A5 SPECTRA LOGIC 0090A6 CISCO SYSTEMS, INC. 0090A7 CLIENTEC CORPORATION 0090A8 NineTiles Networks, Ltd. 0090A9 WESTERN DIGITAL 0090AA INDIGO ACTIVE VISION SYSTEMS LIMITED 0090AB CISCO SYSTEMS, INC. 0090AC OPTIVISION, INC. 0090AD ASPECT ELECTRONICS, INC. 0090AE ITALTEL S.p.A. 0090AF J. MORITA MFG. CORP. 0090B0 VADEM 0090B1 CISCO SYSTEMS, INC. 0090B2 AVICI SYSTEMS INC. 0090B3 AGRANAT SYSTEMS 0090B4 WILLOWBROOK TECHNOLOGIES 0090B5 NIKON CORPORATION 0090B6 FIBEX SYSTEMS 0090B7 DIGITAL LIGHTWAVE, INC. 0090B8 ROHDE & SCHWARZ GMBH & CO. KG 0090B9 BERAN INSTRUMENTS LTD. 0090BA VALID NETWORKS, INC. 0090BB TAINET COMMUNICATION SYSTEM Corp. 0090BC TELEMANN CO., LTD. 0090BD OMNIA COMMUNICATIONS, INC. 0090BE IBC/INTEGRATED BUSINESS COMPUTERS 0090BF CISCO SYSTEMS, INC. 0090C0 K.J. LAW ENGINEERS, INC. 0090C1 Peco II, Inc. 0090C2 JK microsystems, Inc. 0090C3 TOPIC SEMICONDUCTOR CORP. 0090C4 JAVELIN SYSTEMS, INC. 0090C5 INTERNET MAGIC, INC. 0090C6 OPTIM SYSTEMS, INC. 0090C7 ICOM INC. 0090C8 WAVERIDER COMMUNICATIONS (CANADA) INC. 0090C9 DPAC Technologies 0090CA ACCORD VIDEO TELECOMMUNICATIONS, LTD. 0090CB Wireless OnLine, Inc. 0090CC Planex Communications 0090CD ENT-EMPRESA NACIONAL DE TELECOMMUNICACOES, S.A. 0090CE TETRA GmbH 0090CF NORTEL 0090D0 Thomson Telecom Belgium 0090D1 LEICHU ENTERPRISE CO., LTD. 0090D2 ARTEL VIDEO SYSTEMS 0090D3 GIESECKE & DEVRIENT GmbH 0090D4 BindView Development Corp. 0090D5 EUPHONIX, INC. 0090D6 CRYSTAL GROUP 0090D7 NetBoost Corp. 0090D8 WHITECROSS SYSTEMS 0090D9 CISCO SYSTEMS, INC. 0090DA DYNARC, INC. 0090DB NEXT LEVEL COMMUNICATIONS 0090DC TECO INFORMATION SYSTEMS 0090DD THE MIHARU COMMUNICATIONS CO., LTD. 0090DE CARDKEY SYSTEMS, INC. 0090DF MITSUBISHI CHEMICAL AMERICA, INC. 0090E0 SYSTRAN CORP. 0090E1 TELENA S.P.A. 0090E2 DISTRIBUTED PROCESSING TECHNOLOGY 0090E3 AVEX ELECTRONICS INC. 0090E4 NEC AMERICA, INC. 0090E5 TEKNEMA, INC. 0090E6 ALi Corporation 0090E7 HORSCH ELEKTRONIK AG 0090E8 MOXA TECHNOLOGIES CORP., LTD. 0090E9 JANZ COMPUTER AG 0090EA ALPHA TECHNOLOGIES, INC. 0090EB SENTRY TELECOM SYSTEMS 0090EC PYRESCOM 0090ED CENTRAL SYSTEM RESEARCH CO., LTD. 0090EE PERSONAL COMMUNICATIONS TECHNOLOGIES 0090EF INTEGRIX, INC. 0090F0 Harmonic Video Systems Ltd. 0090F1 DOT HILL SYSTEMS CORPORATION 0090F2 CISCO SYSTEMS, INC. 0090F3 ASPECT COMMUNICATIONS 0090F4 LIGHTNING INSTRUMENTATION 0090F5 CLEVO CO. 0090F6 ESCALATE NETWORKS, INC. 0090F7 NBASE COMMUNICATIONS LTD. 0090F8 MEDIATRIX TELECOM 0090F9 LEITCH 0090FA EMULEX Corp 0090FB PORTWELL, INC. 0090FC NETWORK COMPUTING DEVICES 0090FD CopperCom, Inc. 0090FE ELECOM CO., LTD. (LANEED DIV.) 0090FF TELLUS TECHNOLOGY INC. 0091D6 Crystal Group, Inc. 009363 Uni-Link Technology Co., Ltd. 0097FF Heimann Sensor GmbH 009D8E CARDIAC RECORDERS, INC. 00A000 CENTILLION NETWORKS, INC. 00A001 DRS Signal Solutions 00A002 LEEDS & NORTHRUP AUSTRALIA PTY LTD 00A003 Siemens Switzerland Ltd., I B T HVP 00A004 NETPOWER, INC. 00A005 DANIEL INSTRUMENTS, LTD. 00A006 IMAGE DATA PROCESSING SYSTEM GROUP 00A007 APEXX TECHNOLOGY, INC. 00A008 NETCORP 00A009 WHITETREE NETWORK 00A00A Airspan 00A00B COMPUTEX CO., LTD. 00A00C KINGMAX TECHNOLOGY, INC. 00A00D THE PANDA PROJECT 00A00E VISUAL NETWORKS, INC. 00A00F Broadband Technologies 00A010 SYSLOGIC DATENTECHNIK AG 00A011 MUTOH INDUSTRIES LTD. 00A012 B.A.T.M. ADVANCED TECHNOLOGIES 00A013 TELTREND LTD. 00A014 CSIR 00A015 WYLE 00A016 MICROPOLIS CORP. 00A017 J B M CORPORATION 00A018 CREATIVE CONTROLLERS, INC. 00A019 NEBULA CONSULTANTS, INC. 00A01A BINAR ELEKTRONIK AB 00A01B PREMISYS COMMUNICATIONS, INC. 00A01C NASCENT NETWORKS CORPORATION 00A01D SIXNET 00A01E EST CORPORATION 00A01F TRICORD SYSTEMS, INC. 00A020 CITICORP/TTI 00A021 General Dynamics 00A022 CENTRE FOR DEVELOPMENT OF ADVANCED COMPUTING 00A023 APPLIED CREATIVE TECHNOLOGY, INC. 00A024 3COM CORPORATION 00A025 REDCOM LABS INC. 00A026 TELDAT, S.A. 00A027 FIREPOWER SYSTEMS, INC. 00A028 CONNER PERIPHERALS 00A029 COULTER CORPORATION 00A02A TRANCELL SYSTEMS 00A02B TRANSITIONS RESEARCH CORP. 00A02C interWAVE Communications 00A02D 1394 Trade Association 00A02E BRAND COMMUNICATIONS, LTD. 00A02F PIRELLI CAVI 00A030 CAPTOR NV/SA 00A031 HAZELTINE CORPORATION, MS 1-17 00A032 GES SINGAPORE PTE. LTD. 00A033 imc MeBsysteme GmbH 00A034 AXEL 00A035 CYLINK CORPORATION 00A036 APPLIED NETWORK TECHNOLOGY 00A037 Mindray DS USA, Inc. 00A038 EMAIL ELECTRONICS 00A039 ROSS TECHNOLOGY, INC. 00A03A KUBOTEK CORPORATION 00A03B TOSHIN ELECTRIC CO., LTD. 00A03C EG&G NUCLEAR INSTRUMENTS 00A03D OPTO-22 00A03E ATM FORUM 00A03F COMPUTER SOCIETY MICROPROCESSOR & MICROPROCESSOR STANDARDS C 00A040 APPLE COMPUTER 00A041 INFICON 00A042 SPUR PRODUCTS CORP. 00A043 AMERICAN TECHNOLOGY LABS, INC. 00A044 NTT IT CO., LTD. 00A045 PHOENIX CONTACT GMBH & CO. 00A046 SCITEX CORP. LTD. 00A047 INTEGRATED FITNESS CORP. 00A048 QUESTECH, LTD. 00A049 DIGITECH INDUSTRIES, INC. 00A04A NISSHIN ELECTRIC CO., LTD. 00A04B TFL LAN INC. 00A04C INNOVATIVE SYSTEMS & TECHNOLOGIES, INC. 00A04D EDA INSTRUMENTS, INC. 00A04E VOELKER TECHNOLOGIES, INC. 00A04F AMERITEC CORP. 00A050 CYPRESS SEMICONDUCTOR 00A051 ANGIA COMMUNICATIONS. INC. 00A052 STANILITE ELECTRONICS PTY. LTD 00A053 COMPACT DEVICES, INC. 00A054 PRIVATE 00A055 Data Device Corporation 00A056 MICROPROSS 00A057 LANCOM Systems GmbH 00A058 GLORY, LTD. 00A059 HAMILTON HALLMARK 00A05A KOFAX IMAGE PRODUCTS 00A05B MARQUIP, INC. 00A05C INVENTORY CONVERSION, INC./ 00A05D CS COMPUTER SYSTEME GmbH 00A05E MYRIAD LOGIC INC. 00A05F BTG Electronics Design BV 00A060 ACER PERIPHERALS, INC. 00A061 PURITAN BENNETT 00A062 AES PRODATA 00A063 JRL SYSTEMS, INC. 00A064 KVB/ANALECT 00A065 Symantec Corporation 00A066 ISA CO., LTD. 00A067 NETWORK SERVICES GROUP 00A068 BHP LIMITED 00A069 Symmetricom, Inc. 00A06A Verilink Corporation 00A06B DMS DORSCH MIKROSYSTEM GMBH 00A06C SHINDENGEN ELECTRIC MFG. CO., LTD. 00A06D MANNESMANN TALLY CORPORATION 00A06E AUSTRON, INC. 00A06F THE APPCON GROUP, INC. 00A070 COASTCOM 00A071 VIDEO LOTTERY TECHNOLOGIES,INC 00A072 OVATION SYSTEMS LTD. 00A073 COM21, INC. 00A074 PERCEPTION TECHNOLOGY 00A075 MICRON TECHNOLOGY, INC. 00A076 CARDWARE LAB, INC. 00A077 FUJITSU NEXION, INC. 00A078 Marconi Communications 00A079 ALPS ELECTRIC (USA), INC. 00A07A ADVANCED PERIPHERALS TECHNOLOGIES, INC. 00A07B DAWN COMPUTER INCORPORATION 00A07C TONYANG NYLON CO., LTD. 00A07D SEEQ TECHNOLOGY, INC. 00A07E AVID TECHNOLOGY, INC. 00A07F GSM-SYNTEL, LTD. 00A080 SBE, Inc. 00A081 ALCATEL DATA NETWORKS 00A082 NKT ELEKTRONIK A/S 00A083 ASIMMPHONY TURKEY 00A084 Dataplex Pty Ltd 00A085 PRIVATE 00A086 AMBER WAVE SYSTEMS, INC. 00A087 Zarlink Semiconductor Ltd. 00A088 ESSENTIAL COMMUNICATIONS 00A089 XPOINT TECHNOLOGIES, INC. 00A08A BROOKTROUT TECHNOLOGY, INC. 00A08B ASTON ELECTRONIC DESIGNS LTD. 00A08C MultiMedia LANs, Inc. 00A08D JACOMO CORPORATION 00A08E Check Point Software Technologies 00A08F DESKNET SYSTEMS, INC. 00A090 TimeStep Corporation 00A091 APPLICOM INTERNATIONAL 00A092 H. BOLLMANN MANUFACTURERS, LTD 00A093 B/E AEROSPACE, Inc. 00A094 COMSAT CORPORATION 00A095 ACACIA NETWORKS, INC. 00A096 MITUMI ELECTRIC CO., LTD. 00A097 JC INFORMATION SYSTEMS 00A098 NetApp 00A099 K-NET LTD. 00A09A NIHON KOHDEN AMERICA 00A09B QPSX COMMUNICATIONS, LTD. 00A09C Xyplex, Inc. 00A09D JOHNATHON FREEMAN TECHNOLOGIES 00A09E ICTV 00A09F COMMVISION CORP. 00A0A0 COMPACT DATA, LTD. 00A0A1 EPIC DATA INC. 00A0A2 DIGICOM S.P.A. 00A0A3 RELIABLE POWER METERS 00A0A4 MICROS SYSTEMS, INC. 00A0A5 TEKNOR MICROSYSTEME, INC. 00A0A6 M.I. SYSTEMS, K.K. 00A0A7 VORAX CORPORATION 00A0A8 RENEX CORPORATION 00A0A9 NAVTEL COMMUNICATIONS INC. 00A0AA SPACELABS MEDICAL 00A0AB NETCS INFORMATIONSTECHNIK GMBH 00A0AC GILAT SATELLITE NETWORKS, LTD. 00A0AD MARCONI SPA 00A0AE NUCOM SYSTEMS, INC. 00A0AF WMS INDUSTRIES 00A0B0 I-O DATA DEVICE, INC. 00A0B1 FIRST VIRTUAL CORPORATION 00A0B2 SHIMA SEIKI 00A0B3 ZYKRONIX 00A0B4 TEXAS MICROSYSTEMS, INC. 00A0B5 3H TECHNOLOGY 00A0B6 SANRITZ AUTOMATION CO., LTD. 00A0B7 CORDANT, INC. 00A0B8 SYMBIOS LOGIC INC. 00A0B9 EAGLE TECHNOLOGY, INC. 00A0BA PATTON ELECTRONICS CO. 00A0BB HILAN GMBH 00A0BC VIASAT, INCORPORATED 00A0BD I-TECH CORP. 00A0BE INTEGRATED CIRCUIT SYSTEMS, INC. COMMUNICATIONS GROUP 00A0BF WIRELESS DATA GROUP MOTOROLA 00A0C0 DIGITAL LINK CORP. 00A0C1 ORTIVUS MEDICAL AB 00A0C2 R.A. SYSTEMS CO., LTD. 00A0C3 UNICOMPUTER GMBH 00A0C4 CRISTIE ELECTRONICS LTD. 00A0C5 ZYXEL COMMUNICATION 00A0C6 QUALCOMM INCORPORATED 00A0C7 TADIRAN TELECOMMUNICATIONS 00A0C8 ADTRAN INC. 00A0C9 INTEL CORPORATION - HF1-06 00A0CA FUJITSU DENSO LTD. 00A0CB ARK TELECOMMUNICATIONS, INC. 00A0CC LITE-ON COMMUNICATIONS, INC. 00A0CD DR. JOHANNES HEIDENHAIN GmbH 00A0CE ASTROCOM CORPORATION 00A0CF SOTAS, INC. 00A0D0 TEN X TECHNOLOGY, INC. 00A0D1 INVENTEC CORPORATION 00A0D2 ALLIED TELESIS INTERNATIONAL CORPORATION 00A0D3 INSTEM COMPUTER SYSTEMS, LTD. 00A0D4 RADIOLAN, INC. 00A0D5 SIERRA WIRELESS INC. 00A0D6 SBE, INC. 00A0D7 KASTEN CHASE APPLIED RESEARCH 00A0D8 SPECTRA - TEK 00A0D9 CONVEX COMPUTER CORPORATION 00A0DA INTEGRATED SYSTEMS Technology, Inc. 00A0DB FISHER & PAYKEL PRODUCTION 00A0DC O.N. ELECTRONIC CO., LTD. 00A0DD AZONIX CORPORATION 00A0DE YAMAHA CORPORATION 00A0DF STS TECHNOLOGIES, INC. 00A0E0 TENNYSON TECHNOLOGIES PTY LTD 00A0E1 WESTPORT RESEARCH ASSOCIATES, INC. 00A0E2 Keisokugiken Corporation 00A0E3 XKL SYSTEMS CORP. 00A0E4 OPTIQUEST 00A0E5 NHC COMMUNICATIONS 00A0E6 DIALOGIC CORPORATION 00A0E7 CENTRAL DATA CORPORATION 00A0E8 REUTERS HOLDINGS PLC 00A0E9 ELECTRONIC RETAILING SYSTEMS INTERNATIONAL 00A0EA ETHERCOM CORP. 00A0EB Encore Networks, Inc. 00A0EC TRANSMITTON LTD. 00A0ED Brooks Automation, Inc. 00A0EE NASHOBA NETWORKS 00A0EF LUCIDATA LTD. 00A0F0 TORONTO MICROELECTRONICS INC. 00A0F1 MTI 00A0F2 INFOTEK COMMUNICATIONS, INC. 00A0F3 STAUBLI 00A0F4 GE 00A0F5 RADGUARD LTD. 00A0F6 AutoGas Systems Inc. 00A0F7 V.I COMPUTER CORP. 00A0F8 SYMBOL TECHNOLOGIES, INC. 00A0F9 BINTEC COMMUNICATIONS GMBH 00A0FA Marconi Communication GmbH 00A0FB TORAY ENGINEERING CO., LTD. 00A0FC IMAGE SCIENCES, INC. 00A0FD SCITEX DIGITAL PRINTING, INC. 00A0FE BOSTON TECHNOLOGY, INC. 00A0FF TELLABS OPERATIONS, INC. 00A2DA INAT GmbH 00AA00 INTEL CORPORATION 00AA01 INTEL CORPORATION 00AA02 INTEL CORPORATION 00AA3C OLIVETTI TELECOM SPA (OLTECO) 00B009 Grass Valley Group 00B017 InfoGear Technology Corp. 00B019 Casi-Rusco 00B01C Westport Technologies 00B01E Rantic Labs, Inc. 00B02A ORSYS GmbH 00B02D ViaGate Technologies, Inc. 00B033 OAO "Izhevskiy radiozavod" 00B03B HiQ Networks 00B048 Marconi Communications Inc. 00B04A Cisco Systems, Inc. 00B052 Atheros Communications 00B064 Cisco Systems, Inc. 00B069 Honewell Oy 00B06D Jones Futurex Inc. 00B080 Mannesmann Ipulsys B.V. 00B086 LocSoft Limited 00B08E Cisco Systems, Inc. 00B091 Transmeta Corp. 00B094 Alaris, Inc. 00B09A Morrow Technologies Corp. 00B09D Point Grey Research Inc. 00B0AC SIAE-Microelettronica S.p.A. 00B0AE Symmetricom 00B0B3 Xstreamis PLC 00B0C2 Cisco Systems, Inc. 00B0C7 Tellabs Operations, Inc. 00B0CE TECHNOLOGY RESCUE 00B0D0 Dell Computer Corp. 00B0DB Nextcell, Inc. 00B0DF RELDATA Inc 00B0E7 British Federal Ltd. 00B0EC EACEM 00B0EE Ajile Systems, Inc. 00B0F0 CALY NETWORKS 00B0F5 NetWorth Technologies, Inc. 00B342 MacroSAN Technologies Co., Ltd. 00B5D6 Omnibit Inc. 00BAC0 Biometric Access Company 00BB01 OCTOTHORPE CORP. 00BB8E HME Co., Ltd. 00BBF0 UNGERMANN-BASS INC. 00BD27 Exar Corp. 00BD3A Nokia Corporation 00C000 LANOPTICS, LTD. 00C001 DIATEK PATIENT MANAGMENT 00C002 SERCOMM CORPORATION 00C003 GLOBALNET COMMUNICATIONS 00C004 JAPAN BUSINESS COMPUTER CO.LTD 00C005 LIVINGSTON ENTERPRISES, INC. 00C006 NIPPON AVIONICS CO., LTD. 00C007 PINNACLE DATA SYSTEMS, INC. 00C008 SECO SRL 00C009 KT TECHNOLOGY (S) PTE LTD 00C00A MICRO CRAFT 00C00B NORCONTROL A.S. 00C00C RELIA TECHNOLGIES 00C00D ADVANCED LOGIC RESEARCH, INC. 00C00E PSITECH, INC. 00C00F QUANTUM SOFTWARE SYSTEMS LTD. 00C010 HIRAKAWA HEWTECH CORP. 00C011 INTERACTIVE COMPUTING DEVICES 00C012 NETSPAN CORPORATION 00C013 NETRIX 00C014 TELEMATICS CALABASAS INT'L,INC 00C015 NEW MEDIA CORPORATION 00C016 ELECTRONIC THEATRE CONTROLS 00C017 Fluke Corporation 00C018 LANART CORPORATION 00C019 LEAP TECHNOLOGY, INC. 00C01A COROMETRICS MEDICAL SYSTEMS 00C01B SOCKET COMMUNICATIONS, INC. 00C01C INTERLINK COMMUNICATIONS LTD. 00C01D GRAND JUNCTION NETWORKS, INC. 00C01E LA FRANCAISE DES JEUX 00C01F S.E.R.C.E.L. 00C020 ARCO ELECTRONIC, CONTROL LTD. 00C021 NETEXPRESS 00C022 LASERMASTER TECHNOLOGIES, INC. 00C023 TUTANKHAMON ELECTRONICS 00C024 EDEN SISTEMAS DE COMPUTACAO SA 00C025 DATAPRODUCTS CORPORATION 00C026 LANS TECHNOLOGY CO., LTD. 00C027 CIPHER SYSTEMS, INC. 00C028 JASCO CORPORATION 00C029 Nexans Deutschland GmbH - ANS 00C02A OHKURA ELECTRIC CO., LTD. 00C02B GERLOFF GESELLSCHAFT FUR 00C02C CENTRUM COMMUNICATIONS, INC. 00C02D FUJI PHOTO FILM CO., LTD. 00C02E NETWIZ 00C02F OKUMA CORPORATION 00C030 INTEGRATED ENGINEERING B. V. 00C031 DESIGN RESEARCH SYSTEMS, INC. 00C032 I-CUBED LIMITED 00C033 TELEBIT COMMUNICATIONS APS 00C034 TRANSACTION NETWORK 00C035 QUINTAR COMPANY 00C036 RAYTECH ELECTRONIC CORP. 00C037 DYNATEM 00C038 RASTER IMAGE PROCESSING SYSTEM 00C039 Teridian Semiconductor Corporation 00C03A MEN-MIKRO ELEKTRONIK GMBH 00C03B MULTIACCESS COMPUTING CORP. 00C03C TOWER TECH S.R.L. 00C03D WIESEMANN & THEIS GMBH 00C03E FA. GEBR. HELLER GMBH 00C03F STORES AUTOMATED SYSTEMS, INC. 00C040 ECCI 00C041 DIGITAL TRANSMISSION SYSTEMS 00C042 DATALUX CORP. 00C043 STRATACOM 00C044 EMCOM CORPORATION 00C045 ISOLATION SYSTEMS, LTD. 00C046 Blue Chip Technology Ltd 00C047 UNIMICRO SYSTEMS, INC. 00C048 BAY TECHNICAL ASSOCIATES 00C049 U.S. ROBOTICS, INC. 00C04A GROUP 2000 AG 00C04B CREATIVE MICROSYSTEMS 00C04C DEPARTMENT OF FOREIGN AFFAIRS 00C04D MITEC, INC. 00C04E COMTROL CORPORATION 00C04F DELL COMPUTER CORPORATION 00C050 TOYO DENKI SEIZO K.K. 00C051 ADVANCED INTEGRATION RESEARCH 00C052 BURR-BROWN 00C053 Aspect Software Inc. 00C054 NETWORK PERIPHERALS, LTD. 00C055 MODULAR COMPUTING TECHNOLOGIES 00C056 SOMELEC 00C057 MYCO ELECTRONICS 00C058 DATAEXPERT CORP. 00C059 DENSO CORPORATION 00C05A SEMAPHORE COMMUNICATIONS CORP. 00C05B NETWORKS NORTHWEST, INC. 00C05C ELONEX PLC 00C05D L&N TECHNOLOGIES 00C05E VARI-LITE, INC. 00C05F FINE-PAL COMPANY LIMITED 00C060 ID SCANDINAVIA AS 00C061 SOLECTEK CORPORATION 00C062 IMPULSE TECHNOLOGY 00C063 MORNING STAR TECHNOLOGIES, INC 00C064 GENERAL DATACOMM IND. INC. 00C065 SCOPE COMMUNICATIONS, INC. 00C066 DOCUPOINT, INC. 00C067 UNITED BARCODE INDUSTRIES 00C068 PHILIP DRAKE ELECTRONICS LTD. 00C069 Axxcelera Broadband Wireless 00C06A ZAHNER-ELEKTRIK GMBH & CO. KG 00C06B OSI PLUS CORPORATION 00C06C SVEC COMPUTER CORP. 00C06D BOCA RESEARCH, INC. 00C06E HAFT TECHNOLOGY, INC. 00C06F KOMATSU LTD. 00C070 SECTRA SECURE-TRANSMISSION AB 00C071 AREANEX COMMUNICATIONS, INC. 00C072 KNX LTD. 00C073 XEDIA CORPORATION 00C074 TOYODA AUTOMATIC LOOM 00C075 XANTE CORPORATION 00C076 I-DATA INTERNATIONAL A-S 00C077 DAEWOO TELECOM LTD. 00C078 COMPUTER SYSTEMS ENGINEERING 00C079 FONSYS CO.,LTD. 00C07A PRIVA B.V. 00C07B ASCEND COMMUNICATIONS, INC. 00C07C HIGHTECH INFORMATION 00C07D RISC DEVELOPMENTS LTD. 00C07E KUBOTA CORPORATION ELECTRONIC 00C07F NUPON COMPUTING CORP. 00C080 NETSTAR, INC. 00C081 METRODATA LTD. 00C082 MOORE PRODUCTS CO. 00C083 TRACE MOUNTAIN PRODUCTS, INC. 00C084 DATA LINK CORP. LTD. 00C085 ELECTRONICS FOR IMAGING, INC. 00C086 THE LYNK CORPORATION 00C087 UUNET TECHNOLOGIES, INC. 00C088 EKF ELEKTRONIK GMBH 00C089 TELINDUS DISTRIBUTION 00C08A Lauterbach GmbH 00C08B RISQ MODULAR SYSTEMS, INC. 00C08C PERFORMANCE TECHNOLOGIES, INC. 00C08D TRONIX PRODUCT DEVELOPMENT 00C08E NETWORK INFORMATION TECHNOLOGY 00C08F Panasonic Electric Works Co., Ltd. 00C090 PRAIM S.R.L. 00C091 JABIL CIRCUIT, INC. 00C092 MENNEN MEDICAL INC. 00C093 ALTA RESEARCH CORP. 00C094 VMX INC. 00C095 ZNYX 00C096 TAMURA CORPORATION 00C097 ARCHIPEL SA 00C098 CHUNTEX ELECTRONIC CO., LTD. 00C099 YOSHIKI INDUSTRIAL CO.,LTD. 00C09A PHOTONICS CORPORATION 00C09B RELIANCE COMM/TEC, R-TEC 00C09C HIOKI E.E. CORPORATION 00C09D DISTRIBUTED SYSTEMS INT'L, INC 00C09E CACHE COMPUTERS, INC. 00C09F QUANTA COMPUTER, INC. 00C0A0 ADVANCE MICRO RESEARCH, INC. 00C0A1 TOKYO DENSHI SEKEI CO. 00C0A2 INTERMEDIUM A/S 00C0A3 DUAL ENTERPRISES CORPORATION 00C0A4 UNIGRAF OY 00C0A5 DICKENS DATA SYSTEMS 00C0A6 EXICOM AUSTRALIA PTY. LTD 00C0A7 SEEL LTD. 00C0A8 GVC CORPORATION 00C0A9 BARRON MCCANN LTD. 00C0AA SILICON VALLEY COMPUTER 00C0AB Telco Systems, Inc. 00C0AC GAMBIT COMPUTER COMMUNICATIONS 00C0AD MARBEN COMMUNICATION SYSTEMS 00C0AE TOWERCOM CO. INC. DBA PC HOUSE 00C0AF TEKLOGIX INC. 00C0B0 GCC TECHNOLOGIES,INC. 00C0B1 GENIUS NET CO. 00C0B2 NORAND CORPORATION 00C0B3 COMSTAT DATACOMM CORPORATION 00C0B4 MYSON TECHNOLOGY, INC. 00C0B5 CORPORATE NETWORK SYSTEMS,INC. 00C0B6 Overland Storage, Inc. 00C0B7 AMERICAN POWER CONVERSION CORP 00C0B8 FRASER'S HILL LTD. 00C0B9 FUNK SOFTWARE, INC. 00C0BA NETVANTAGE 00C0BB FORVAL CREATIVE, INC. 00C0BC TELECOM AUSTRALIA/CSSC 00C0BD INEX TECHNOLOGIES, INC. 00C0BE ALCATEL - SEL 00C0BF TECHNOLOGY CONCEPTS, LTD. 00C0C0 SHORE MICROSYSTEMS, INC. 00C0C1 QUAD/GRAPHICS, INC. 00C0C2 INFINITE NETWORKS LTD. 00C0C3 ACUSON COMPUTED SONOGRAPHY 00C0C4 COMPUTER OPERATIONAL 00C0C5 SID INFORMATICA 00C0C6 PERSONAL MEDIA CORP. 00C0C7 SPARKTRUM MICROSYSTEMS, INC. 00C0C8 MICRO BYTE PTY. LTD. 00C0C9 ELSAG BAILEY PROCESS 00C0CA ALFA, INC. 00C0CB CONTROL TECHNOLOGY CORPORATION 00C0CC TELESCIENCES CO SYSTEMS, INC. 00C0CD COMELTA, S.A. 00C0CE CEI SYSTEMS & ENGINEERING PTE 00C0CF IMATRAN VOIMA OY 00C0D0 RATOC SYSTEM INC. 00C0D1 COMTREE TECHNOLOGY CORPORATION 00C0D2 SYNTELLECT, INC. 00C0D3 OLYMPUS IMAGE SYSTEMS, INC. 00C0D4 AXON NETWORKS, INC. 00C0D5 Werbeagentur Jürgen Siebert 00C0D6 J1 SYSTEMS, INC. 00C0D7 TAIWAN TRADING CENTER DBA 00C0D8 UNIVERSAL DATA SYSTEMS 00C0D9 QUINTE NETWORK CONFIDENTIALITY 00C0DA NICE SYSTEMS LTD. 00C0DB IPC CORPORATION (PTE) LTD. 00C0DC EOS TECHNOLOGIES, INC. 00C0DD QLogic Corporation 00C0DE ZCOMM, INC. 00C0DF KYE Systems Corp. 00C0E0 DSC COMMUNICATION CORP. 00C0E1 SONIC SOLUTIONS 00C0E2 CALCOMP, INC. 00C0E3 OSITECH COMMUNICATIONS, INC. 00C0E4 SIEMENS BUILDING 00C0E5 GESPAC, S.A. 00C0E6 Verilink Corporation 00C0E7 FIBERDATA AB 00C0E8 PLEXCOM, INC. 00C0E9 OAK SOLUTIONS, LTD. 00C0EA ARRAY TECHNOLOGY LTD. 00C0EB SEH COMPUTERTECHNIK GMBH 00C0EC DAUPHIN TECHNOLOGY 00C0ED US ARMY ELECTRONIC 00C0EE KYOCERA CORPORATION 00C0EF ABIT CORPORATION 00C0F0 KINGSTON TECHNOLOGY CORP. 00C0F1 SHINKO ELECTRIC CO., LTD. 00C0F2 TRANSITION NETWORKS 00C0F3 NETWORK COMMUNICATIONS CORP. 00C0F4 INTERLINK SYSTEM CO., LTD. 00C0F5 METACOMP, INC. 00C0F6 CELAN TECHNOLOGY INC. 00C0F7 ENGAGE COMMUNICATION, INC. 00C0F8 ABOUT COMPUTING INC. 00C0F9 Emerson Network Power 00C0FA CANARY COMMUNICATIONS, INC. 00C0FB ADVANCED TECHNOLOGY LABS 00C0FC ELASTIC REALITY, INC. 00C0FD PROSUM 00C0FE APTEC COMPUTER SYSTEMS, INC. 00C0FF DOT HILL SYSTEMS CORPORATION 00CBBD Cambridge Broadband Networks Ltd. 00CF1C COMMUNICATION MACHINERY CORP. 00D000 FERRAN SCIENTIFIC, INC. 00D001 VST TECHNOLOGIES, INC. 00D002 DITECH CORPORATION 00D003 COMDA ENTERPRISES CORP. 00D004 PENTACOM LTD. 00D005 ZHS ZEITMANAGEMENTSYSTEME 00D006 CISCO SYSTEMS, INC. 00D007 MIC ASSOCIATES, INC. 00D008 MACTELL CORPORATION 00D009 HSING TECH. ENTERPRISE CO. LTD 00D00A LANACCESS TELECOM S.A. 00D00B RHK TECHNOLOGY, INC. 00D00C SNIJDER MICRO SYSTEMS 00D00D MICROMERITICS INSTRUMENT 00D00E PLURIS, INC. 00D00F SPEECH DESIGN GMBH 00D010 CONVERGENT NETWORKS, INC. 00D011 PRISM VIDEO, INC. 00D012 GATEWORKS CORP. 00D013 PRIMEX AEROSPACE COMPANY 00D014 ROOT, INC. 00D015 UNIVEX MICROTECHNOLOGY CORP. 00D016 SCM MICROSYSTEMS, INC. 00D017 SYNTECH INFORMATION CO., LTD. 00D018 QWES. COM, INC. 00D019 DAINIPPON SCREEN CORPORATE 00D01A URMET TLC S.P.A. 00D01B MIMAKI ENGINEERING CO., LTD. 00D01C SBS TECHNOLOGIES, 00D01D FURUNO ELECTRIC CO., LTD. 00D01E PINGTEL CORP. 00D01F CTAM PTY. LTD. 00D020 AIM SYSTEM, INC. 00D021 REGENT ELECTRONICS CORP. 00D022 INCREDIBLE TECHNOLOGIES, INC. 00D023 INFORTREND TECHNOLOGY, INC. 00D024 Cognex Corporation 00D025 XROSSTECH, INC. 00D026 HIRSCHMANN AUSTRIA GMBH 00D027 APPLIED AUTOMATION, INC. 00D028 OMNEON VIDEO NETWORKS 00D029 WAKEFERN FOOD CORPORATION 00D02A Voxent Systems Ltd. 00D02B JETCELL, INC. 00D02C CAMPBELL SCIENTIFIC, INC. 00D02D ADEMCO 00D02E COMMUNICATION AUTOMATION CORP. 00D02F VLSI TECHNOLOGY INC. 00D030 Safetran Systems Corp 00D031 INDUSTRIAL LOGIC CORPORATION 00D032 YANO ELECTRIC CO., LTD. 00D033 DALIAN DAXIAN NETWORK 00D034 ORMEC SYSTEMS CORP. 00D035 BEHAVIOR TECH. COMPUTER CORP. 00D036 TECHNOLOGY ATLANTA CORP. 00D037 Pace France 00D038 FIVEMERE, LTD. 00D039 UTILICOM, INC. 00D03A ZONEWORX, INC. 00D03B VISION PRODUCTS PTY. LTD. 00D03C Vieo, Inc. 00D03D GALILEO TECHNOLOGY, LTD. 00D03E ROCKETCHIPS, INC. 00D03F AMERICAN COMMUNICATION 00D040 SYSMATE CO., LTD. 00D041 AMIGO TECHNOLOGY CO., LTD. 00D042 MAHLO GMBH & CO. UG 00D043 ZONAL RETAIL DATA SYSTEMS 00D044 ALIDIAN NETWORKS, INC. 00D045 KVASER AB 00D046 DOLBY LABORATORIES, INC. 00D047 XN TECHNOLOGIES 00D048 ECTON, INC. 00D049 IMPRESSTEK CO., LTD. 00D04A PRESENCE TECHNOLOGY GMBH 00D04B LA CIE GROUP S.A. 00D04C EUROTEL TELECOM LTD. 00D04D DIV OF RESEARCH & STATISTICS 00D04E LOGIBAG 00D04F BITRONICS, INC. 00D050 ISKRATEL 00D051 O2 MICRO, INC. 00D052 ASCEND COMMUNICATIONS, INC. 00D053 CONNECTED SYSTEMS 00D054 SAS INSTITUTE INC. 00D055 KATHREIN-WERKE KG 00D056 SOMAT CORPORATION 00D057 ULTRAK, INC. 00D058 CISCO SYSTEMS, INC. 00D059 AMBIT MICROSYSTEMS CORP. 00D05A SYMBIONICS, LTD. 00D05B ACROLOOP MOTION CONTROL 00D05C TECHNOTREND SYSTEMTECHNIK GMBH 00D05D INTELLIWORXX, INC. 00D05E STRATABEAM TECHNOLOGY, INC. 00D05F VALCOM, INC. 00D060 Panasonic Europe Ltd. 00D061 TREMON ENTERPRISES CO., LTD. 00D062 DIGIGRAM 00D063 CISCO SYSTEMS, INC. 00D064 MULTITEL 00D065 TOKO ELECTRIC 00D066 WINTRISS ENGINEERING CORP. 00D067 CAMPIO COMMUNICATIONS 00D068 IWILL CORPORATION 00D069 TECHNOLOGIC SYSTEMS 00D06A LINKUP SYSTEMS CORPORATION 00D06B SR TELECOM INC. 00D06C SHAREWAVE, INC. 00D06D ACRISON, INC. 00D06E TRENDVIEW RECORDERS LTD. 00D06F KMC CONTROLS 00D070 LONG WELL ELECTRONICS CORP. 00D071 ECHELON CORP. 00D072 BROADLOGIC 00D073 ACN ADVANCED COMMUNICATIONS 00D074 TAQUA SYSTEMS, INC. 00D075 ALARIS MEDICAL SYSTEMS, INC. 00D076 Bank of America 00D077 LUCENT TECHNOLOGIES 00D078 Eltex of Sweden AB 00D079 CISCO SYSTEMS, INC. 00D07A AMAQUEST COMPUTER CORP. 00D07B COMCAM INTERNATIONAL INC 00D07C KOYO ELECTRONICS INC. CO.,LTD. 00D07D COSINE COMMUNICATIONS 00D07E KEYCORP LTD. 00D07F STRATEGY & TECHNOLOGY, LIMITED 00D080 EXABYTE CORPORATION 00D081 RTD Embedded Technologies, Inc. 00D082 IOWAVE INC. 00D083 INVERTEX, INC. 00D084 NEXCOMM SYSTEMS, INC. 00D085 OTIS ELEVATOR COMPANY 00D086 FOVEON, INC. 00D087 MICROFIRST INC. 00D088 Motorola, Inc. 00D089 DYNACOLOR, INC. 00D08A PHOTRON USA 00D08B ADVA Optical Networking Ltd 00D08C GENOA TECHNOLOGY, INC. 00D08D PHOENIX GROUP, INC. 00D08E NVISION INC. 00D08F ARDENT TECHNOLOGIES, INC. 00D090 CISCO SYSTEMS, INC. 00D091 SMARTSAN SYSTEMS, INC. 00D092 GLENAYRE WESTERN MULTIPLEX 00D093 TQ - COMPONENTS GMBH 00D094 TIMELINE VISTA, INC. 00D095 Alcatel-Lucent, Enterprise Business Group 00D096 3COM EUROPE LTD. 00D097 CISCO SYSTEMS, INC. 00D098 Photon Dynamics Canada Inc. 00D099 ELCARD OY 00D09A FILANET CORPORATION 00D09B SPECTEL LTD. 00D09C KAPADIA COMMUNICATIONS 00D09D VERIS INDUSTRIES 00D09E 2WIRE, INC. 00D09F NOVTEK TEST SYSTEMS 00D0A0 MIPS DENMARK 00D0A1 OSKAR VIERLING GMBH + CO. KG 00D0A2 INTEGRATED DEVICE 00D0A3 VOCAL DATA, INC. 00D0A4 ALANTRO COMMUNICATIONS 00D0A5 AMERICAN ARIUM 00D0A6 LANBIRD TECHNOLOGY CO., LTD. 00D0A7 TOKYO SOKKI KENKYUJO CO., LTD. 00D0A8 NETWORK ENGINES, INC. 00D0A9 SHINANO KENSHI CO., LTD. 00D0AA CHASE COMMUNICATIONS 00D0AB DELTAKABEL TELECOM CV 00D0AC GRAYSON WIRELESS 00D0AD TL INDUSTRIES 00D0AE ORESIS COMMUNICATIONS, INC. 00D0AF CUTLER-HAMMER, INC. 00D0B0 BITSWITCH LTD. 00D0B1 OMEGA ELECTRONICS SA 00D0B2 XIOTECH CORPORATION 00D0B3 DRS FLIGHT SAFETY AND 00D0B4 KATSUJIMA CO., LTD. 00D0B5 IPricot formerly DotCom 00D0B6 CRESCENT NETWORKS, INC. 00D0B7 INTEL CORPORATION 00D0B8 Iomega Corporation 00D0B9 MICROTEK INTERNATIONAL, INC. 00D0BA CISCO SYSTEMS, INC. 00D0BB CISCO SYSTEMS, INC. 00D0BC CISCO SYSTEMS, INC. 00D0BD Silicon Image GmbH 00D0BE EMUTEC INC. 00D0BF PIVOTAL TECHNOLOGIES 00D0C0 CISCO SYSTEMS, INC. 00D0C1 HARMONIC DATA SYSTEMS, LTD. 00D0C2 BALTHAZAR TECHNOLOGY AB 00D0C3 VIVID TECHNOLOGY PTE, LTD. 00D0C4 TERATECH CORPORATION 00D0C5 COMPUTATIONAL SYSTEMS, INC. 00D0C6 THOMAS & BETTS CORP. 00D0C7 PATHWAY, INC. 00D0C8 Prevas A/S 00D0C9 ADVANTECH CO., LTD. 00D0CA Intrinsyc Software International Inc. 00D0CB DASAN CO., LTD. 00D0CC TECHNOLOGIES LYRE INC. 00D0CD ATAN TECHNOLOGY INC. 00D0CE ASYST ELECTRONIC 00D0CF MORETON BAY 00D0D0 ZHONGXING TELECOM LTD. 00D0D1 Sycamore Networks 00D0D2 EPILOG CORPORATION 00D0D3 CISCO SYSTEMS, INC. 00D0D4 V-BITS, INC. 00D0D5 GRUNDIG AG 00D0D6 AETHRA TELECOMUNICAZIONI 00D0D7 B2C2, INC. 00D0D8 3Com Corporation 00D0D9 DEDICATED MICROCOMPUTERS 00D0DA TAICOM DATA SYSTEMS CO., LTD. 00D0DB MCQUAY INTERNATIONAL 00D0DC MODULAR MINING SYSTEMS, INC. 00D0DD SUNRISE TELECOM, INC. 00D0DE PHILIPS MULTIMEDIA NETWORK 00D0DF KUZUMI ELECTRONICS, INC. 00D0E0 DOOIN ELECTRONICS CO. 00D0E1 AVIONITEK ISRAEL INC. 00D0E2 MRT MICRO, INC. 00D0E3 ELE-CHEM ENGINEERING CO., LTD. 00D0E4 CISCO SYSTEMS, INC. 00D0E5 SOLIDUM SYSTEMS CORP. 00D0E6 IBOND INC. 00D0E7 VCON TELECOMMUNICATION LTD. 00D0E8 MAC SYSTEM CO., LTD. 00D0E9 Advantage Century Telecommunication Corp. 00D0EA NEXTONE COMMUNICATIONS, INC. 00D0EB LIGHTERA NETWORKS, INC. 00D0EC NAKAYO TELECOMMUNICATIONS, INC 00D0ED XIOX 00D0EE DICTAPHONE CORPORATION 00D0EF IGT 00D0F0 CONVISION TECHNOLOGY GMBH 00D0F1 SEGA ENTERPRISES, LTD. 00D0F2 MONTEREY NETWORKS 00D0F3 SOLARI DI UDINE SPA 00D0F4 CARINTHIAN TECH INSTITUTE 00D0F5 ORANGE MICRO, INC. 00D0F6 Alcatel Canada 00D0F7 NEXT NETS CORPORATION 00D0F8 FUJIAN STAR TERMINAL 00D0F9 ACUTE COMMUNICATIONS CORP. 00D0FA Thales e-Security Ltd. 00D0FB TEK MICROSYSTEMS, INCORPORATED 00D0FC GRANITE MICROSYSTEMS 00D0FD OPTIMA TELE.COM, INC. 00D0FE ASTRAL POINT 00D0FF CISCO SYSTEMS, INC. 00D11C ACETEL 00D38D Hotel Technology Next Generation 00DB45 THAMWAY CO.,LTD. 00DD00 UNGERMANN-BASS INC. 00DD01 UNGERMANN-BASS INC. 00DD02 UNGERMANN-BASS INC. 00DD03 UNGERMANN-BASS INC. 00DD04 UNGERMANN-BASS INC. 00DD05 UNGERMANN-BASS INC. 00DD06 UNGERMANN-BASS INC. 00DD07 UNGERMANN-BASS INC. 00DD08 UNGERMANN-BASS INC. 00DD09 UNGERMANN-BASS INC. 00DD0A UNGERMANN-BASS INC. 00DD0B UNGERMANN-BASS INC. 00DD0C UNGERMANN-BASS INC. 00DD0D UNGERMANN-BASS INC. 00DD0E UNGERMANN-BASS INC. 00DD0F UNGERMANN-BASS INC. 00E000 Fujitsu Limited 00E001 STRAND LIGHTING LIMITED 00E002 CROSSROADS SYSTEMS, INC. 00E003 NOKIA WIRELESS BUSINESS COMMUN 00E004 PMC-SIERRA, INC. 00E005 TECHNICAL CORP. 00E006 SILICON INTEGRATED SYS. CORP. 00E007 Avaya ECS Ltd 00E008 AMAZING CONTROLS! INC. 00E009 MARATHON TECHNOLOGIES CORP. 00E00A DIBA, INC. 00E00B ROOFTOP COMMUNICATIONS CORP. 00E00C MOTOROLA 00E00D RADIANT SYSTEMS 00E00E AVALON IMAGING SYSTEMS, INC. 00E00F SHANGHAI BAUD DATA 00E010 HESS SB-AUTOMATENBAU GmbH 00E011 Uniden Corporation 00E012 PLUTO TECHNOLOGIES INTERNATIONAL INC. 00E013 EASTERN ELECTRONIC CO., LTD. 00E014 CISCO SYSTEMS, INC. 00E015 HEIWA CORPORATION 00E016 RAPID CITY COMMUNICATIONS 00E017 EXXACT GmbH 00E018 ASUSTEK COMPUTER INC. 00E019 ING. GIORDANO ELETTRONICA 00E01A COMTEC SYSTEMS. CO., LTD. 00E01B SPHERE COMMUNICATIONS, INC. 00E01C Cradlepoint, Inc 00E01D WebTV NETWORKS, INC. 00E01E CISCO SYSTEMS, INC. 00E01F AVIDIA Systems, Inc. 00E020 TECNOMEN OY 00E021 FREEGATE CORP. 00E022 Analog Devices Inc. 00E023 TELRAD 00E024 GADZOOX NETWORKS 00E025 dit Co., Ltd. 00E026 Redlake MASD LLC 00E027 DUX, INC. 00E028 APTIX CORPORATION 00E029 STANDARD MICROSYSTEMS CORP. 00E02A TANDBERG TELEVISION AS 00E02B EXTREME NETWORKS 00E02C AST COMPUTER 00E02D InnoMediaLogic, Inc. 00E02E SPC ELECTRONICS CORPORATION 00E02F MCNS HOLDINGS, L.P. 00E030 MELITA INTERNATIONAL CORP. 00E031 HAGIWARA ELECTRIC CO., LTD. 00E032 MISYS FINANCIAL SYSTEMS, LTD. 00E033 E.E.P.D. GmbH 00E034 CISCO SYSTEMS, INC. 00E035 Emerson Network Power 00E036 PIONEER CORPORATION 00E037 CENTURY CORPORATION 00E038 PROXIMA CORPORATION 00E039 PARADYNE CORP. 00E03A CABLETRON SYSTEMS, INC. 00E03B PROMINET CORPORATION 00E03C AdvanSys 00E03D FOCON ELECTRONIC SYSTEMS A/S 00E03E ALFATECH, INC. 00E03F JATON CORPORATION 00E040 DeskStation Technology, Inc. 00E041 CSPI 00E042 Pacom Systems Ltd. 00E043 VitalCom 00E044 LSICS CORPORATION 00E045 TOUCHWAVE, INC. 00E046 BENTLY NEVADA CORP. 00E047 InFocus Corporation 00E048 SDL COMMUNICATIONS, INC. 00E049 MICROWI ELECTRONIC GmbH 00E04A ENHANCED MESSAGING SYSTEMS, INC 00E04B JUMP INDUSTRIELLE COMPUTERTECHNIK GmbH 00E04C REALTEK SEMICONDUCTOR CORP. 00E04D INTERNET INITIATIVE JAPAN, INC 00E04E SANYO DENKI CO., LTD. 00E04F CISCO SYSTEMS, INC. 00E050 EXECUTONE INFORMATION SYSTEMS, INC. 00E051 TALX CORPORATION 00E052 Brocade Communications Systems, Inc 00E053 CELLPORT LABS, INC. 00E054 KODAI HITEC CO., LTD. 00E055 INGENIERIA ELECTRONICA COMERCIAL INELCOM S.A. 00E056 HOLONTECH CORPORATION 00E057 HAN MICROTELECOM. CO., LTD. 00E058 PHASE ONE DENMARK A/S 00E059 CONTROLLED ENVIRONMENTS, LTD. 00E05A GALEA NETWORK SECURITY 00E05B WEST END SYSTEMS CORP. 00E05C MATSUSHITA KOTOBUKI ELECTRONICS INDUSTRIES, LTD. 00E05D UNITEC CO., LTD. 00E05E JAPAN AVIATION ELECTRONICS INDUSTRY, LTD. 00E05F e-Net, Inc. 00E060 SHERWOOD 00E061 EdgePoint Networks, Inc. 00E062 HOST ENGINEERING 00E063 CABLETRON - YAGO SYSTEMS, INC. 00E064 SAMSUNG ELECTRONICS 00E065 OPTICAL ACCESS INTERNATIONAL 00E066 ProMax Systems, Inc. 00E067 eac AUTOMATION-CONSULTING GmbH 00E068 MERRIMAC SYSTEMS INC. 00E069 JAYCOR 00E06A KAPSCH AG 00E06B W&G SPECIAL PRODUCTS 00E06C AEP Systems International Ltd 00E06D COMPUWARE CORPORATION 00E06E FAR SYSTEMS S.p.A. 00E06F Motorola, Inc. 00E070 DH TECHNOLOGY 00E071 EPIS MICROCOMPUTER 00E072 LYNK 00E073 NATIONAL AMUSEMENT NETWORK, INC. 00E074 TIERNAN COMMUNICATIONS, INC. 00E075 Verilink Corporation 00E076 DEVELOPMENT CONCEPTS, INC. 00E077 WEBGEAR, INC. 00E078 BERKELEY NETWORKS 00E079 A.T.N.R. 00E07A MIKRODIDAKT AB 00E07B BAY NETWORKS 00E07C METTLER-TOLEDO, INC. 00E07D NETRONIX, INC. 00E07E WALT DISNEY IMAGINEERING 00E07F LOGISTISTEM s.r.l. 00E080 CONTROL RESOURCES CORPORATION 00E081 TYAN COMPUTER CORP. 00E082 ANERMA 00E083 JATO TECHNOLOGIES, INC. 00E084 COMPULITE R&D 00E085 GLOBAL MAINTECH, INC. 00E086 CYBEX COMPUTER PRODUCTS 00E087 LeCroy - Networking Productions Division 00E088 LTX CORPORATION 00E089 ION Networks, Inc. 00E08A GEC AVERY, LTD. 00E08B QLogic Corp. 00E08C NEOPARADIGM LABS, INC. 00E08D PRESSURE SYSTEMS, INC. 00E08E UTSTARCOM 00E08F CISCO SYSTEMS, INC. 00E090 BECKMAN LAB. AUTOMATION DIV. 00E091 LG ELECTRONICS, INC. 00E092 ADMTEK INCORPORATED 00E093 ACKFIN NETWORKS 00E094 OSAI SRL 00E095 ADVANCED-VISION TECHNOLGIES CORP. 00E096 SHIMADZU CORPORATION 00E097 CARRIER ACCESS CORPORATION 00E098 AboCom Systems, Inc. 00E099 SAMSON AG 00E09A Positron Inc. 00E09B ENGAGE NETWORKS, INC. 00E09C MII 00E09D SARNOFF CORPORATION 00E09E QUANTUM CORPORATION 00E09F PIXEL VISION 00E0A0 WILTRON CO. 00E0A1 HIMA PAUL HILDEBRANDT GmbH Co. KG 00E0A2 MICROSLATE INC. 00E0A3 CISCO SYSTEMS, INC. 00E0A4 ESAOTE S.p.A. 00E0A5 ComCore Semiconductor, Inc. 00E0A6 TELOGY NETWORKS, INC. 00E0A7 IPC INFORMATION SYSTEMS, INC. 00E0A8 SAT GmbH & Co. 00E0A9 FUNAI ELECTRIC CO., LTD. 00E0AA ELECTROSONIC LTD. 00E0AB DIMAT S.A. 00E0AC MIDSCO, INC. 00E0AD EES TECHNOLOGY, LTD. 00E0AE XAQTI CORPORATION 00E0AF GENERAL DYNAMICS INFORMATION SYSTEMS 00E0B0 CISCO SYSTEMS, INC. 00E0B1 Alcatel-Lucent, Enterprise Business Group 00E0B2 TELMAX COMMUNICATIONS CORP. 00E0B3 EtherWAN Systems, Inc. 00E0B4 TECHNO SCOPE CO., LTD. 00E0B5 ARDENT COMMUNICATIONS CORP. 00E0B6 Entrada Networks 00E0B7 PI GROUP, LTD. 00E0B8 GATEWAY 2000 00E0B9 BYAS SYSTEMS 00E0BA BERGHOF AUTOMATIONSTECHNIK GmbH 00E0BB NBX CORPORATION 00E0BC SYMON COMMUNICATIONS, INC. 00E0BD INTERFACE SYSTEMS, INC. 00E0BE GENROCO INTERNATIONAL, INC. 00E0BF TORRENT NETWORKING TECHNOLOGIES CORP. 00E0C0 SEIWA ELECTRIC MFG. CO., LTD. 00E0C1 MEMOREX TELEX JAPAN, LTD. 00E0C2 NECSY S.p.A. 00E0C3 SAKAI SYSTEM DEVELOPMENT CORP. 00E0C4 HORNER ELECTRIC, INC. 00E0C5 BCOM ELECTRONICS INC. 00E0C6 LINK2IT, L.L.C. 00E0C7 EUROTECH SRL 00E0C8 VIRTUAL ACCESS, LTD. 00E0C9 AutomatedLogic Corporation 00E0CA BEST DATA PRODUCTS 00E0CB RESON, INC. 00E0CC HERO SYSTEMS, LTD. 00E0CD SENSIS CORPORATION 00E0CE ARN 00E0CF INTEGRATED DEVICE TECHNOLOGY, INC. 00E0D0 NETSPEED, INC. 00E0D1 TELSIS LIMITED 00E0D2 VERSANET COMMUNICATIONS, INC. 00E0D3 DATENTECHNIK GmbH 00E0D4 EXCELLENT COMPUTER 00E0D5 Emulex Corporation 00E0D6 COMPUTER & COMMUNICATION RESEARCH LAB. 00E0D7 SUNSHINE ELECTRONICS, INC. 00E0D8 LANBit Computer, Inc. 00E0D9 TAZMO CO., LTD. 00E0DA Alcatel North America ESD 00E0DB ViaVideo Communications, Inc. 00E0DC NEXWARE CORP. 00E0DD ZENITH ELECTRONICS CORPORATION 00E0DE DATAX NV 00E0DF KEYMILE GmbH 00E0E0 SI ELECTRONICS, LTD. 00E0E1 G2 NETWORKS, INC. 00E0E2 INNOVA CORP. 00E0E3 SK-ELEKTRONIK GmbH 00E0E4 FANUC ROBOTICS NORTH AMERICA, Inc. 00E0E5 CINCO NETWORKS, INC. 00E0E6 INCAA DATACOM B.V. 00E0E7 RAYTHEON E-SYSTEMS, INC. 00E0E8 GRETACODER Data Systems AG 00E0E9 DATA LABS, INC. 00E0EA INNOVAT COMMUNICATIONS, INC. 00E0EB DIGICOM SYSTEMS, INCORPORATED 00E0EC CELESTICA INC. 00E0ED SILICOM, LTD. 00E0EE MAREL HF 00E0EF DIONEX 00E0F0 ABLER TECHNOLOGY, INC. 00E0F1 THAT CORPORATION 00E0F2 ARLOTTO COMNET, INC. 00E0F3 WebSprint Communications, Inc. 00E0F4 INSIDE Technology A/S 00E0F5 TELES AG 00E0F6 DECISION EUROPE 00E0F7 CISCO SYSTEMS, INC. 00E0F8 DICNA CONTROL AB 00E0F9 CISCO SYSTEMS, INC. 00E0FA TRL TECHNOLOGY, LTD. 00E0FB LEIGHTRONIX, INC. 00E0FC HUAWEI TECHNOLOGIES CO., LTD. 00E0FD A-TREND TECHNOLOGY CO., LTD. 00E0FE CISCO SYSTEMS, INC. 00E0FF SECURITY DYNAMICS TECHNOLOGIES, Inc. 00E6D3 NIXDORF COMPUTER CORP. 00F860 PT. Panggung Electric Citrabuana 020701 RACAL-DATACOM 021C7C PERQ SYSTEMS CORPORATION 026086 LOGIC REPLACEMENT TECH. LTD. 02608C 3COM CORPORATION 027001 RACAL-DATACOM 0270B0 M/A-COM INC. COMPANIES 0270B3 DATA RECALL LTD 029D8E CARDIAC RECORDERS INC. 02AA3C OLIVETTI TELECOMM SPA (OLTECO) 02BB01 OCTOTHORPE CORP. 02C08C 3COM CORPORATION 02CF1C COMMUNICATION MACHINERY CORP. 02E6D3 NIXDORF COMPUTER CORPORATION 040A83 Alcatel-Lucent 040AE0 XMIT AG COMPUTER NETWORKS 040EC2 ViewSonic Mobile China Limited 04180F Samsung Electronics Co.,Ltd 041D10 Dream Ware Inc. 041E64 Apple, Inc 04209A Panasonic AVC Networks Company 042234 Wireless Standard Extensions 042605 GFR Gesellschaft f�r Regelungstechnik und Energieeinsparung mbH 042BBB PicoCELA, Inc. 042F56 ATOCS (Shenzhen) LTD 043604 Gyeyoung I&T 044FAA Ruckus Wireless 0455CA BriView (Xiamen) Corp. 045D56 camtron industrial inc. 0470BC Globalstar Inc. 0474A1 Aligera Equipamentos Digitais Ltda 0475F5 CSST 04766E ALPS Co,. Ltd. 048A15 Avaya, Inc 0494A1 CATCH THE WIND INC 049F81 Simena, LLC 04A3F3 Emicon 04B3B6 Seamap (UK) Ltd 04B466 BSP Co., Ltd. 04C05B Tigo Energy 04C06F Huawei Device Co., Ltd 04C5A4 Cisco Systems 04C880 Samtec Inc 04DD4C IPBlaze 04E0C4 TRIUMPH-ADLER AG 04E2F8 AEP srl 04E548 Cohda Wireless Pty Ltd 04E662 Acroname Inc. 04FE7F Cisco Systems 04FF51 NOVAMEDIA INNOVISION SP. Z O.O. 080001 COMPUTERVISION CORPORATION 080002 BRIDGE COMMUNICATIONS INC. 080003 ADVANCED COMPUTER COMM. 080004 CROMEMCO INCORPORATED 080005 SYMBOLICS INC. 080006 SIEMENS AG 080007 APPLE COMPUTER INC. 080008 BOLT BERANEK AND NEWMAN INC. 080009 HEWLETT PACKARD 08000A NESTAR SYSTEMS INCORPORATED 08000B UNISYS CORPORATION 08000C MIKLYN DEVELOPMENT CO. 08000D INTERNATIONAL COMPUTERS LTD. 08000E NCR CORPORATION 08000F MITEL CORPORATION 080011 TEKTRONIX INC. 080012 BELL ATLANTIC INTEGRATED SYST. 080013 EXXON 080014 EXCELAN 080015 STC BUSINESS SYSTEMS 080016 BARRISTER INFO SYS CORP 080017 NATIONAL SEMICONDUCTOR 080018 PIRELLI FOCOM NETWORKS 080019 GENERAL ELECTRIC CORPORATION 08001A TIARA/ 10NET 08001B EMC Corporation 08001C KDD-KOKUSAI DEBNSIN DENWA CO. 08001D ABLE COMMUNICATIONS INC. 08001E APOLLO COMPUTER INC. 08001F SHARP CORPORATION 080020 Oracle Corporation 080021 3M COMPANY 080022 NBI INC. 080023 Panasonic Communications Co., Ltd. 080024 10NET COMMUNICATIONS/DCA 080025 CONTROL DATA 080026 NORSK DATA A.S. 080027 CADMUS COMPUTER SYSTEMS 080028 Texas Instruments 080029 MEGATEK CORPORATION 08002A MOSAIC TECHNOLOGIES INC. 08002B DIGITAL EQUIPMENT CORPORATION 08002C BRITTON LEE INC. 08002D LAN-TEC INC. 08002E METAPHOR COMPUTER SYSTEMS 08002F PRIME COMPUTER INC. 080030 NETWORK RESEARCH CORPORATION 080030 CERN 080030 ROYAL MELBOURNE INST OF TECH 080031 LITTLE MACHINES INC. 080032 TIGAN INCORPORATED 080033 BAUSCH & LOMB 080034 FILENET CORPORATION 080035 MICROFIVE CORPORATION 080036 INTERGRAPH CORPORATION 080037 FUJI-XEROX CO. LTD. 080038 BULL S.A.S. 080039 SPIDER SYSTEMS LIMITED 08003A ORCATECH INC. 08003B TORUS SYSTEMS LIMITED 08003C SCHLUMBERGER WELL SERVICES 08003D CADNETIX CORPORATIONS 08003E CODEX CORPORATION 08003F FRED KOSCHARA ENTERPRISES 080040 FERRANTI COMPUTER SYS. LIMITED 080041 RACAL-MILGO INFORMATION SYS.. 080042 JAPAN MACNICS CORP. 080043 PIXEL COMPUTER INC. 080044 DAVID SYSTEMS INC. 080045 CONCURRENT COMPUTER CORP. 080046 Sony Corporation 080047 SEQUENT COMPUTER SYSTEMS INC. 080048 EUROTHERM GAUGING SYSTEMS 080049 UNIVATION 08004A BANYAN SYSTEMS INC. 08004B PLANNING RESEARCH CORP. 08004C HYDRA COMPUTER SYSTEMS INC. 08004D CORVUS SYSTEMS INC. 08004E 3COM EUROPE LTD. 08004F CYGNET SYSTEMS 080050 DAISY SYSTEMS CORP. 080051 EXPERDATA 080052 INSYSTEC 080053 MIDDLE EAST TECH. UNIVERSITY 080055 STANFORD TELECOMM. INC. 080056 STANFORD LINEAR ACCEL. CENTER 080057 EVANS & SUTHERLAND 080058 SYSTEMS CONCEPTS 080059 A/S MYCRON 08005A IBM Corp 08005B VTA TECHNOLOGIES INC. 08005C FOUR PHASE SYSTEMS 08005D GOULD INC. 08005E COUNTERPOINT COMPUTER INC. 08005F SABER TECHNOLOGY CORP. 080060 INDUSTRIAL NETWORKING INC. 080061 JAROGATE LTD. 080062 GENERAL DYNAMICS 080063 PLESSEY 080064 AUTOPHON AG 080065 GENRAD INC. 080066 AGFA CORPORATION 080067 COMDESIGN 080068 RIDGE COMPUTERS 080069 SILICON GRAPHICS INC. 08006A ATT BELL LABORATORIES 08006B ACCEL TECHNOLOGIES INC. 08006C SUNTEK TECHNOLOGY INT'L 08006D WHITECHAPEL COMPUTER WORKS 08006E MASSCOMP 08006F PHILIPS APELDOORN B.V. 080070 MITSUBISHI ELECTRIC CORP. 080071 MATRA (DSIE) 080072 XEROX CORP UNIV GRANT PROGRAM 080073 TECMAR INC. 080074 CASIO COMPUTER CO. LTD. 080075 DANSK DATA ELECTRONIK 080076 PC LAN TECHNOLOGIES 080077 TSL COMMUNICATIONS LTD. 080078 ACCELL CORPORATION 080079 THE DROID WORKS 08007A INDATA 08007B SANYO ELECTRIC CO. LTD. 08007C VITALINK COMMUNICATIONS CORP. 08007E AMALGAMATED WIRELESS(AUS) LTD 08007F CARNEGIE-MELLON UNIVERSITY 080080 AES DATA INC. 080081 ,ASTECH INC. 080082 VERITAS SOFTWARE 080083 Seiko Instruments Inc. 080084 TOMEN ELECTRONICS CORP. 080085 ELXSI 080086 KONICA MINOLTA HOLDINGS, INC. 080087 XYPLEX 080088 Brocade Communications Systems, Inc. 080089 KINETICS 08008A PERFORMANCE TECHNOLOGY 08008B PYRAMID TECHNOLOGY CORP. 08008C NETWORK RESEARCH CORPORATION 08008D XYVISION INC. 08008E TANDEM COMPUTERS 08008F CHIPCOM CORPORATION 080090 SONOMA SYSTEMS 081196 Intel Corporate 081443 UNIBRAIN S.A. 081651 Shenzhen Sea Star Technology Co.,Ltd 081735 Cisco Systems 0817F4 BLADE Network Technology 08181A zte corporation 08184C A. S. Thomas, Inc. 0819A6 HUAWEI TECHNOLOGIES CO.,LTD 081FF3 Cisco Systems 082AD0 SRD Innovations Inc. 0838A5 Funkwerk plettac electronic GmbH 084E1C H2A Systems, LLC 084EBF Broad Net Mux Corporation 08512E Orion Diagnostica Oy 087618 ViE Technologies Sdn. Bhd. 087695 Auto Industrial Co., Ltd. 0876FF Thomson Telecom Belgium 08863B Belkin International 088DC8 Ryowa Electronics Co.,Ltd 089F97 LEROY AUTOMATION 08ACA5 Benu Video, Inc. 08B7EC Wireless Seismic 08BBCC AK-NORD EDV VERTRIEBSGES. mbH 08D29A Proformatique 08D5C0 Seers Technology Co., Ltd 08E672 JEBSEE ELECTRONICS CO.,LTD. 08F2F4 Net One Partners Co.,Ltd. 08F6F8 GET Engineering 08FAE0 Fohhn Audio AG 0C15C5 SDTEC Co., Ltd. 0C17F1 TELECSYS 0C1DC2 SeAH Networks 0C2755 Valuable Techologies Limited 0C3C65 Dome Imaging Inc 0C469D MS Sedco 0C6076 Hon Hai Precision Ind. Co.,Ltd. 0C7D7C Kexiang Information Technology Co, Ltd. 0C8112 PRIVATE 0C8230 SHENZHEN MAGNUS TECHNOLOGIES CO.,LTD 0C826A Wuhan Huagong Genuine Optics Technology Co., Ltd 0C8411 A.O. Smith Water Products 0C8D98 TOP EIGHT IND CORP 0CA402 Alcatel Lucent IPD 0CA42A OB Telecom Electronic Technology Co., Ltd 0CC3A7 Meritec 0CC6AC DAGS 0CC9C6 Samwin Hong Kong Limited 0CCDD3 EASTRIVER TECHNOLOGY CO., LTD. 0CD292 Intel Corporate 0CD502 Westell 0CD696 Amimon Ltd 0CD7C2 Axium Technologies, Inc. 0CDDEF Nokia Corporation 0CE709 Fox Crypto B.V. 0CE82F Bonfiglioli Vectron GmbH 0CE936 ELIMOS srl 0CEEE6 Hon Hai Precision Ind. Co.,Ltd. 0CEF7C AnaCom Inc 0CF0B4 Globalsat International Technology Ltd 0CF3EE EM Microelectronic 100000 PRIVATE 10005A IBM Corp 1000E8 NATIONAL SEMICONDUCTOR 10090C Janome Sewing Machine Co., Ltd. 100BA9 Intel Corporate 100C24 pomdevices, LLC 100D32 Embedian, Inc. 100E2B NEC CASIO Mobile Communications 1010B6 McCain Inc 101212 Vivo International Corporation Pty Ltd 10189E Elmo Motion Control 101DC0 Samsung Electronics Co.,Ltd 102D96 Looxcie Inc. 102EAF Texas Instruments 103711 Simlink AS 104369 Soundmax Electronic Limited 10445A Shaanxi Hitech Electronic Co., LTD 1045F8 LNT-Automation GmbH 1056CA Peplink International Ltd. 1062C9 Adatis GmbH & Co. KG 1064E2 ADFweb.com s.r.l. 1065A3 Panamax Inc. 1078D2 ELITEGROUP COMPUTER SYSTEM CO., LTD. 1083D2 Microseven Systems, LLC 10880F DARUMA TELECOMUNICAÇÕES E INFORMÁTICA S/A 108CCF Cisco Systems 1093E9 Apple, Inc. 109ADD Apple Inc 10A13B FUJIKURA RUBBER LTD. 10B7F6 Plastoform Industries Ltd. 10BAA5 GANA I&C CO., LTD 10C73F Midas Klark Teknik Ltd 10CA81 PRECIA 10CCDB AXIMUM PRODUITS ELECTRONIQUES 10E2D5 Qi Hardware Inc. 10E3C7 Seohwa Telecom 10E6AE Source Technologies, LLC 10E8EE PhaseSpace 1100AA PRIVATE 14144B FUJIAN STAR-NET COMMUNICATION CO.,LTD 141BBD Volex Inc. 1435B3 Future Designs, Inc. 143E60 Alcatel-Lucent 144C1A Max Communication GmbH 145412 Entis Co., Ltd. 146E0A PRIVATE 147373 TUBITAK UEKAE 147411 RIM 14A62C S.M. Dezac S.A. 14A86B ShenZhen Telacom Science&Technology Co., Ltd 14A9E3 MST CORPORATION 14B73D ARCHEAN Technologies 14C21D Sabtech Industries 14D64D D-Link International 14D76E CONCH ELECTRONIC Co.,Ltd 14EB33 BSMediasoft Co., Ltd. 14EE9D AirNav Systems LLC 14F0C5 Xtremio Ltd. 14FEAF SAGITTAR LIMITED 14FEB5 Dell Inc 1801E3 Elektrobit Wireless Communications Ltd 180373 Dell Inc 180675 DILAX Intelcom GmbH 180B52 Nanotron Technologies GmbH 180C77 Westinghouse Electric Company, LLC 181456 Nokia Corporation 181714 DAEWOOIS 182861 AirTies Wireless Networks 183BD2 BYD Precision Manufacture Company Ltd. 183DA2 Intel Corporate 18422F Alcatel Lucent 184E94 MESSOA TECHNOLOGIES INC. 1880CE Barberry Solutions Ltd 1880F5 Alcatel-Lucent Shanghai Bell Co., Ltd 1886AC Nokia Danmark A/S 188ED5 Philips Innovative Application NV 18922C Virtual Instruments 18A905 Hewlett Packard 18ABF5 Ultra Electronics - Electrics 18AEBB Siemens Programm- und Systementwicklung GmbH&Co.KG 18AF9F DIGITRONIC Automationsanlagen GmbH 18B209 Torrey Pines Logic, Inc 18B3BA Netlogic AB 18B430 Nest Labs Inc. 18B79E Invoxia 18C086 Broadcom Corporation 18E7F4 Apple 18EF63 Cisco Systems 18F46A Hon Hai Precision Ind. Co.,Ltd. 18FC9F Changhe Electronics Co., Ltd. 1C0656 IDY Corporation 1C0FCF Sypro Optics GmbH 1C129D IEEE PES PSRC/SUB 1C1448 Motorola CHS 1C17D3 Cisco Systems 1C19DE eyevis GmbH 1C1D67 Huawei Device Co., Ltd 1C334D ITS Telecom 1C35F1 NEW Lift Neue Elektronische Wege Steuerungsbau GmbH 1C3A4F AccuSpec Electronics, LLC 1C3DE7 Sigma Koki Co.,Ltd. 1C4BD6 AzureWave 1C659D Liteon Technology Corporation 1C6F65 GIGA-BYTE TECHNOLOGY CO.,LTD. 1C7508 COMPAL INFORMATION (KUNSHAN) CO., LTD. 1C7C11 EID 1C83B0 Linked IP GmbH 1C8F8A Phase Motion Control SpA 1C955D I-LAX ELECTRONICS INC. 1CAFF7 D-LINK INTERNATIONAL PTE LIMITED 1CBD0E Amplified Engineering Pty Ltd 1CBDB9 D-LINK INTERNATIONAL PTE LIMITED 1CC1DE Hewlett Packard 1CDF0F Cisco Systems 1CE2CC Texas Instruments 1CF061 SCAPS GmbH 1CF5E7 Turtle Industry Co., Ltd. 1CFEA7 IDentytech Solutins Ltd. 2005E8 OOO "InProMedia" 200A5E Xiangshan Giant Eagle Technology Developing co.,LTD 201257 Most Lucky Trading Ltd 2021A5 LG Electronics Inc 202BC1 Huawei Device Co., Ltd 202CB7 Kong Yue Electronics & Information Industry (Xinhui) Ltd. 204005 feno GmbH 20415A Smarteh d.o.o. 2046F9 Advanced Network Devices (dba:AND) 204AAA Hanscan Spain S.A. 204E6B Axxana(israel) ltd 2059A0 Paragon Technologies Inc. 205B2A PRIVATE 206A8A Wistron InfoComm Manufacturing(Kunshan)Co.,Ltd. 206AFF Atlas Elektronik UK Limited 206FEC Braemac CA LLC 207C8F Quanta Microsystems,Inc. 20A2E7 Lee-Dickens Ltd 20AA25 IP-NET LLC 20B0F7 Enclustra GmbH 20B399 Enterasys 20BFDB DVL 20CF30 ASUSTek COMPUTER INC. 20D5AB Korea Infocom Co.,Ltd. 20D607 Nokia Corporation 20D906 Iota, Inc. 20FDF1 3COM EUROPE LTD 20FECD System In Frontier Inc. 20FEDB M2M Solution S.A.S. 240B2A Viettel Group 241A8C Squarehead Technology AS 241F2C Calsys, Inc. 2421AB Sony Ericsson Mobile Communications 243C20 Dynamode Group 244597 GEMUE Gebr. Mueller Apparatebau 247703 Intel Corporate 24828A Prowave Technologies Ltd. 249442 OPEN ROAD SOLUTIONS , INC. 24A42C KOUKAAM a.s. 24A937 PURE Storage 24AB81 Apple, Inc. 24AF4A Alcatel-Lucent-IPD 24AF54 NEXGEN Mediatech Inc. 24B6B8 FRIEM SPA 24BA30 Technical Consumer Products, Inc. 24BF74 PRIVATE 24C86E Chaney Instrument Co. 24C9DE Genoray 24CBE7 MYK, Inc. 24CF21 Shenzhen State Micro Technology Co., Ltd 24D2CC SmartDrive Systems Inc. 24DBAC Huawei Device Co., Ltd 24DBAD ShopperTrak RCT Corporation 24F0FF GHT Co., Ltd. 28061E NINGBO GLOBAL USEFUL ELECTRIC CO.,LTD 28068D ITL, LLC 2826A6 PBR electronics GmbH 283410 Enigma Diagnostics Limited 284846 GridCentric Inc. 284C53 Intune Networks 285132 Shenzhen Prayfly Technology Co.,Ltd 285FDB Huawei Device Co., Ltd 286046 Lantech Communications Global, Inc. 286ED4 HUAWEI TECHNOLOGIES CO.,LTD 2872C5 Smartmatic Corp 2872F0 ATHENA 28852D Touch Networks 288915 CashGuard Sverige AB 2893FE Cisco Systems 28C0DA Juniper Networks 28CCFF Corporacion Empresarial Altra SL 28CD4C Individual Computers GmbH 28E297 Shanghai InfoTM Microelectronics Co.,Ltd. 28E794 Microtime Computer Inc. 28E7CF Apple, Inc. 28ED58 JAG Jakob AG 28EE2C Frontline Test Equipment 28EF01 PRIVATE 28F358 2C - Trifonov & Co 28FBD3 Shanghai RagenTek Communication Technology Co.,Ltd. 2C0623 Win Leader Inc. 2C1984 IDN Telecom, Inc. 2C27D7 Hewlett Packard 2C3068 Pantech Co.,Ltd 2C3427 ERCO & GENER 2C3A28 Fagor Electr�nica 2C3F3E Alge-Timing GmbH 2C6BF5 Juniper networks 2C7AFE IEE&E "Black" ops 2C7ECF Onzo Ltd 2C8065 HARTING Inc. of North America 2C8158 Hon Hai Precision Ind. Co.,Ltd 2C9127 Eintechno Corporation 2C9E5F Motorola Mobility, Inc. 2CA157 ACROMATE, INC. 2CA780 True Technologies Inc. 2CA835 RIM 2CB0DF Soliton Technologies Pvt Ltd 2CB69D RED Digital Cinema 2CCD27 Precor Inc 2CCD43 Summit Technology Group 2CD1DA Sanjole, Inc. 2CD2E7 Nokia Corporation 2CDD0C Discovergy GmbH 300B9C Delta Mobile Systems, Inc. 30142D Piciorgros GmbH 3017C8 Sony Ericsson Mobile Communications AB 3018CF DEOS control systems GmbH 301A28 Mako Networks Ltd 301E80 PRIVATE 3032D4 Hanilstm Co., Ltd. 3037A6 Cisco Systems 303855 Nokia Corporation 303955 Shenzhen Jinhengjia Electronic Co., Ltd. 3039F2 PIRELLI BROADBAND SOLUTIONS 304174 ALTEC LANSING LLC 30469A NETGEAR 30493B Nanjing Z-Com Wireless Co.,Ltd 304C7E Panasonic Electric Works Automation Controls Techno Co.,Ltd. 304EC3 Tianjin Techua Technology Co., Ltd. 30525A NST Co., LTD 306118 Paradom Inc. 30694B RIM 307C30 RIM 308730 Huawei Device Co., Ltd 30E48E Vodafone UK 30EB25 INTEK DIGITAL 30EFD1 Alstom Strongwish (Shenzhen) Co., Ltd. 340804 D-Link Corporation 34159E Apple, Inc 342109 Jensen Scandinavia AS 34684A Teraworks Co., Ltd. 346F92 White Rodgers Division 347877 O-NET Communications(Shenzhen) Limited 347E39 Nokia Danmark A/S 348302 iForcom Co., Ltd 34862A Heinz Lackmann GmbH & Co KG 349A0D ZBD Displays Ltd 34A183 AWare, Inc 34AAEE Mikrovisatos Servisas UAB 34B571 PLDS 34BA51 Se-Kure Controls, Inc. 34BDF9 Shanghai WDK Industrial Co.,Ltd. 34C3AC Samsung Electronics 34C69A Enecsys Ltd 34CE94 Parsec (Pty) Ltd 34D2C4 RENA GmbH Print Systeme 34DF2A Fujikon Industrial Co.,Limited 34E0D7 DONGGUAN QISHENG ELECTRONICS INDUSTRIAL CO., LTD 34EF44 2Wire 34EF8B NTT Communications Corporation 34F39B WizLAN Ltd. 34F968 ATEK Products, LLC 380197 Toshiba Samsung Storage Technolgoy Korea Corporation 380A0A Sky-City Communication and Electronics Limited Company 380DD4 Primax Electronics LTD. 3816D1 Samsung Electronics Co.,Ltd 38229D PIRELLI BROADBAND SOLUTIONS 3822D6 H3C Technologies Co., Limited 3831AC WEG 38521A Alcatel-Lucent 7705 38580C Panaccess Systems GmbH 385FC3 Yu Jeong System, Co.Ltd 3863F6 3NOD MULTIMEDIA(SHENZHEN)CO.,LTD 386E21 Wasion Group Ltd. 3872C0 COMTREND 3891FB Xenox Holding BV 389592 Beijing Tendyron Corporation 389F83 OTN Systems N.V. 38A95F Actifio Inc 38BB23 OzVision America LLC 38C7BA CS Services Co.,Ltd. 38C85C Cisco SPVTG 38D135 EasyIO Corporation Sdn. Bhd. 38E7D8 HTC Corporation 38E8DF b gmbh medien + datenbanken 38E98C Reco S.p.A. 38FEC5 Ellips B.V. 3C02B1 Creation Technologies LP 3C04BF PRAVIS SYSTEMS Co.Ltd., 3C05AB Product Creation Studio 3C0754 Apple Inc 3C106F ALBAHITH TECHNOLOGIES 3C1915 GFI Chrono Time 3C1A79 Huayuan Technology CO.,LTD 3C1CBE JADAK LLC 3C2DB7 Texas Instruments 3C2F3A SFORZATO Corp. 3C39C3 JW Electronics Co., Ltd. 3C4A92 Hewlett Packard 3C4C69 Infinity System S.L. 3C5A37 Samsung Electronics 3C5F01 Synerchip Co., Ltd. 3C6200 Samsung electronics CO., LTD 3C6278 SHENZHEN JETNET TECHNOLOGY CO.,LTD. 3C7437 RIM 3C754A Motorola Mobility, Inc. 3C8BFE Samsung Electronics 3C9157 Hangzhou Yulong Conmunication Co.,Ltd 3C99F7 Lansentechnology AB 3CA72B MRV Communications (Networks) LTD 3CB15B Avaya, Inc 3CB17F Wattwatchers Pty Ld 3CC0C6 d&b audiotechnik GmbH 3CDF1E Cisco Systems 3CE5A6 Hangzhou H3C Technologies Co., Ltd. 3CEA4F 2Wire 3CF52C DSPECIALISTS GmbH 3CF72A Nokia Corporation 4001C6 3COM EUROPE LTD 4012E4 Compass-EOS 4013D9 Global ES 401597 Protect America, Inc. 4018D7 Wyle Telemetry and Data Systems 401D59 Biometric Associates, LP 4022ED Digital Projection Ltd 4025C2 Intel Corporate 402BA1 Sony Ericsson Mobile Communications AB 4037AD Macro Image Technology, Inc. 404022 ZIV 40406B Icomera 404A03 ZyXEL Communications Corporation 404D8E Huawei Device Co., Ltd 40520D Pico Technology 405539 Cisco Systems 405A9B ANOVO 405FBE RIM 406186 MICRO-STAR INT'L CO.,LTD 40618E Hort-Plan 4083DE Motorola 408493 Clavister AB 408A9A TITENG CO., Ltd. 408BF6 Shenzhen TCL New Technology Co; Ltd. 409558 Aisino Corporation 4097D1 BK Electronics cc 40987B Aisino Corporation 40A6A4 PassivSystems Ltd 40A6D9 Apple 40B2C8 Nortel Networks 40C245 Shenzhen Hexicom Technology Co., Ltd. 40C7C9 Naviit Inc. 40CD3A Z3 Technology 40D32D Apple, Inc 40D40E Biodata Ltd 40ECF8 Siemens AG 40EF4C Fihonest communication co.,Ltd 40F4EC Cisco Systems 40F52E Leica Microsystems (Schweiz) AG 40FC89 Motorola Mobile Devices 4425BB Bamboo Entertainment Corporation 442A60 Apple, Inc. 443719 2 Save Energy Ltd 44376F Young Electric Sign Co 4437E6 Hon Hai Precision Ind.Co.Ltd 443D21 Nuvolt 444E1A Samsung Electronics Co.,Ltd 4451DB Raytheon BBN Technologies 4454C0 Thompson Aerospace 44568D PNC Technologies Co., Ltd. 4456B7 Spawn Labs, Inc 445829 Cisco SPVTG 44599F Criticare Systems, Inc 445EF3 Tonalite Holding B.V. 446132 ecobee inc 4468AB JUIN COMPANY, LIMITED 446C24 Reallin Electronic Co.,Ltd 447C7F Innolight Technology Corporation 447DA5 VTION INFORMATION TECHNOLOGY (FUJIAN) CO.,LTD 448312 Star-Net 448500 Intel Corporation 4487FC ELITEGROUP COMPUTER SYSTEM CO., LTD. 448C52 KTIS CO., Ltd 448E81 VIG 4491DB Shanghai Huaqin Telecom Technology Co.,Ltd 44A42D TCT Mobile Limited 44A689 PROMAX ELECTRONICA SA 44A7CF Murata Manufacturing Co., Ltd. 44A8C2 SEWOO TECH CO., LTD 44AA27 udworks Co., Ltd. 44AAE8 Nanotec Electronic GmbH & Co. KG 44C15C Texas Instruments 44C233 Guangzhou Comet Technology Development Co.Ltd 44C9A2 Greenwald Industries 44D2CA Anvia TV Oy 44D63D Talari Networks 44DCCB SEMINDIA SYSTEMS PVT LTD 44E49A OMNITRONICS PTY LTD 44E4D9 Cisco Systems 44ED57 Longicorn, inc. 44F459 Samsung Electronics 481249 Luxcom Technologies Inc. 48174C MicroPower technologies 481BD2 Intron Scientific co., ltd. 482CEA Motorola Inc Business Light Radios 48343D IEP GmbH 484487 Cisco SPVTG 485B39 ASUSTek COMPUTER INC. 485D60 Azurewave Technologies, Inc. 486B91 Fleetwood Group Inc. 486FD2 StorSimple Inc 487119 SGB GROUP LTD. 488E42 DIGALOG GmbH 4891F6 Shenzhen Reach software technology CO.,LTD 48AA5D Store Electronic Systems 48C8B6 SysTec GmbH 48CB6E Cello Electronics (UK) Ltd 48D8FE ClarIDy Solutions, Inc. 48DF1C Wuhan NEC Fibre Optic Communications industry Co. Ltd 48EB30 ETERNA TECHNOLOGY, INC. 48F47D TechVision Holding Internation Limited 48F8E1 Alcatel Lucent WT 48FCB8 Woodstream Corporation 4C022E CMR KOREA CO., LTD 4C07C9 COMPUTER OFFICE Co.,Ltd. 4C0F6E Hon Hai Precision Ind. Co.,Ltd. 4C1480 NOREGON SYSTEMS, INC 4C1A3A PRIMA Research And Production Enterprise Ltd. 4C1FCC HUAWEI TECHNOLOGIES CO.,LTD 4C2C80 Beijing Skyway Technologies Co.,Ltd 4C3089 Thales Rail Signalling Solutions GmbH 4C322D TELEDATA NETWORKS 4C3B74 VOGTEC(H.K.) Co., Ltd 4C4B68 Mobile Device, Inc. 4C5499 Huawei Device Co., Ltd 4C5DCD Oy Finnish Electric Vehicle Technologies Ltd 4C60D5 airPointe of New Hampshire 4C63EB Application Solutions (Electronics and Vision) Ltd 4C7367 Genius Bytes Software Solutions GmbH 4C73A5 KOVE 4C8093 Intel Corporate 4C8B55 Grupo Digicon 4C9EE4 Hanyang Navicom Co.,Ltd. 4CB4EA HRD (S) PTE., LTD. 4CB9C8 CONET CO., LTD. 4CBAA3 Bison Electronics Inc. 4CC452 Shang Hai Tyd. Electon Technology Ltd. 4CC602 Radios, Inc. 4CE676 BUFFALO INC. 4CEDDE Askey Computer Corp 4CF737 SamJi Electronics Co., Ltd 500E6D TrafficCast International 50252B Nethra Imaging Incorporated 502A7E Smart electronic GmbH 502A8B Telekom Research and Development Sdn Bhd 502DA2 Intel Corporate 502DF4 Phytec Messtechnik GmbH 503DE5 Cisco Systems 506313 Hon Hai Precision Ind. Co.,Ltd. 5067F0 ZyXEL Communications Corporation 506F9A Wi-Fi Alliance 5070E5 He Shan World Fair Electronics Technology Limited 50795B Interexport Telecomunicaciones S.A. 507D02 BIODIT 5087B8 Nuvyyo Inc 50934F Gradual Tecnologia Ltda. 509772 Westinghouse Digital 50A6E3 David Clark Company 50AF73 Shenzhen Bitland Information Technology Co., Ltd. 50C58D Juniper Networks 50CE75 Measy Electronics Ltd 50E549 GIGA-BYTE TECHNOLOGY CO.,LTD. 50EB1A Brocade Communications Systems, Inc 50F003 Open Stack, Inc. 50FAAB L-tek d.o.o. 5403F5 EBN Technology Corp. 540496 Gigawave LTD 54055F Alcatel Lucent 543131 Raster Vision Ltd 544249 Sony Corporation 544A05 wenglor sensoric gmbh 545FA9 Teracom Limited 5475D0 Cisco Systems 547F54 INGENICO 547FEE Cisco Systems 548922 Zelfy Inc 548998 HUAWEI TECHNOLOGIES CO.,LTD 5492BE Samsung Electronics Co.,Ltd 549A16 Uzushio Electric Co.,Ltd. 54A51B Huawei Device Co., Ltd 54B620 SUHDOL E&C Co.Ltd. 54D46F Cisco SPVTG 54E6FC TP-LINK TECHNOLOGIES CO., LTD. 54FDBF Scheidt & Bachmann GmbH 580556 Elettronica GF S.r.L. 581626 Avaya, Inc 58170C Sony Ericsson Mobile Communications AB 581FAA Apple, Inc. 582F42 Universal Electric Corporation 583CC6 Omneality Ltd. 5842E4 Sigma International General Medical Apparatus, LLC. 5849BA Chitai Electronic Corp. 584C19 Chongqing Guohong Technology Development Company Limited 584CEE Digital One Technologies, Limited 585076 Linear Equipamentos Eletronicos SA 5850E6 Best Buy Corporation 5855CA Apple 58570D Danfoss Solar Inverters 58671A BARNES&NOBLE.COM 586D8F Cisco-Linksys, LLC 586ED6 PRIVATE 588D09 Cisco Systems 58946B Intel Corporate 58A76F iD corporation 58B035 Apple, Inc 58B9E1 Crystalfontz America, Inc. 58BC27 Cisco Systems 58D08F IEEE 1904.1 Working Group 58DB8D Fast Co., Ltd. 58E747 Deltanet AG 58EECE Icon Time Systems 58F67B Xia Men UnionCore Technology LTD. 58F6BF Kyoto University 58F98E SECUDOS GmbH 58FD20 Bravida Sakerhet AB 5C0CBB CELIZION Inc. 5C0E8B Motorola 5C1437 Thyssenkrupp Aufzugswerke GmbH 5C17D3 LGE 5C260A Dell Inc. 5C338E Alpha Networkc Inc. 5C353B Compal Broadband Networks Inc. 5C35DA There Corporation Oy 5C4058 Jefferson Audio Video Systems, Inc. 5C4CA9 Huawei Device Co., Ltd 5C56ED 3pleplay Electronics Private Limited 5C57C8 Nokia Corporation 5C5948 Apple 5C5EAB Juniper Networks 5C6984 NUVICO 5C6A7D KENTKART EGE ELEKTRONIK SAN. VE TIC. LTD. STI. 5C6D20 Hon Hai Precision Ind. Co.,Ltd. 5C7757 Haivision Network Video 5C864A Secret Labs LLC 5C8778 Cybertelbridge co.,ltd 5C9AD8 Fujitsu Limited 5CAC4C Hon Hai Precision Ind. Co.,Ltd. 5CBD9E HONGKONG MIRACLE EAGLE TECHNOLOGY(GROUP) LIMITED 5CCA32 Theben AG 5CD135 Xtreme Power Systems 5CD998 D-Link Corporation 5CDAD4 Murata Manufacturing Co., Ltd. 5CE223 Delphin Technology AG 5CE286 Nortel Networks 5CF207 Speco Technologies 5CF3FC IBM Corp 5CFF35 Wistron Corporation 601199 Data-Tester Inc. 601283 Soluciones Tecnologicas para la Salud y el Bienestar SA 6015C7 IdaTech 601D0F Midnite Solar 602A54 CardioTek B.V. 602AD0 Cisco SPVTG 60334B Apple 60380E Alps Electric Co., 60391F ABB Ltd 6052D0 FACTS Engineering 605464 Eyedro Green Solutions Inc. 6063FD Transcend Communication Beijing Co.,Ltd. 607688 Velodyne 6083B2 GkWare e.K. 60893C Thermo Fisher Scientific P.O.A. 6089B7 KAEL M�HENDISLIK ELEKTRONIK TICARET SANAYI Limited �irketi 608D17 Sentrus Government Systems Division, Inc 609AA4 GVI SECURITY INC. 609E64 Vivonic GmbH 609F9D CloudSwitch 60A10A Samsung Electronics Co.,Ltd 60B3C4 Elber Srl 60C980 Trymus 60D0A9 Samsung Electronics Co.,Ltd 60D30A Quatius Limited 60DA23 Estech Co.,Ltd 60EB69 Quanta computer Inc. 60F13D JABLOCOM s.r.o. 60F59C CRU-Dataport 60F673 TERUMO CORPORATION 60FB42 Apple, Inc 6400F1 Cisco Systems 64094C Beijing Superbee Wireless Technology Co.,Ltd 640F28 2wire 641084 HEXIUM Technical Development Co., Ltd. 64168D Cisco Systems 6416F0 Shehzhen Huawei Communication Technologies Co., Ltd. 641A22 Heliospectra/Woodhill Investments 641E81 Dowslake Microsystems 643150 Hewlett Packard 64317E Dexin Corporation 643409 BITwave Pte Ltd 644BC3 Shanghai WOASiS Telecommunications Ltd., Co. 644F74 LENUS Co., Ltd. 6465C0 Nuvon, Inc 646707 Beijing Omnific Technology, Ltd. 64680C COMTREND 6469BC Hytera Communications Co .,ltd 646E6C Radio Datacom LLC 647BD4 Texas Instruments 647D81 YOKOTA INDUSTRIAL CO,.LTD 647FDA TEKTELIC Communications Inc. 648099 Intel Corporation 648125 Alphatron Marine BV 6487D7 PIRELLI BROADBAND SOLUTIONS 64995D LGE 649B24 V Technology Co., Ltd. 649C8E Texas Instruments 64A232 OOO Samlight 64A769 HTC Corporation 64A837 Juni Korea Co., Ltd 64B64A ViVOtech, Inc. 64B9E8 Apple, Inc 64BC11 CombiQ AB 64C6AF AXERRA Networks Ltd 64D02D DRAYTEK FRANCE 64D1A3 Sitecom Europe BV 64D241 Keith & Koep GmbH 64D4DA Intel Corporate 64DB18 OpenPattern 64DC01 Static Systems Group PLC 64DE1C Kingnetic Pte Ltd 64E8E6 global moisture management system 64ED57 Motorola MDb/Broadband 64F970 Kenade Electronics Technology Co.,LTD. 64F987 Avvasi Inc. 64FC8C Zonar Systems 68122D Special Instrument Development Co., Ltd. 681FD8 Advanced Telemetry 68234B Nihon Dengyo Kousaku 684352 Bhuu Limited 684B88 Galtronics Telemetry Inc. 6854F5 enLighted Inc 68597F Alcatel Lucent 685D43 Intel Corporate 686359 Advanced Digital Broadcast SA 68784C Nortel Networks 687924 ELS-GmbH & Co. KG 6879ED SHARP Corporation 687F74 Cisco-Linksys, LLC 688540 IGI Mobile, Inc. 689234 Ruckus Wireless 68A1B7 Honghao Mingchuan Technology (Beijing) CO.,Ltd. 68A3C4 Liteon Technology Corporation 68AAD2 DATECS LTD., 68B599 Hewlett Packard 68BDAB Cisco Systems 68CA00 Octopus Systems Limited 68CC9C Mine Site Technologies 68DB96 OPWILL Technologies CO .,LTD 68DCE8 PacketStorm Communications 68E41F Unglaube Identech GmbH 68EBAE Samsung Electronics Co.,Ltd 68EBC5 Angstrem Telecom 68EFBD Cisco Systems 6C0460 RBH Access Technologies Inc. 6C0E0D Sony Ericsson Mobile Communications AB 6C0F6A JDC Tech Co., Ltd. 6C1811 Decatur Electronics 6C22AB Ainsworth Game Technology 6C23B9 Sony Ericsson Mobile Communications AB 6C2E33 Accelink Technologies Co.,Ltd. 6C2E85 SAGEMCOM 6C32DE Indieon Technologies Pvt. Ltd. 6C33A9 Magicjack LP 6C391D Beijing ZhongHuaHun Network Information center 6C3E9C KE Knestel Elektronik GmbH 6C504D Cisco Systems 6C5CDE SunReports, Inc. 6C5D63 ShenZhen Rapoo Technology Co., Ltd. 6C5E7A Ubiquitous Internet Telecom Co., Ltd 6C626D Micro-Star INT'L CO., LTD 6C6F18 Stereotaxis, Inc. 6C7039 Novar GmbH 6C81FE Mitsuba Corporation 6C8CDB Otus Technologies Ltd 6C8D65 Wireless Glue Networks, Inc. 6C92BF Inspur Electronic Information Industry Co.,Ltd. 6C9B02 Nokia Corporation 6C9CE9 Nimble Storage 6CA906 Telefield Ltd 6CAB4D Digital Payment Technologies 6CAC60 Venetex Corp 6CAD3F Hubbell Building Automation, Inc. 6CBEE9 Alcatel-Lucent-IPD 6CD68A LG Electronics Inc 6CDC6A Promethean Limited 6CE0B0 SOUND4 6CF049 GIGA-BYTE TECHNOLOGY CO.,LTD. 6CFDB9 Proware Technologies Co Ltd. 6CFFBE MPB Communications Inc. 700258 01DB-METRAVIB 701404 Limited Liability Company "Research Center "Bresler" 701A04 Liteon Tech Corp. 701AED ADVAS CO., LTD. 702B1D E-Domus International Limited 702F97 Aava Mobile Oy 7032D5 Athena Wireless Communications Inc 703C39 SEAWING Kft 705812 Panasonic AVC Networks Company 705AB6 COMPAL INFORMATION (KUNSHAN) CO., LTD. 705EAA Action Target, Inc. 706417 ORBIS TECNOLOGIA ELECTRICA S.A. 706582 Suzhou Hanming Technologies Co., Ltd. 7071BC PEGATRON CORPORATION 7072CF EdgeCore Networks 7076F0 LevelOne Communications (India) Private Limited 707E43 Motorola Mobility, Inc. 707EDE NASTEC LTD. 70828E OleumTech Corporation 708B78 citygrow technology co., ltd 70A191 Trendsetter Medical, LLC 70A41C Advanced Wireless Dynamics S.L. 70B08C Shenou Communication Equipment Co.,Ltd 70B265 Hiltron s.r.l. 70CD60 Apple Inc 70D57E Scalar Corporation 70D5E7 Wellcore Corporation 70D880 Upos System sp. z o.o. 70DDA1 Tellabs 70E139 3view Ltd 70E843 Beijing C&W Optical Communication Technology Co.,Ltd. 70F1A1 Liteon Technology Corporation 70F395 Universal Global Scientific Industrial Co., Ltd. 740ABC JSJS Designs (Europe) Limited 7415E2 Tri-Sen Systems Corporation 743256 NT-ware Systemprg GmbH 743889 ANNAX Anzeigesysteme GmbH 745612 Motorola Mobility, Inc. 7465D1 Atlinks 746B82 MOVEK 7472F2 Chipsip Technology Co., Ltd. 747818 ServiceAssure 747DB6 Aliwei Communications, Inc 747E1A Red Embedded Design Limited 748EF8 Brocade Communications Systems, Inc. 749050 Renesas Electronics Corporation 74911A Ruckus Wireless 74A4A7 QRS Music Technologies, Inc. 74A722 LG Electronics 74B00C Network Video Technologies, Inc 74B9EB Fujian Goldcat Electronic Technology Co.,Ltd. 74BE08 PRIVATE 74CD0C Smith Myers Communications Ltd. 74CE56 Packet Force Technology Limited Company 74D0DC ERICSSON AB 74D675 WYMA Tecnologia 74D850 Evrisko Systems 74E06E Ergophone GmbH 74E50B Intel Corporate 74E537 RADSPIN 74E7C6 Motorola Mobility, Inc. 74EA3A TP-LINK Technologies Co.,Ltd. 74F06D AzureWave Technologies, Inc. 74F07D BnCOM Co.,Ltd 74F612 Motorola Mobility, Inc. 74F726 Neuron Robotics 78028F Adaptive Spectrum and Signal Alignment (ASSIA), Inc. 781185 NBS Payment Solutions Inc. 7812B8 ORANTEK LIMITED 78192E NASCENT Technology 7819F7 Juniper Networks 781DBA HUAWEI TECHNOLOGIES CO.,LTD 781DFD Jabil Inc 78223D Affirmed Networks 7825AD SAMSUNG ELECTRONICS CO., LTD. 782BCB Dell Inc 782EEF Nokia Corporation 7830E1 UltraClenz, LLC 783F15 EasySYNC Ltd. 784476 Zioncom technology co.,ltd 78471D Samsung Electronics Co.,Ltd 78510C LiveU Ltd. 785712 Mobile Integration Workgroup 78593E RAFI GmbH & Co.KG 785C72 Hioso Technology Co., Ltd. 7866AE ZTEC Instruments, Inc. 787F62 GiK mbH 78818F Server Racks Australia Pty Ltd 78843C Sony Corporation 7884EE INDRA ESPACIO S.A. 788C54 Enkom Technologies Ltd. 78929C Intel Corporate 78998F MEDILINE ITALIA SRL 78A051 iiNet Labs Pty Ltd 78A2A0 Nintendo Co., Ltd. 78A683 Precidata 78A6BD DAEYEON Control&Instrument Co,.Ltd 78A714 Amphenol 78ACC0 Hewlett Packard 78B6C1 AOBO Telecom Co.,Ltd 78B81A INTER SALES A/S 78C40E H&D Wireless 78C6BB Innovasic, Inc. 78CA39 Apple 78CD8E SMC Networks Inc 78D004 Neousys Technology Inc. 78D6F0 Samsung Electro Mechanics 78DD08 Hon Hai Precision Ind. Co.,Ltd. 78DEE4 Texas Instruments 78E3B5 Hewlett Packard 78E400 Hon Hai Precision Ind. Co.,Ltd. 78E7D1 Hewlett Packard 78EC22 Shanghai Qihui Telecom Technology Co., LTD 7C034C SAGEMCOM 7C051E RAFAEL LTD. 7C08D9 Shanghai Engineering Research Center for Broadband Technologies and Applications 7C1476 Damall Technologies S.A.S. Di Ludovic Anselme Glaglanon & C. 7C1EB3 2N TELEKOMUNIKACE a.s. 7C2064 Alcatel Lucent IPD 7C2CF3 Secure Electrans Ltd 7C2E0D Blackmagic Design 7C2F80 Gigaset Communications GmbH 7C3920 SSOMA SECURITY 7C3BD5 Imago Group 7C3E9D PATECH 7C4AA8 MindTree Wireless PVT Ltd 7C4FB5 Arcadyan Technology Corporation 7C55E7 YSI, Inc. 7C6193 HTC Corporation 7C6ADB SafeTone Technology Co.,Ltd 7C6C39 PIXSYS SRL 7C6C8F AMS NEVE LTD 7C6D62 Apple, Inc 7C6F06 Caterpillar Trimble Control Technologies 7C7673 ENMAS GmbH 7C7BE4 Z'SEDAI KENKYUSHO CORPORATION 7C7D41 Jinmuyu Electronics Co., Ltd. 7C8EE4 Texas Instruments 7CA29B D.SignT GmbH & Co. KG 7CB542 ACES Technology 7CBB6F Cosco Electronics Co., Ltd. 7CC537 Apple 7CCB0D Aaxeon Technologies Inc. 7CCFCF Shanghai SEARI Intelligent System Co., Ltd 7CDA84 Dongnian Networks Inc. 7CDD90 Shenzhen Ogemray Technology Co., Ltd. 7CE044 NEON Inc 7CED8D MICROSOFT 7CEF18 Creative Product Design Pty. Ltd. 7CF05F Apple Inc 7CF098 Bee Beans Technologies, Inc. 7CF0BA Linkwell Telesystems Pvt Ltd 800010 ATT BELL LABORATORIES 801440 Sunlit System Technology Corp 80177D Nortel Networks 801F02 Edimax Technology Co. Ltd. 802275 Beijing Beny Wave Technology Co Ltd 802DE1 Solarbridge Technologies 803457 OT Systems Limited 8038FD LeapFrog Enterprises, Inc. 8039E5 PATLITE CORPORATION 803B9A ghe-ces electronic ag 804F58 ThinkEco, Inc. 80501B Nokia Corporation 8065E9 BenQ Corporation 806629 Prescope Technologies CO.,LTD. 80711F Juniper Networks 807D1B Neosystem Co. Ltd. 8081A5 TONGQING COMMUNICATION EQUIPMENT (SHENZHEN) Co.,Ltd 80912A Lih Rong electronic Enterprise Co., Ltd. 8091C0 AgileMesh, Inc. 809B20 Intel Corporate 80A1D7 Shanghai DareGlobal Technologies Co.,Ltd 80B289 Forworld Electronics Ltd. 80B32A Alstom Grid 80BAAC TeleAdapt Ltd 80C63F Remec Broadband Wireless , LLC 80C6AB Technicolor USA Inc. 80C6CA Endian s.r.l. 80C862 Openpeak, Inc 80D019 Embed, Inc 80EE73 Shuttle Inc. 80F593 IRCO Sistemas de Telecomunicaci�n S.A. 80FB06 HUAWEI TECHNOLOGIES CO.,LTD 841888 Juniper Networks 842141 Shenzhen Ginwave Technologies Ltd. 8427CE Corporation of the Presiding Bishop of The Church of Jesus Christ of Latter-day Saints 842914 EMPORIA TELECOM Produktions- und VertriebsgesmbH & Co KG 842B2B Dell Inc. 844823 WOXTER TECHNOLOGY Co. Ltd 845DD7 Shenzhen Netcom Electronics Co.,Ltd 846EB1 Park Assist LLC 849000 Arnold & Richter Cine Technik 8497B8 Memjet Inc. 84A8E4 Huawei Device Co., Ltd 84A991 Cyber Trans Japan Co.,Ltd. 84C727 Gnodal Ltd 84C7A9 C3PO S.A. 84D9C8 Unipattern Co., 84DB2F Sierra Wireless Inc 84DE3D Crystal Vision Ltd 84EA99 Vieworks 84F64C Cross Point BV 8818AE Tamron Co., Ltd 88252C Arcadyan Technology Corporation 8841C1 ORBISAT DA AMAZONIA IND E AEROL SA 8843E1 Cisco Systems 884B39 Siemens AG, Healthcare Sector 88532E Intel Corporate 8886A0 Simton Technologies, Ltd. 888717 CANON INC. 888B5D Storage Appliance Corporation 888C19 Brady Corp Asia Pacific Ltd 8891DD Racktivity 8894F9 Gemicom Technology, Inc. 8895B9 Unified Packet Systems Crop 8897DF Entrypass Corporation Sdn. Bhd. 889821 TERAON 889FFA Hon Hai Precision Ind. Co.,Ltd. 88A5BD QPCOM INC. 88ACC1 Generiton Co., Ltd. 88AE1D COMPAL INFORMATION(KUNSHAN)CO.,LTD 88B168 Delta Control GmbH 88B627 Gembird Europe BV 88BA7F Qfiednet Co., Ltd. 88BFD5 Simple Audio Ltd 88C663 Apple Inc 88DD79 Voltaire 88E0A0 Shenzhen VisionSTOR Technologies Co., Ltd 88ED1C Cudo Communication Co., Ltd. 88FD15 LINEEYE CO., LTD 8C1F94 RF Surgical System Inc. 8C278A Vocollect Inc 8C4DEA Cerio Corporation 8C5105 Shenzhen ireadygo Information Technology CO.,LTD. 8C53F7 A&D ENGINEERING CO., LTD. 8C541D LGE 8C56C5 Nintendo Co., Ltd. 8C5877 Apple, Inc. 8C598B C Technologies AB 8C5FDF Beijing Railway Signal Factory 8C640B BS Storitve d.o.o. 8C6422 Sony Ericsson Mobile Communications AB 8C71F8 Samsung Electronics Co.,Ltd 8C736E Fujitsu Limited 8C7B9D Apple 8C7CB5 Hon Hai Precision Ind. Co.,Ltd. 8C7CFF Brocade Communications Systems, Inc. 8C8401 PRIVATE 8C90D3 Alcatel Lucent 8C9236 Aus.Linx Technology Co., Ltd. 8CA048 Beijing NeTopChip Technology Co.,LTD 8CA982 Intel Corporate 8CB64F Cisco Systems 8CD628 Ikor Metering 8CDB25 ESG Solutions 8CDD8D Wifly-City System Inc. 8CE7B3 Sonardyne International Ltd 8CF9C9 MESADA Technology Co.,Ltd. 90004E Hon Hai Precision Ind. Co.,Ltd. 9018AE Shanghai Meridian Technologies, Co. Ltd. 901900 SCS SA 902155 HTC Corporation 9027E4 Apple 902E87 LabJack 903D5A Shenzhen Wision Technology Holding Limited 903D6B Zicon Technology Corp. 904716 RORZE CORPORATION 904CE5 Hon Hai Precision Ind. Co.,Ltd. 90507B Advanced PANMOBIL Systems GmbH & Co. KG 90513F Elettronica Santerno 905446 TES ELECTRONIC SOLUTIONS 9055AE Ericsson, EAB/RWI/K 90610C Fida International (S) Pte Ltd 9067B5 Alcatel-Lucent 906DC8 DLG Automação Industrial Ltda 906EBB Hon Hai Precision Ind. Co.,Ltd. 907F61 Chicony Electronics Co., Ltd. 90840D Apple, Inc 9088A2 IONICS TECHNOLOGY ME LTDA 90903C TRISON TECHNOLOGY CORPORATION 90A2DA GHEO SA 90A4DE Wistron Neweb Corp. 90A7C1 Pakedge Device and Software Inc. 90D7EB Texas Instruments 90D852 Comtec Co., Ltd. 90D92C HUG-WITSCHI AG 90E0F0 IEEE P1722 90E6BA ASUSTek COMPUTER INC. 90EA60 SPI Lasers Ltd 90F278 Radius Gateway 90FB5B Avaya, Inc 90FBA6 Hon Hai Precision Ind.Co.Ltd 940C6D TP-LINK Technologies Co.,Ltd. 9411DA ITF Froschl GmbH 941673 Point Core SARL 942053 Nokia Corporation 94236E Shenzhen Junlan Electronic Ltd 942E63 Finsécur 9433DD Taco Electronic Solutions, Inc. 944452 Belkin International, Inc. 94592D EKE Building Technology Systems Ltd 945B7E TRILOBIT LTDA. 9481A4 Azuray Technologies 94857A Evantage Industries Corp 948B03 EAGET Innovation and Technology Co., Ltd. 948D50 Beamex Oy Ab 949C55 Alta Data Technologies 94A7BC BodyMedia, Inc. 94AAB8 Joview(Beijing) Technology Co. Ltd. 94BA31 Visiontec da Amazônia Ltda. 94C4E9 PowerLayer Microsystems HongKong Limited 94C7AF Raylios Technology 94CDAC Creowave Oy 94D019 Cydle Corp. 94D93C ENELPS 94DD3F A+V Link Technologies, Corp. 94E226 D. ORtiz Consulting, LLC 94E711 Xirka Dama Persada PT 94F692 Geminico co.,Ltd. 94F720 Tianjin Deviser Electronics Instrument Co., Ltd 94FD1D WhereWhen Corp 94FEF4 SAGEMCOM 9803A0 ABB n.v. Power Quality Products 9803D8 Apple, Inc. 980EE4 PRIVATE 982CBE 2Wire 982D56 Resolution Audio 9835B8 Assembled Products Corporation 984BE1 Hewlett Packard 984E97 Starlight Marketing (H. K.) Ltd. 985945 Texas Instruments 986022 EMW Co., Ltd. 986DC8 TOSHIBA MITSUBISHI-ELECTRIC INDUSTRIAL SYSTEMS CORPORATION 9873C4 Sage Electronic Engineering LLC 9889ED Anadem Information Inc. 988B5D SAGEM COMMUNICATION 988E34 ZHEJIANG BOXSAM ELECTRONIC CO.,LTD 988EDD Raychem International 989449 Skyworth Wireless Technology Ltd. 98BC99 Edeltech Co.,Ltd. 98D88C Nortel Networks 98DCD9 UNITEC Co., Ltd. 98E165 Accutome 98F537 zte corporation 98FC11 Cisco-Linksys, LLC 9C1874 Nokia Danmark A/S 9C220E TASCAN Service GmbH 9C28BF Continental Automotive Czech Republic s.r.o. 9C4563 DIMEP Sistemas 9C4A7B Nokia Corporation 9C4E20 Cisco Systems 9C4E8E ALT Systems Ltd 9C55B4 I.S.E. S.r.l. 9C5B96 NMR Corporation 9C5D95 VTC Electronics Corp. 9C5E73 Calibre UK Ltd 9C645E Harman Consumer Group 9C7514 Wildix srl 9C77AA NADASNV 9C807D SYSCABLE Korea Inc. 9C95F8 SmartDoor Systems, LLC 9CADEF Obihai Technology, Inc. 9CAFCA Cisco Systems 9CB206 PROCENTEC 9CC077 PrintCounts, LLC 9CC0D2 Conductix-Wampfler AG 9CCD82 CHENG UEI PRECISION INDUSTRY CO.,LTD 9CEBE8 BizLink (Kunshan) Co.,Ltd 9CF61A UTC Fire and Security 9CF938 AREVA NP GmbH 9CFFBE OTSL Inc. A00798 Samsung Electronics A00BBA SAMSUNG ELECTRO-MECHANICS A01859 Shenzhen Yidashi Electronics Co Ltd A021B7 NETGEAR A0231B TeleComp R&D Corp. A02EF3 United Integrated Services Co., Led. A036FA Ettus Research LLC A03A75 PSS Belgium N.V. A04025 Actioncable, Inc. A04041 SAMWONFA Co.,Ltd. A04E04 Nokia Corporation A055DE Pace plc A0593A V.D.S. Video Display Systems srl A05DC1 TMCT Co., LTD. A05DE7 DIRECTV, Inc. A06986 Wellav Technologies Ltd A06A00 Verilink Corporation A071A9 Nokia Corporation A07332 Cashmaster International Limited A07591 Samsung Electronics Co.,Ltd A082C7 P.T.I Co.,LTD A088B4 Intel Corporate A08C9B Xtreme Technologies Corp A09805 OpenVox Communication Co Ltd A098ED Shandong Intelligent Optical Communication Development Co., Ltd. A09A5A Time Domain A0A763 Polytron Vertrieb GmbH A0AAFD EraThink Technologies Corp. A0B5DA HongKong THTF Co., Ltd A0B662 Acutvista Innovation Co., Ltd. A0B9ED Skytap A0BFA5 CORESYS A0DDE5 SHARP CORPORATION A0DE05 JSC "Irbis-T" A0F217 GE Medical System(China) Co., Ltd. A40CC3 Cisco Systems A41BC0 Fastec Imaging Corporation A4218A Nortel Networks A424B3 FlatFrog Laboratories AB A433D1 Fibrlink Communications Co.,Ltd. A438FC Plastic Logic A45055 busware.de A4561B MCOT Corporation A45C27 Nintendo Co., Ltd. A46706 Apple Inc A479E4 KLINFO Corp A47AA4 Motorola Mobility, Inc. A47C1F Global Microwave Systems Inc. A4856B Q Electronics Ltd A49B13 Burroughs Payment Systems, Inc. A4A80F Shenzhen Coship Electronics Co., Ltd. A4AD00 Ragsdale Technology A4ADB8 Vitec Group, Camera Dynamics Ltd A4AE9A Maestro Wireless Solutions ltd. A4B121 Arantia 2010 S.L. A4B1EE H. ZANDER GmbH & Co. KG A4B2A7 Adaxys Solutions AG A4BADB Dell Inc. A4BE61 EutroVision System, Inc. A4C0E1 Nintendo Co., Ltd. A4C2AB Hangzhou LEAD-IT Information & Technology Co.,Ltd A4D1D1 ECOtality North America A4DA3F Bionics Corp. A4DE50 Total Walther GmbH A4E32E Silicon & Software Systems Ltd. A4E7E4 Connex GmbH A4ED4E Motorola Mobile Devices A81B18 XTS CORP A83944 Actiontec Electronics, Inc A8556A Pocketnet Technology Inc. A85BB0 Shenzhen Dehoo Technology Co.,Ltd A862A2 JIWUMEDIA CO., LTD. A863DF DISPL�AIRE CORPORATION A86A6F RIM A870A5 UniComm Inc. A87B39 Nokia Corporation A87E33 Nokia Danmark A/S A88792 Broadband Antenna Tracking Systems A88CEE MicroMade Galka i Drozdz sp.j. A8922C LG Electronics A893E6 JIANGXI JINGGANGSHAN CKING COMMUNICATION TECHNOLOGY CO.,LTD A8995C aizo ag A89B10 inMotion Ltd. A8B0AE LEONI A8B1D4 Cisco Systems A8C222 TM-Research Inc. A8CB95 EAST BEST CO., LTD. A8CE90 CVC A8D3C8 Wachendorff Elektronik GmbH & Co. KG A8E018 Nokia Corporation A8E3EE Sony Computer Entertainment Inc. A8F274 Samsung Electronics A8F470 Fujian Newland Communication Science Technologies Co.,Ltd. A8F94B Eltex Enterprise Ltd. A8FCB7 Consolidated Resource Imaging AA0000 DIGITAL EQUIPMENT CORPORATION AA0001 DIGITAL EQUIPMENT CORPORATION AA0002 DIGITAL EQUIPMENT CORPORATION AA0003 DIGITAL EQUIPMENT CORPORATION AA0004 DIGITAL EQUIPMENT CORPORATION AC02CF RW Tecnologia Industria e Comercio Ltda AC0613 Senselogix Ltd AC20AA DMATEK Co., Ltd. AC2FA8 Humannix Co.,Ltd. AC34CB Shanhai GBCOM Communication Technology Co. Ltd AC44F2 Revolabs Inc AC4FFC SVS-VISTEK GmbH AC5135 MPI TECH AC583B Human Assembler, Inc. AC6123 Drivven, Inc. AC6706 Ruckus Wireless AC6F4F Enspert Inc AC7289 Intel Corporate AC80D6 Hexatronic AB AC8112 Gemtek Technology Co., Ltd. AC8317 Shenzhen Furtunetel Communication Co., Ltd AC83F0 Magenta Video Networks AC8674 Open Mesh, Inc. AC867E Create New Technology (HK) Limited Company AC932F Nokia Corporation AC9A96 Lantiq Deutschland GmbH AC9B84 Smak Tecnologia e Automacao ACA016 Cisco Systems ACAB8D Lyngso Marine A/S ACBE75 Ufine Technologies Co.,Ltd. ACBEB6 Visualedge Technology Co., Ltd. ACCA54 Telldus Technologies AB ACCABA Midokura Co., Ltd. ACCE8F HWA YAO TECHNOLOGIES CO., LTD ACD180 Crexendo Business Solutions, Inc. ACDE48 PRIVATE ACE348 MadgeTech, Inc ACE9AA Hay Systems Ltd ACEA6A GENIX INFOCOMM CO., LTD. ACF97E ELESYS INC. B01B7C Ontrol A.S. B03829 Siliconware Precision Industries Co., Ltd. B0518E Holl technology CO.Ltd. B05B1F THERMO FISHER SCIENTIFIC S.P.A. B06563 Shanghai Railway Communication Factory B081D8 I-sys Corp B08991 LGE B09074 Fulan Electronics Limited B09134 Taleo B0973A E-Fuel Corporation B09AE2 STEMMER IMAGING GmbH B0A10A Pivotal Systems Corporation B0A72A Ensemble Designs, Inc. B0AA36 GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD. B0B32B Slican Sp. z o.o. B0B8D5 Nanjing Nengrui Auto Equipment CO.,Ltd B0BDA1 ZAKLAD ELEKTRONICZNY SIMS B0C69A Juniper Networks B0C8AD People Power Company B0E39D CAT SYSTEM CO.,LTD. B0E754 2Wire B0E97E Advanced Micro Peripherals B40142 GCI Science & Technology Co.,LTD B407F9 SAMSUNG ELECTRO-MECHANICS B40832 TC Communications B40EDC LG-Ericsson Co.,Ltd. B41489 Cisco Systems B428F1 E-Prime Co., Ltd. B42A39 ORBIT MERRET, spol. s r. o. B42CBE Direct Payment Solutions Limited B43741 Consert, Inc. B439D6 ProCurve Networking by HP B43DB2 Degreane Horizon B4417A ShenZhen Gongjin Electronics Co.,Ltd B44CC2 NR ELECTRIC CO., LTD B45253 Seagate Technology B45861 CRemote, LLC B4749F askey computer corp B482FE Askey Computer Corp B499BA Hewlett Packard B4A4E3 Cisco Systems B4AA4D Ensequence, Inc. B4B017 Avaya, Inc B4B5AF Minsung Electronics B4B88D Thuh Company B4C44E VXL eTech Pvt Ltd B4C810 UMPI Elettronica B4CFDB Shenzhen Jiuzhou Electric Co.,LTD B4E0CD IO Turbine, Inc. B4ED19 Pie Digital, Inc. B4ED54 Wohler Technologies B4EED4 Texas Instruments B4F323 PETATEL INC. B80B9D ROPEX Industrie-Elektronik GmbH B83A7B Worldplay (Canada) Inc. B83D4E Shenzhen Cultraview Digital Technology Co.,Ltd Shanghai Branch B8415F ASP AG B8616F Accton Wireless Broadband(AWB), Corp. B86491 CK Telecom Ltd B8653B Bolymin, Inc. B870F4 COMPAL INFORMATION (KUNSHAN) CO., LTD. B8797E Secure Meters (UK) Limited B8871E Good Mind Industries Co., Ltd. B88E3A Infinite Technologies JLT B8921D BG T&A B894D2 Retail Innovation HTT AB B8A3E0 BenRui Technology Co.,Ltd B8A8AF Logic S.p.A. B8AC6F Dell Inc B8B1C7 BT&COM CO.,LTD B8BA68 Xi'an Jizhong Digital Communication Co.,Ltd B8BA72 Cynove B8BEBF Cisco Systems B8D06F GUANGZHOU HKUST FOK YING TUNG RESEARCH INSTITUTE B8E589 Payter BV B8E779 PRIVATE B8EE79 YWire Technologies, Inc. B8F4D0 Herrmann Ultraschalltechnik GmbH & Co. Kg B8F732 Aryaka Networks Inc B8F934 Sony Ericsson Mobile Communications AB B8FF61 Apple B8FF6F Shanghai Typrotech Technology Co.Ltd B8FFFE Texas Instruments BC0543 AVM GmbH BC0DA5 Texas Instruments BC0F2B FORTUNE TECHGROUP CO.,LTD BC15A6 Taiwan Jantek Electronics,Ltd. BC20BA Inspur (Shandong) Electronic Information Co., Ltd BC2846 NextBIT Computing Pvt. Ltd. BC305B Dell Inc. BC35E5 Hydro Systems Company BC38D2 Pandachip Limited BC3E13 Accordance Systems Inc. BC4377 Hang Zhou Huite Technology Co.,ltd. BC4760 Samsung Electronics Co.,Ltd BC4E3C CORE STAFF CO., LTD. BC5FF4 ASRock Incorporation BC6784 Environics Oy BC6A16 tdvine BC6E76 Green Energy Options Ltd BC71C1 XTrillion, Inc. BC7670 Huawei Device Co., Ltd BC7737 Intel Corporate BC7DD1 Radio Data Comms BC83A7 SHENZHEN CHUANGWEI-RGB ELECTRONICS CO.,LT BC99BC FonSee Technology Inc. BC9DA5 DASCOM Europe GmbH BCA9D6 Cyber-Rain, Inc. BCAEC5 ASUSTek COMPUTER INC. BCB181 SHARP CORPORATION BCBBC9 Kellendonk Elektronik GmbH BCC61A SPECTRA EMBEDDED SYSTEMS BCCD45 VOISMART BCD5B6 d2d technologies BCE09D Eoslink BCF2AF devolo AG BCFFAC TOPCON CORPORATION C00D7E Additech, Inc. C01242 Alpha Security Products C01E9B Pixavi AS C02250 PRIVATE C02506 AVM GmbH C027B9 Beijing National Railway Research & Design Institute of Signal & Communication C02BFC iNES. applied informatics GmbH C038F9 Nokia Danmark A/S C03B8F Minicom Digital Signage C03F0E NETGEAR C0626B Cisco Systems C06C0F Dobbs Stanford C07E40 SHENZHEN XDK COMMUNICATION EQUIPMENT CO.,LTD C0830A 2Wire C08B6F S I Sistemas Inteligentes Eletronicos Ltda C09134 ProCurve Networking by HP C09C92 COBY C0A26D Abbott Point of Care C0BAE6 Application Solutions (Safety and Security) Ltd C0C1C0 Cisco-Linksys, LLC C0C520 Ruckus Wireless C0CB38 Hon Hai Precision Ind. Co.,Ltd. C0CFA3 Creative Electronics & Software, Inc. C0D044 SAGEMCOM C0E422 Texas Instruments C0EAE4 Sonicwall C0F8DA Hon Hai Precision Ind. Co.,Ltd. C4108A Ruckus Wireless C416FA Prysm Inc C417FE Hon Hai Precision Ind. Co.,Ltd. C4198B Dominion Voting Systems Corporation C41ECE HMI Sources Ltd. C4242E Galvanic Applied Sciences Inc C42C03 Apple C43DC7 NETGEAR C44619 Hon Hai Precision Ind. Co.,Ltd. C44AD0 FIREFLIES RTLS C44B44 Omniprint Inc. C455A6 Cadac Holdings Ltd C45600 Galleon Embedded Computing C45976 Fugoo C46354 U-Raku, Inc. C471FE Cisco Systems C47D4F Cisco Systems C4823F Fujian Newland Auto-ID Tech. Co,.Ltd. C49313 100fio networks technology llc C4AAA1 SUMMIT DEVELOPMENT, spol.s r.o. C4B512 General Electric Digital Energy C4CD45 Beijing Boomsense Technology CO.,LTD. C4D489 JiangSu Joyque Information Industry Co.,Ltd C4E17C U2S co. C4EEF5 Oclaro, Inc. C4F464 Spica international C4FCE4 DishTV NZ Ltd C802A6 Beijing Newmine Technology C80AA9 Quanta Computer Inc. C81E8E ADV Security (S) Pte Ltd C8208E Storagedata C82A14 Apple Inc C82E94 Halfa Enterprise Co., Ltd. C835B8 Ericsson, EAB/RWI/K C83A35 Tenda Technology Co., Ltd. C83EA7 KUNBUS GmbH C84529 IMK Networks Co.,Ltd C848F5 MEDISON Xray Co., Ltd C84C75 Cisco Systems C864C7 zte corporation C86C1E Display Systems Ltd C86C87 Mitrastar Technology C86CB6 Optcom Co., Ltd. C87248 Aplicom Oy C87E75 Samsung Electronics Co.,Ltd C88439 Sunrise Technologies C88447 Beautiful Enterprise Co., Ltd C8873B Net Optics C88B47 Opticos s.r.l. C89383 Embedded Automation, Inc. C8979F Nokia Corporation C89C1D Cisco Systems C8A1B6 Shenzhen Longway Technologies Co., Ltd C8A70A Verizon Business C8A729 SYStronics Co., Ltd. C8AACC PRIVATE C8BCC8 Apple C8C126 ZPM Industria e Comercio Ltda C8C13C RuggedTek Hangzhou Co., Ltd C8CD72 SAGEMCOM C8D1D1 AGAiT Technology Corporation C8D2C1 Jetlun (Shenzhen) Corporation C8D5FE Shenzhen Zowee Technology Co., Ltd C8DF7C Nokia Corporation C8EE08 TANGTOP TECHNOLOGY CO.,LTD C8EF2E Beijing Gefei Tech. Co., Ltd C8FE30 Bejing DAYO Mobile Communication Technology Ltd. CC0080 TRUST SYSTEM Co., CC08E0 Apple CC09C8 IMAQLIQ LTD CC0CDA Miljovakt AS CC1EFF Metrological Group BV CC2218 InnoDigital Co., Ltd. CC34D7 GEWISS S.P.A. CC43E3 Trump s.a. CC5076 Ocom Communications, Inc. CC52AF Universal Global Scientific Industrial Co., Ltd. CC5459 OnTime Networks AS CC55AD RIM CC5C75 Weightech Com. Imp. Exp. Equip. Pesagem Ltda CC5D4E ZyXEL Communications Corporation CC69B0 Global Traffic Technologies, LLC CC6B98 Minetec Wireless Technologies CC7669 SEETECH CC7A30 CMAX Wireless Co., Ltd. CC7D37 Motorola Mobility, Inc. CC8CE3 Texas Instruments CC96A0 Huawei Device Co., Ltd CC9E00 Nintendo Co., Ltd. CCB888 AnB Securite s.a. CCBE71 OptiLogix BV CCC62B Tri-Systems Corporation CCCC4E Sun Fountainhead USA. Corp CCCD64 SM-Electronic GmbH CCCE40 Janteq Corp CCD811 Aiconn Technology Corporation CCEA1C DCONWORKS Co., Ltd CCF3A5 Chi Mei Communication Systems, Inc CCF67A Ayecka Communication Systems LTD CCF841 Lumewave CCFC6D RIZ TRANSMITTERS CCFCB1 Wireless Technology, Inc. D0154A zte corporation D01CBB Beijing Ctimes Digital Technology Co., Ltd. D02788 Hon Hai Precision Ind.Co.Ltd D03761 Texas Instruments D0574C Cisco Systems D05875 Active Control Technology Inc. D075BE Reno A&E D07DE5 Forward Pay Systems, Inc. D08999 APCON, Inc. D093F8 Stonestreet One LLC D0A311 Neuberger Geb�udeautomation GmbH D0B33F SHENZHEN TINNO MOBILE TECHNOLOGY CO.,LTD. D0B53D SEPRO ROBOTIQUE D0BB80 SHL Telemedicine International Ltd. D0D0FD Cisco Systems D0D286 Beckman Coulter Biomedical K.K. D0D3FC Mios, Ltd. D0E347 Yoga D0E40B Wearable Inc. D0E54D Pace plc D0EB9E Seowoo Inc. D0F0DB Ericsson D4000D Phoenix Broadband Technologies, LLC. D411D6 ShotSpotter, Inc. D41296 Anobit Technologies Ltd. D41F0C TVI Vision Oy D428B2 ioBridge, Inc. D43D67 Carma Industries Inc. D44C24 Vuppalamritha Magnetic Components LTD D44CA7 Informtekhnika & Communication, LLC D44F80 Kemper Digital GmbH D45297 nSTREAMS Technologies, Inc. D45D42 Nokia Corporation D466A8 Riedo Networks GmbH D46CBF Goodrich ISR D46CDA CSM GmbH D46F42 WAXESS USA Inc D479C3 Cameronet GmbH & Co. KG D47B75 HARTING Electronics GmbH & Co. KG D4823E Argosy Technologies, Ltd. D48564 Hewlett Packard D48890 Samsung Electronics Co.,Ltd D48FAA Sogecam Industrial, S.A. D491AF Electroacustica General Iberica, S.A. D4945A COSMO CO., LTD D496DF SUNGJIN C&T CO.,LTD D49A20 Apple, Inc D49C28 JayBird Gear LLC D49C8E University of FUKUI D49E6D Wuhan Zhongyuan Huadian Science & Technology Co., D4A928 GreenWave Reality Inc D4AAFF MICRO WORLD D4C766 Acentic GmbH D4CBAF Nokia Corporation D4D184 ADB Broadband Italia D4D898 Korea CNO Tech Co., Ltd D4E32C S. Siedle & Sohne D4E8B2 Samsung Electronics D4F027 Navetas Energy Management D4F143 IPROAD.,Inc D81BFE TWINLINX CORPORATION D81C14 Compacta International, Ltd. D828C9 General Electric Consumer and Industrial D82986 Best Wish Technology LTD D82A7E Nokia Corporation D83062 Apple, Inc D842AC FreeComm Data Communication Co.,Ltd. D84606 Silicon Valley Global Marketing D84B2A Cognitas Technologies, Inc. D8543A Texas Instruments D85D4C TP-LINK Technologies Co.,Ltd. D85D84 CAx soft GmbH D86BF7 Nintendo Co., Ltd. D87157 Lenovo Mobile Communication Technology Ltd. D87533 Nokia Corporation D8760A Escort, Inc. D87988 Hon Hai Precision Ind. Co., Ltd. D8952F Texas Instruments D89DB9 eMegatech International Corp. D8A25E Apple D8AE90 Itibia Technologies D8B12A Panasonic Mobile Communications Co., Ltd. D8B6C1 NetworkAccountant, Inc. D8C068 Netgenetech.co.,ltd. D8C3FB DETRACOM D8C7C8 Aruba Networks D8C99D EA DISPLAY LIMITED D8D385 Hewlett Packard D8D67E GSK CNC EQUIPMENT CO.,LTD D8DF0D beroNet GmbH D8E3AE CIRTEC MEDICAL SYSTEMS D8E72B OnPATH Technologies D8FE8F IDFone Co., Ltd. DC0265 Meditech Kft DC07C1 HangZhou QiYang Technology Co.,Ltd. DC1D9F U & B tech DC2008 ASD Electronics Ltd DC2B61 Apple DC2B66 Infoblock DC2C26 Iton Technology Limited DC3350 TechSAT GmbH DC49C9 CASCO SIGNAL LTD DC4EDE SHINYEI TECHNOLOGY CO., LTD. DC7B94 Cisco Systems DC9B1E Intercom, Inc. DC9C52 Sapphire Technology Limited. DCA7D9 Compressor Controls Corp DCA971 Intel Corporate DCCBA8 Explora Technologies Inc DCD0F7 Bentek Systems Ltd. DCD321 HUMAX co.,tld DCD87F Shenzhen JoinCyber Telecom Equipment Ltd DCDECA Akyllor DCE2AC Lumens Digital Optics Inc. DCE71C AUG Elektronik GmbH DCFAD5 STRONG Ges.m.b.H. E005C5 TP-LINK Technologies Co.,Ltd. E00C7F Nintendo Co., Ltd. E0143E Modoosis Inc. E01CEE Bravo Tech, Inc. E01F0A Xslent Energy Technologies. LLC E02538 Titan Pet Products E02630 Intrigue Technologies, Inc. E02636 Nortel Networks E0271A TTC Next-generation Home Network System WG E02A82 Universal Global Scientific Industrial Co., Ltd. E03E7D data-complex GmbH E0469A NETGEAR E0589E Laerdal Medical E05B70 Innovid, Co., Ltd. E05FB9 Cisco Systems E061B2 HANGZHOU ZENOINTEL TECHNOLOGY CO., LTD E06290 Jinan Jovision Science & Technology Co., Ltd. E064BB DigiView S.r.l. E06995 PEGATRON CORPORATION E087B1 Nata-Info Ltd. E08A7E Exponent E08FEC REPOTEC CO., LTD. E09153 XAVi Technologies Corp. E091F5 NETGEAR E0A1D7 SFR E0A670 Nokia Corporation E0ABFE Orb Networks, Inc. E0B9A5 Azurewave E0BC43 C2 Microsystems, Inc. E0C286 Aisai Communication Technology Co., Ltd. E0CA4D Shenzhen Unistar Communication Co.,LTD E0CA94 Askey Computer E0CB4E ASUSTek COMPUTER INC. E0CF2D Gemintek Corporation E0D10A Katoudenkikougyousyo co ltd E0D7BA Texas Instruments E0E751 Nintendo Co., Ltd. E0E8E8 Olive Telecommunication Pvt. Ltd E0EE1B Panasonic Automotive Systems Company of America E0F379 Vaddio E0F847 Apple Inc E41C4B V2 TECHNOLOGY, INC. E41F13 IBM Corp E42771 Smartlabs E42AD3 Magneti Marelli S.p.A. Powertrain E42FF6 Unicore communication Inc. E43593 Hangzhou GoTo technology Co.Ltd E437D7 HENRI DEPAEPE S.A.S. E441E6 Ottec Technology GmbH E446BD C&C TECHNIC TAIWAN CO., LTD. E448C7 Cisco SPVTG E44F29 MA Lighting Technology GmbH E46449 Motorola Mobility, Inc. E46C21 messMa GmbH E4751E Getinge Sterilization AB E47CF9 Samsung Electronics Co., LTD E48399 Motorola Mobility, Inc. E48AD5 RF WINDOW CO., LTD. E497F0 Shanghai VLC Technologies Ltd. Co. E4AB46 UAB Selteka E4AD7D SCL Elements E4CE8F Apple Inc E4D71D Oraya Therapeutics E4E0C5 Samsung Electronics Co., LTD E4EC10 Nokia Corporation E4FFDD ELECTRON INDIA E80462 Cisco Systems E8056D Nortel Networks E80688 Apple Inc. E80B13 Akib Systems Taiwan, INC E80C38 DAEYOUNG INFORMATION SYSTEM CO., LTD E81132 Samsung Electronics Co.,LTD E82877 TMY Co., Ltd. E828D5 Cots Technology E839DF Askey Computer E83A97 OCZ Technology Group E83EB6 RIM E84040 Cisco Systems E84ECE Nintendo Co., Ltd. E85B5B LG ELECTRONICS INC E85E53 Infratec Datentechnik GmbH E86CDA Supercomputers and Neurocomputers Research Center E8757F FIRS Technologies(Shenzhen) Co., Ltd E87AF3 S5 Tech S.r.l. E8995A PiiGAB, Processinformation i Goteborg AB E89A8F Quanta Computer Inc. E89D87 Toshiba E8A4C1 Deep Sea Electronics PLC E8B4AE Shenzhen C&D Electronics Co.,Ltd E8BE81 SAGEMCOM E8C229 H-Displays (MSC) Bhd E8DAAA VideoHome Technology Corp. E8DFF2 PRF Co., Ltd. E8E08F GRAVOTECH MARKING SAS E8E0B7 Toshiba E8E1E2 Energotest E8E5D6 Samsung Electronics Co.,Ltd E8E732 Alcatel-Lucent E8E776 Shenzhen Kootion Technology Co., Ltd E8F928 RFTECH SRL EC14F6 BioControl AS EC2368 IntelliVoice Co.,Ltd. EC3091 Cisco Systems EC3BF0 NovelSat EC43E6 AWCER Ltd. EC4476 Cisco Systems EC4644 TTK SAS EC542E Shanghai XiMei Electronic Technology Co. Ltd EC55F9 Hon Hai Precision Ind. Co.,Ltd. EC5C69 MITSUBISHI HEAVY INDUSTRIES MECHATRONICS SYSTEMS,LTD. EC66D1 B&W Group LTD EC6C9F Chengdu Volans Technology CO.,LTD EC7C74 Justone Technologies Co., Ltd. EC7D9D MEI EC836C RM Tech Co., Ltd. EC8EAD DLX EC9233 Eddyfi NDT Inc EC986C Lufft Mess- und Regeltechnik GmbH EC98C1 Beijing Risbo Network Technology Co.,Ltd EC9B5B Nokia Corporation EC9ECD Emerson Network Power and Embedded Computing ECB106 Acuro Networks, Inc ECBBAE Digivoice Tecnologia em Eletronica Ltda ECC38A Accuenergy (CANADA) Inc ECC882 Cisco Systems ECCD6D Allied Telesis, Inc. ECD00E MiraeRecognition Co., Ltd. ECDE3D Lamprey Networks, Inc. ECE09B Samsung electronics CO., LTD ECE555 Hirschmann Automation ECE90B SISTEMA SOLUCOES ELETRONICAS LTDA - EASYTECH ECE9F8 Guang Zhou TRI-SUN Electronics Technology Co., Ltd ECFAAA The IMS Company ECFE7E BlueRadios, Inc. F00248 SmarteBuilding F02408 Talaris (Sweden) AB F02572 Cisco Systems F0264C Dr. Sigrist AG F02A61 Waldo Networks, Inc. F02FD8 Bi2-Vision F04335 DVN(Shanghai)Ltd. F04BF2 JTECH Communications, Inc. F04DA2 Dell Inc. F05849 CareView Communications F05D89 PRIVATE F06281 ProCurve Networking by HP F065DD Primax Electronics Ltd. F06853 Integrated Corporation F077D0 Xcellen F07BCB Hon Hai Precision Ind. Co.,Ltd. F07D68 D-Link Corporation F081AF IRZ AUTOMATION TECHNOLOGIES LTD F0933A NxtConect F09CBB RaonThink Inc. F0A764 GST Co., Ltd. F0AD4E Globalscale Technologies, Inc. F0AE51 Xi3 Corp F0B479 Apple F0B6EB Poslab Technology Co., Ltd. F0BCC8 MaxID (Pty) Ltd F0BDF1 Sipod Inc. F0BF97 Sony Corporation F0C24C Zhejiang FeiYue Digital Technology Co., Ltd F0C27C Mianyang Netop Telecom Equipment Co.,Ltd. F0C88C LeddarTech Inc. F0D767 Axema Passagekontroll AB F0DE71 Shanghai EDO Technologies Co.,Ltd. F0DEF1 Wistron InfoComm (Kunshan)Co F0E5C3 Draegerwerk AG &amp; Co. KG aA F0EC39 Essec F0ED1E Bilkon Bilgisayar Kontrollu Cih. Im.Ltd. F0F002 Hon Hai Precision Ind. Co.,Ltd. F0F7B3 Phorm F0F842 KEEBOX, Inc. F0F9F7 IES GmbH & Co. KG F40321 BeNeXt B.V. F40B93 Research In Motion F41F0B YAMABISHI Corporation F43814 Shanghai Howell Electronic Co.,Ltd F43E61 Shenzhen Gongjin Electronics Co., Ltd F43E9D Benu Networks, Inc. F44227 S & S Research Inc. F445ED Portable Innovation Technology Ltd. F450EB Telechips Inc F45595 HENGBAO Corporation LTD. F455E0 Niceway CNC Technology Co.,Ltd.Hunan Province F45FD4 Cisco SPVTG F45FF7 DQ Technology Inc. F46349 Diffon Corporation F46D04 ASUSTek COMPUTER INC. F47626 Viltechmeda UAB F49F54 Samsung Electronics F4ACC1 Cisco Systems F4B549 Yeastar Technology Co., Ltd. F4C714 Huawei Device Co., Ltd F4C795 WEY Elektronik AG F4CE46 Hewlett Packard F4D9FB Samsung Electronics CO., LTD F4DC4D Beijing CCD Digital Technology Co., Ltd F4DCDA Zhuhai Jiahe Communication Technology Co., limited F4E142 Delta Elektronika BV F4EC38 TP-LINK TECHNOLOGIES CO., LTD. F4FC32 Texas Instruments F80F41 Wistron InfoComm(ZhongShan) Corporation F80F84 Natural Security SAS F81037 Atopia Systems, LP F81EDF Apple, Inc F8472D X2gen Digital Corp. Ltd F852DF VNL Europe AB F866F2 Cisco Systems F86971 Seibu Electric Co., F86ECF Arcx Inc F871FE The Goldman Sachs Group, Inc. F8769B Neopis Co., Ltd. F87B7A Motorola Mobile Devices F87B8C Amped Wireless F8811A OVERKIZ F88DEF Tenebraex F8912A GLP German Light Products GmbH F893F3 VOLANS F89D0D Control Technology Inc. F8A9DE PUISSANCE PLUS F8AC6D Deltenna Ltd F8B599 Guangzhou CHNAVS Digital Technology Co.,Ltd F8C091 Highgates Technology F8C678 Carefusion F8D756 Simm Tronic Limited F8DAE2 Beta LaserMike F8DAF4 Taishan Online Technology Co., Ltd. F8DB7F HTC Corporation F8DC7A Variscite LTD F8E968 Egker Kft. F8EA0A Dipl.-Math. Michael Rauch F8F014 RackWare Inc. F8FB2F Santur Corporation FC0877 Prentke Romich Company FC0FE6 Sony Computer Entertainment Inc. FC10BD Control Sistematizado S.A. FC1FC0 EURECAM FC2F40 Calxeda, Inc. FC3598 Favite Inc. FC4463 Universal Audio FC5B24 Weibel Scientific A/S FC6198 NEC Personal Products, Ltd FC683E Directed Perception, Inc FC75E6 Handreamnet FC7CE7 FCI USA LLC FC8E7E Pace France FCA13E Samsung Electronics FCA841 Avaya, Inc FCAF6A Conemtech AB FCCCE4 Ascon Ltd. FCCF62 BLADE Network Technology FCD4F2 The Coca Cola Company FCD4F6 Messana Air.Ray Conditioning s.r.l. FCE192 Sichuan Jinwangtong Electronic Science&Technology Co,.Ltd FCE23F CLAY PAKY SPA FCE557 Nokia Corporation FCEDB9 Arrayent FCF1CD OPTEX-FA CO.,LTD. FCFAF7 Shanghai Baud Data Communication Co.,Ltd. FCFBFB Cisco Systems arp-scan-1.8.1/getopt.c0000664000175000017500000010330411505114412011611 00000000000000/* Getopt for GNU. NOTE: getopt is now part of the C library, so if you don't know what "Keep this file name-space clean" means, talk to drepper@gnu.org before changing it! Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001,2002 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ /* This tells Alpha OSF/1 not to define a getopt prototype in . Ditto for AIX 3.2 and . */ #ifndef _NO_PROTO # define _NO_PROTO #endif #ifdef HAVE_CONFIG_H # include #endif #if !defined __STDC__ || !__STDC__ /* This is a separate conditional since some stdc systems reject `defined (const)'. */ # ifndef const # define const # endif #endif #include /* Comment out all this code if we are using the GNU C Library, and are not actually compiling the library itself. This code is part of the GNU C Library, but also included in many other GNU distributions. Compiling and linking in this code is a waste when using the GNU C library (especially if it is a shared library). Rather than having every GNU program understand `configure --with-gnu-libc' and omit the object files, it is simpler to just do this in the source for each such file. */ #define GETOPT_INTERFACE_VERSION 2 #if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2 # include # if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION # define ELIDE_CODE # endif #endif #ifndef ELIDE_CODE /* This needs to come after some library #include to get __GNU_LIBRARY__ defined. */ #ifdef __GNU_LIBRARY__ /* Don't include stdlib.h for non-GNU C libraries because some of them contain conflicting prototypes for getopt. */ # include # include #endif /* GNU C library. */ #ifdef VMS # include # if HAVE_STRING_H - 0 # include # endif #endif #ifndef _ /* This is for other GNU distributions with internationalized messages. */ # if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC # include # ifndef _ # define _(msgid) gettext (msgid) # endif # else # define _(msgid) (msgid) # endif # if defined _LIBC && defined USE_IN_LIBIO # include # endif #endif #ifndef attribute_hidden # define attribute_hidden #endif /* This version of `getopt' appears to the caller like standard Unix `getopt' but it behaves differently for the user, since it allows the user to intersperse the options with the other arguments. As `getopt' works, it permutes the elements of ARGV so that, when it is done, all the options precede everything else. Thus all application programs are extended to handle flexible argument order. Setting the environment variable POSIXLY_CORRECT disables permutation. Then the behavior is completely standard. GNU application programs can use a third alternative mode in which they can distinguish the relative order of options and other arguments. */ #include "getopt.h" /* For communication from `getopt' to the caller. When `getopt' finds an option that takes an argument, the argument value is returned here. Also, when `ordering' is RETURN_IN_ORDER, each non-option ARGV-element is returned here. */ char *optarg; /* Index in ARGV of the next element to be scanned. This is used for communication to and from the caller and for communication between successive calls to `getopt'. On entry to `getopt', zero means this is the first call; initialize. When `getopt' returns -1, this is the index of the first of the non-option elements that the caller should itself scan. Otherwise, `optind' communicates from one call to the next how much of ARGV has been scanned so far. */ /* 1003.2 says this must be 1 before any call. */ int optind = 1; /* Formerly, initialization of getopt depended on optind==0, which causes problems with re-calling getopt as programs generally don't know that. */ int __getopt_initialized attribute_hidden; /* The next char to be scanned in the option-element in which the last option character we returned was found. This allows us to pick up the scan where we left off. If this is zero, or a null string, it means resume the scan by advancing to the next ARGV-element. */ static char *nextchar; /* Callers store zero here to inhibit the error message for unrecognized options. */ int opterr = 1; /* Set to an option character which was unrecognized. This must be initialized on some systems to avoid linking in the system's own getopt implementation. */ int optopt = '?'; /* Describe how to deal with options that follow non-option ARGV-elements. If the caller did not specify anything, the default is REQUIRE_ORDER if the environment variable POSIXLY_CORRECT is defined, PERMUTE otherwise. REQUIRE_ORDER means don't recognize them as options; stop option processing when the first non-option is seen. This is what Unix does. This mode of operation is selected by either setting the environment variable POSIXLY_CORRECT, or using `+' as the first character of the list of option characters. PERMUTE is the default. We permute the contents of ARGV as we scan, so that eventually all the non-options are at the end. This allows options to be given in any order, even with programs that were not written to expect this. RETURN_IN_ORDER is an option available to programs that were written to expect options and other ARGV-elements in any order and that care about the ordering of the two. We describe each non-option ARGV-element as if it were the argument of an option with character code 1. Using `-' as the first character of the list of option characters selects this mode of operation. The special argument `--' forces an end of option-scanning regardless of the value of `ordering'. In the case of RETURN_IN_ORDER, only `--' can cause `getopt' to return -1 with `optind' != ARGC. */ static enum { REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER } ordering; /* Value of POSIXLY_CORRECT environment variable. */ static char *posixly_correct; #ifdef __GNU_LIBRARY__ /* We want to avoid inclusion of string.h with non-GNU libraries because there are many ways it can cause trouble. On some systems, it contains special magic macros that don't work in GCC. */ # include # define my_index strchr #else # if HAVE_STRING_H # include # else # include # endif /* Avoid depending on library functions or files whose names are inconsistent. */ #ifndef getenv extern char *getenv (); #endif static char * my_index (str, chr) const char *str; int chr; { while (*str) { if (*str == chr) return (char *) str; str++; } return 0; } /* If using GCC, we can safely declare strlen this way. If not using GCC, it is ok not to declare it. */ #ifdef __GNUC__ /* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h. That was relevant to code that was here before. */ # if (!defined __STDC__ || !__STDC__) && !defined strlen /* gcc with -traditional declares the built-in strlen to return int, and has done so at least since version 2.4.5. -- rms. */ extern int strlen (const char *); # endif /* not __STDC__ */ #endif /* __GNUC__ */ #endif /* not __GNU_LIBRARY__ */ /* Handle permutation of arguments. */ /* Describe the part of ARGV that contains non-options that have been skipped. `first_nonopt' is the index in ARGV of the first of them; `last_nonopt' is the index after the last of them. */ static int first_nonopt; static int last_nonopt; #ifdef _LIBC /* Stored original parameters. XXX This is no good solution. We should rather copy the args so that we can compare them later. But we must not use malloc(3). */ extern int __libc_argc; extern char **__libc_argv; /* Bash 2.0 gives us an environment variable containing flags indicating ARGV elements that should not be considered arguments. */ # ifdef USE_NONOPTION_FLAGS /* Defined in getopt_init.c */ extern char *__getopt_nonoption_flags; static int nonoption_flags_max_len; static int nonoption_flags_len; # endif # ifdef USE_NONOPTION_FLAGS # define SWAP_FLAGS(ch1, ch2) \ if (nonoption_flags_len > 0) \ { \ char __tmp = __getopt_nonoption_flags[ch1]; \ __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \ __getopt_nonoption_flags[ch2] = __tmp; \ } # else # define SWAP_FLAGS(ch1, ch2) # endif #else /* !_LIBC */ # define SWAP_FLAGS(ch1, ch2) #endif /* _LIBC */ /* Exchange two adjacent subsequences of ARGV. One subsequence is elements [first_nonopt,last_nonopt) which contains all the non-options that have been skipped so far. The other is elements [last_nonopt,optind), which contains all the options processed since those non-options were skipped. `first_nonopt' and `last_nonopt' are relocated so that they describe the new indices of the non-options in ARGV after they are moved. */ #if defined __STDC__ && __STDC__ static void exchange (char **); #endif static void exchange (argv) char **argv; { int bottom = first_nonopt; int middle = last_nonopt; int top = optind; char *tem; /* Exchange the shorter segment with the far end of the longer segment. That puts the shorter segment into the right place. It leaves the longer segment in the right place overall, but it consists of two parts that need to be swapped next. */ #if defined _LIBC && defined USE_NONOPTION_FLAGS /* First make sure the handling of the `__getopt_nonoption_flags' string can work normally. Our top argument must be in the range of the string. */ if (nonoption_flags_len > 0 && top >= nonoption_flags_max_len) { /* We must extend the array. The user plays games with us and presents new arguments. */ char *new_str = malloc (top + 1); if (new_str == NULL) nonoption_flags_len = nonoption_flags_max_len = 0; else { memset (__mempcpy (new_str, __getopt_nonoption_flags, nonoption_flags_max_len), '\0', top + 1 - nonoption_flags_max_len); nonoption_flags_max_len = top + 1; __getopt_nonoption_flags = new_str; } } #endif while (top > middle && middle > bottom) { if (top - middle > middle - bottom) { /* Bottom segment is the short one. */ int len = middle - bottom; register int i; /* Swap it with the top part of the top segment. */ for (i = 0; i < len; i++) { tem = argv[bottom + i]; argv[bottom + i] = argv[top - (middle - bottom) + i]; argv[top - (middle - bottom) + i] = tem; SWAP_FLAGS (bottom + i, top - (middle - bottom) + i); } /* Exclude the moved bottom segment from further swapping. */ top -= len; } else { /* Top segment is the short one. */ int len = top - middle; register int i; /* Swap it with the bottom part of the bottom segment. */ for (i = 0; i < len; i++) { tem = argv[bottom + i]; argv[bottom + i] = argv[middle + i]; argv[middle + i] = tem; SWAP_FLAGS (bottom + i, middle + i); } /* Exclude the moved top segment from further swapping. */ bottom += len; } } /* Update records for the slots the non-options now occupy. */ first_nonopt += (optind - last_nonopt); last_nonopt = optind; } /* Initialize the internal data when the first call is made. */ #if defined __STDC__ && __STDC__ static const char *_getopt_initialize (int, char *const *, const char *); #endif static const char * _getopt_initialize (argc, argv, optstring) int argc; char *const *argv; const char *optstring; { /* Start processing options with ARGV-element 1 (since ARGV-element 0 is the program name); the sequence of previously skipped non-option ARGV-elements is empty. */ first_nonopt = last_nonopt = optind; nextchar = NULL; posixly_correct = getenv ("POSIXLY_CORRECT"); /* Determine how to handle the ordering of options and nonoptions. */ if (optstring[0] == '-') { ordering = RETURN_IN_ORDER; ++optstring; } else if (optstring[0] == '+') { ordering = REQUIRE_ORDER; ++optstring; } else if (posixly_correct != NULL) ordering = REQUIRE_ORDER; else ordering = PERMUTE; #if defined _LIBC && defined USE_NONOPTION_FLAGS if (posixly_correct == NULL && argc == __libc_argc && argv == __libc_argv) { if (nonoption_flags_max_len == 0) { if (__getopt_nonoption_flags == NULL || __getopt_nonoption_flags[0] == '\0') nonoption_flags_max_len = -1; else { const char *orig_str = __getopt_nonoption_flags; int len = nonoption_flags_max_len = strlen (orig_str); if (nonoption_flags_max_len < argc) nonoption_flags_max_len = argc; __getopt_nonoption_flags = (char *) malloc (nonoption_flags_max_len); if (__getopt_nonoption_flags == NULL) nonoption_flags_max_len = -1; else memset (__mempcpy (__getopt_nonoption_flags, orig_str, len), '\0', nonoption_flags_max_len - len); } } nonoption_flags_len = nonoption_flags_max_len; } else nonoption_flags_len = 0; #endif return optstring; } /* Scan elements of ARGV (whose length is ARGC) for option characters given in OPTSTRING. If an element of ARGV starts with '-', and is not exactly "-" or "--", then it is an option element. The characters of this element (aside from the initial '-') are option characters. If `getopt' is called repeatedly, it returns successively each of the option characters from each of the option elements. If `getopt' finds another option character, it returns that character, updating `optind' and `nextchar' so that the next call to `getopt' can resume the scan with the following option character or ARGV-element. If there are no more option characters, `getopt' returns -1. Then `optind' is the index in ARGV of the first ARGV-element that is not an option. (The ARGV-elements have been permuted so that those that are not options now come last.) OPTSTRING is a string containing the legitimate option characters. If an option character is seen that is not listed in OPTSTRING, return '?' after printing an error message. If you set `opterr' to zero, the error message is suppressed but we still return '?'. If a char in OPTSTRING is followed by a colon, that means it wants an arg, so the following text in the same ARGV-element, or the text of the following ARGV-element, is returned in `optarg'. Two colons mean an option that wants an optional arg; if there is text in the current ARGV-element, it is returned in `optarg', otherwise `optarg' is set to zero. If OPTSTRING starts with `-' or `+', it requests different methods of handling the non-option ARGV-elements. See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. Long-named options begin with `--' instead of `-'. Their names may be abbreviated as long as the abbreviation is unique or is an exact match for some defined option. If they have an argument, it follows the option name in the same ARGV-element, separated from the option name by a `=', or else the in next ARGV-element. When `getopt' finds a long-named option, it returns 0 if that option's `flag' field is nonzero, the value of the option's `val' field if the `flag' field is zero. The elements of ARGV aren't really const, because we permute them. But we pretend they're const in the prototype to be compatible with other systems. LONGOPTS is a vector of `struct option' terminated by an element containing a name which is zero. LONGIND returns the index in LONGOPT of the long-named option found. It is only valid when a long-named option has been found by the most recent call. If LONG_ONLY is nonzero, '-' as well as '--' can introduce long-named options. */ int _getopt_internal (argc, argv, optstring, longopts, longind, long_only) int argc; char *const *argv; const char *optstring; const struct option *longopts; int *longind; int long_only; { int print_errors = opterr; if (optstring[0] == ':') print_errors = 0; if (argc < 1) return -1; optarg = NULL; if (optind == 0 || !__getopt_initialized) { if (optind == 0) optind = 1; /* Don't scan ARGV[0], the program name. */ optstring = _getopt_initialize (argc, argv, optstring); __getopt_initialized = 1; } /* Test whether ARGV[optind] points to a non-option argument. Either it does not have option syntax, or there is an environment flag from the shell indicating it is not an option. The later information is only used when the used in the GNU libc. */ #if defined _LIBC && defined USE_NONOPTION_FLAGS # define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0' \ || (optind < nonoption_flags_len \ && __getopt_nonoption_flags[optind] == '1')) #else # define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0') #endif if (nextchar == NULL || *nextchar == '\0') { /* Advance to the next ARGV-element. */ /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been moved back by the user (who may also have changed the arguments). */ if (last_nonopt > optind) last_nonopt = optind; if (first_nonopt > optind) first_nonopt = optind; if (ordering == PERMUTE) { /* If we have just processed some options following some non-options, exchange them so that the options come first. */ if (first_nonopt != last_nonopt && last_nonopt != optind) exchange ((char **) argv); else if (last_nonopt != optind) first_nonopt = optind; /* Skip any additional non-options and extend the range of non-options previously skipped. */ while (optind < argc && NONOPTION_P) optind++; last_nonopt = optind; } /* The special ARGV-element `--' means premature end of options. Skip it like a null option, then exchange with previous non-options as if it were an option, then skip everything else like a non-option. */ if (optind != argc && !strcmp (argv[optind], "--")) { optind++; if (first_nonopt != last_nonopt && last_nonopt != optind) exchange ((char **) argv); else if (first_nonopt == last_nonopt) first_nonopt = optind; last_nonopt = argc; optind = argc; } /* If we have done all the ARGV-elements, stop the scan and back over any non-options that we skipped and permuted. */ if (optind == argc) { /* Set the next-arg-index to point at the non-options that we previously skipped, so the caller will digest them. */ if (first_nonopt != last_nonopt) optind = first_nonopt; return -1; } /* If we have come to a non-option and did not permute it, either stop the scan or describe it to the caller and pass it by. */ if (NONOPTION_P) { if (ordering == REQUIRE_ORDER) return -1; optarg = argv[optind++]; return 1; } /* We have found another option-ARGV-element. Skip the initial punctuation. */ nextchar = (argv[optind] + 1 + (longopts != NULL && argv[optind][1] == '-')); } /* Decode the current option-ARGV-element. */ /* Check whether the ARGV-element is a long option. If long_only and the ARGV-element has the form "-f", where f is a valid short option, don't consider it an abbreviated form of a long option that starts with f. Otherwise there would be no way to give the -f short option. On the other hand, if there's a long option "fubar" and the ARGV-element is "-fu", do consider that an abbreviation of the long option, just like "--fu", and not "-f" with arg "u". This distinction seems to be the most useful approach. */ if (longopts != NULL && (argv[optind][1] == '-' || (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1]))))) { char *nameend; const struct option *p; const struct option *pfound = NULL; int exact = 0; int ambig = 0; int indfound = -1; int option_index; for (nameend = nextchar; *nameend && *nameend != '='; nameend++) /* Do nothing. */ ; /* Test all long options for either exact match or abbreviated matches. */ for (p = longopts, option_index = 0; p->name; p++, option_index++) if (!strncmp (p->name, nextchar, nameend - nextchar)) { if ((unsigned int) (nameend - nextchar) == (unsigned int) strlen (p->name)) { /* Exact match found. */ pfound = p; indfound = option_index; exact = 1; break; } else if (pfound == NULL) { /* First nonexact match found. */ pfound = p; indfound = option_index; } else if (long_only || pfound->has_arg != p->has_arg || pfound->flag != p->flag || pfound->val != p->val) /* Second or later nonexact match found. */ ambig = 1; } if (ambig && !exact) { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("%s: option `%s' is ambiguous\n"), argv[0], argv[optind]) >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #else fprintf (stderr, _("%s: option `%s' is ambiguous\n"), argv[0], argv[optind]); #endif } nextchar += strlen (nextchar); optind++; optopt = 0; return '?'; } if (pfound != NULL) { option_index = indfound; optind++; if (*nameend) { /* Don't test has_arg with >, because some C compilers don't allow it to be used on enums. */ if (pfound->has_arg) optarg = nameend + 1; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; int n; #endif if (argv[optind - 1][1] == '-') { /* --option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("\ %s: option `--%s' doesn't allow an argument\n"), argv[0], pfound->name); #else fprintf (stderr, _("\ %s: option `--%s' doesn't allow an argument\n"), argv[0], pfound->name); #endif } else { /* +option or -option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("\ %s: option `%c%s' doesn't allow an argument\n"), argv[0], argv[optind - 1][0], pfound->name); #else fprintf (stderr, _("\ %s: option `%c%s' doesn't allow an argument\n"), argv[0], argv[optind - 1][0], pfound->name); #endif } #if defined _LIBC && defined USE_IN_LIBIO if (n >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #endif } nextchar += strlen (nextchar); optopt = pfound->val; return '?'; } } else if (pfound->has_arg == 1) { if (optind < argc) optarg = argv[optind++]; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option `%s' requires an argument\n"), argv[0], argv[optind - 1]) >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #else fprintf (stderr, _("%s: option `%s' requires an argument\n"), argv[0], argv[optind - 1]); #endif } nextchar += strlen (nextchar); optopt = pfound->val; return optstring[0] == ':' ? ':' : '?'; } } nextchar += strlen (nextchar); if (longind != NULL) *longind = option_index; if (pfound->flag) { *(pfound->flag) = pfound->val; return 0; } return pfound->val; } /* Can't find it as a long option. If this is not getopt_long_only, or the option starts with '--' or is not a valid short option, then it's an error. Otherwise interpret it as a short option. */ if (!long_only || argv[optind][1] == '-' || my_index (optstring, *nextchar) == NULL) { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; int n; #endif if (argv[optind][1] == '-') { /* --option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("%s: unrecognized option `--%s'\n"), argv[0], nextchar); #else fprintf (stderr, _("%s: unrecognized option `--%s'\n"), argv[0], nextchar); #endif } else { /* +option or -option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("%s: unrecognized option `%c%s'\n"), argv[0], argv[optind][0], nextchar); #else fprintf (stderr, _("%s: unrecognized option `%c%s'\n"), argv[0], argv[optind][0], nextchar); #endif } #if defined _LIBC && defined USE_IN_LIBIO if (n >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #endif } nextchar = (char *) ""; optind++; optopt = 0; return '?'; } } /* Look at and handle the next short option-character. */ { char c = *nextchar++; char *temp = my_index (optstring, c); /* Increment `optind' when we start to process its last character. */ if (*nextchar == '\0') ++optind; if (temp == NULL || c == ':') { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; int n; #endif if (posixly_correct) { /* 1003.2 specifies the format of this message. */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("%s: illegal option -- %c\n"), argv[0], c); #else fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], c); #endif } else { #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("%s: invalid option -- %c\n"), argv[0], c); #else fprintf (stderr, _("%s: invalid option -- %c\n"), argv[0], c); #endif } #if defined _LIBC && defined USE_IN_LIBIO if (n >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #endif } optopt = c; return '?'; } /* Convenience. Treat POSIX -W foo same as long option --foo */ if (temp[0] == 'W' && temp[1] == ';') { char *nameend; const struct option *p; const struct option *pfound = NULL; int exact = 0; int ambig = 0; int indfound = 0; int option_index; /* This is an option that requires an argument. */ if (*nextchar != '\0') { optarg = nextchar; /* If we end this ARGV-element by taking the rest as an arg, we must advance to the next element now. */ optind++; } else if (optind == argc) { if (print_errors) { /* 1003.2 specifies the format of this message. */ #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("%s: option requires an argument -- %c\n"), argv[0], c) >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #else fprintf (stderr, _("%s: option requires an argument -- %c\n"), argv[0], c); #endif } optopt = c; if (optstring[0] == ':') c = ':'; else c = '?'; return c; } else /* We already incremented `optind' once; increment it again when taking next ARGV-elt as argument. */ optarg = argv[optind++]; /* optarg is now the argument, see if it's in the table of longopts. */ for (nextchar = nameend = optarg; *nameend && *nameend != '='; nameend++) /* Do nothing. */ ; /* Test all long options for either exact match or abbreviated matches. */ for (p = longopts, option_index = 0; p->name; p++, option_index++) if (!strncmp (p->name, nextchar, nameend - nextchar)) { if ((unsigned int) (nameend - nextchar) == strlen (p->name)) { /* Exact match found. */ pfound = p; indfound = option_index; exact = 1; break; } else if (pfound == NULL) { /* First nonexact match found. */ pfound = p; indfound = option_index; } else /* Second or later nonexact match found. */ ambig = 1; } if (ambig && !exact) { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("%s: option `-W %s' is ambiguous\n"), argv[0], argv[optind]) >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #else fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"), argv[0], argv[optind]); #endif } nextchar += strlen (nextchar); optind++; return '?'; } if (pfound != NULL) { option_index = indfound; if (*nameend) { /* Don't test has_arg with >, because some C compilers don't allow it to be used on enums. */ if (pfound->has_arg) optarg = nameend + 1; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option `-W %s' doesn't allow an argument\n"), argv[0], pfound->name) >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #else fprintf (stderr, _("\ %s: option `-W %s' doesn't allow an argument\n"), argv[0], pfound->name); #endif } nextchar += strlen (nextchar); return '?'; } } else if (pfound->has_arg == 1) { if (optind < argc) optarg = argv[optind++]; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option `%s' requires an argument\n"), argv[0], argv[optind - 1]) >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #else fprintf (stderr, _("%s: option `%s' requires an argument\n"), argv[0], argv[optind - 1]); #endif } nextchar += strlen (nextchar); return optstring[0] == ':' ? ':' : '?'; } } nextchar += strlen (nextchar); if (longind != NULL) *longind = option_index; if (pfound->flag) { *(pfound->flag) = pfound->val; return 0; } return pfound->val; } nextchar = NULL; return 'W'; /* Let the application handle it. */ } if (temp[1] == ':') { if (temp[2] == ':') { /* This is an option that accepts an argument optionally. */ if (*nextchar != '\0') { optarg = nextchar; optind++; } else optarg = NULL; nextchar = NULL; } else { /* This is an option that requires an argument. */ if (*nextchar != '\0') { optarg = nextchar; /* If we end this ARGV-element by taking the rest as an arg, we must advance to the next element now. */ optind++; } else if (optind == argc) { if (print_errors) { /* 1003.2 specifies the format of this message. */ #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option requires an argument -- %c\n"), argv[0], c) >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #else fprintf (stderr, _("%s: option requires an argument -- %c\n"), argv[0], c); #endif } optopt = c; if (optstring[0] == ':') c = ':'; else c = '?'; } else /* We already incremented `optind' once; increment it again when taking next ARGV-elt as argument. */ optarg = argv[optind++]; nextchar = NULL; } } return c; } } int getopt (argc, argv, optstring) int argc; char *const *argv; const char *optstring; { return _getopt_internal (argc, argv, optstring, (const struct option *) 0, (int *) 0, 0); } #endif /* Not ELIDE_CODE. */ #ifdef TEST /* Compile with -DTEST to make an executable for use in testing the above definition of `getopt'. */ int main (argc, argv) int argc; char **argv; { int c; int digit_optind = 0; while (1) { int this_option_optind = optind ? optind : 1; c = getopt (argc, argv, "abc:d:0123456789"); if (c == -1) break; switch (c) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if (digit_optind != 0 && digit_optind != this_option_optind) printf ("digits occur in two different argv-elements.\n"); digit_optind = this_option_optind; printf ("option %c\n", c); break; case 'a': printf ("option a\n"); break; case 'b': printf ("option b\n"); break; case 'c': printf ("option c with value `%s'\n", optarg); break; case '?': break; default: printf ("?? getopt returned character code 0%o ??\n", c); } } if (optind < argc) { printf ("non-option ARGV-elements: "); while (optind < argc) printf ("%s ", argv[optind++]); printf ("\n"); } exit (0); } #endif /* TEST */ arp-scan-1.8.1/arp-fingerprint0000774000175000017500000002275611530675505013227 00000000000000#!/usr/bin/env perl # # Copyright 2006-2011 Roy Hills # # This file is part of arp-scan. # # arp-scan is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # arp-scan is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with arp-scan. If not, see . # # $Id: arp-fingerprint 18122 2011-02-22 09:00:52Z rsh $ # # arp-fingerprint -- Perl script to fingerprint system with arp-scan # # Author: Roy Hills # Date: 30th May 2006 # # This script uses arp-scan to fingerprint the operating system on the # specified target. # # It sends various different ARP packets to the target, and records which # ones it responds to. From this, it constructs a fingerprint string # which is used to match against a hash containing known fingerprints. # use warnings; use strict; use Getopt::Std; # my $arpscan="arp-scan -q -r 1"; # # Hash of known fingerprints # # These fingerprints were observed on: # # FreeBSD 7.0 FreeBSD 7.0 on VMware # FreeBSD 5.3 FreeBSD 5.3 on VMware # FreeBSD 4.3 FreeBSD 4.3 on VMware # DragonflyBSD 2.0 Dragonfly BSD 2.0.0 on VMware # Win 3.11 Windows for Workgroups 3.11/DOS 6.22 on VMware # 95 Windows 95 OSR2 on VMware # Win98 Windows 98 SE on VMware # WinME Windows ME on VMware # Windows7 Windows 7 Professional 6.1.7600 Build 7600 on Dell Vostro 220 # NT 3.51 Windows NT Server 3.51 SP0 on VMware # NT4 Windows NT Workstation 4.0 SP6a on Pentium # 2000 Windows 2000 # XP Windows XP Professional SP2 on Intel P4 # 2003 Windows 2003 Server SP1 on Intel P4 # Vista Windows Vista Beta 2 Build 5384 on VMware # Vista Windows Vista SP1 Build 6001 on Dell Inspiron # 2008 Windows 2008 Server Beta on i386 # Linux 2.0 Linux 2.0.29 on VMware (debian 1.3.1) # Linux 2.2 Linux 2.2.19 on VMware (debian potato) # Linux 2.4 Linux 2.4.29 on Intel P3 (debian sarge) # Linux 2.6 Linux 2.6.15.7 on Intel P3 (debian sarge) # Cisco IOS IOS 11.2(17) on Cisco 2503 # Cisco IOS IOS 11.3(11b)T2 on Cisco 2503 # Cisco IOS IOS 12.0(8) on Cisco 1601 # Cisco IOS IOS 12.1(27b) on Cisco 2621 # Cisco IOS IOS 12.2(32) on Cisco 1603 # Cisco IOS IOS 12.3(15) on Cisco 2503 # Cisco IOS IOS 12.4(3) on Cisco 2811 # Solaris 2.5.1 Solaris 2.5.1 (SPARC) on Sun SPARCstation 20 # Solaris 2.6 Solaris 2.6 (SPARC) on Sun Ultra 5 # Solaris 7 Solaris 7 (x86) on VMware # Solaris 8 Solaris 8 (SPARC) on Sun Ultra 5 (64 bit) # Solaris 9 Solaris 9 (SPARC) on Sun Ultra 5 (64 bit) # Solaris 10 Solaris 10 (x86) on VMware # ScreenOS 5.0 Juniper ScreenOS 5.0.0r9 on NetScreen 5XP # ScreenOS 5.1 Juniper ScreenOS 5.1.0r1.0 on NetScreen 5GT # ScreenOS 5.3 Juniper ScreenOS 5.3.0r4.0 on NetScreen 5GT # ScreenOS 5.4 Juniper ScreenOS 5.4.0r1.0 on NetScreen 5GT # MacOS 10.4 MacOS 10.4.6 on powerbook G4 # MacOS 10.3 MacOS 10.3.9 on imac G3 # IRIX 6.5 IRIX64 IRIS 6.5 05190004 IP30 on SGI Octane # SCO OS 5.0.7 SCO OpenServer 5.0.7 on VMware # 2.11BSD 2.11BSD patch level 431 on PDP-11/73 (SIMH simulated) # 4.3BSD 4.3BSD (Quasijarus0c) on MicroVAX 3000 (SIMH simulated) # OpenBSD 3.1 OpenBSD 3.1 on VMware # OpenBSD 3.9 OpenBSD 3.9 on VMware # NetBSD 2.0.2 NetBSD 2.0.2 on VMware # NetBSD 4.0 NetBSD 4.0 on VMware # IPSO 3.2.1 IPSO 3.2.1-fcs1 on Nokia VPN 210 # Netware 6.5 Novell NetWare 6.5 on VMware # HP-UX 11 HP-UX B.11.00 A 9000/712 (PA-RISC) # PIX OS PIX OS (unknown vsn) on Cisco PIX 525 # PIX OS 4.4 PIX OS 4.4(4) on Cisco PIX 520 # PIX OS 5.1 PIX OS 5.1(2) on Cisco PIX 520 # PIX OS 5.2 PIX OS 5.2(9) on Cisco PIX 520 # PIX OS 5.3 PIX OS 5.3(2) on Cisco PIX 520 # PIX OS 6.0 PIX OS 6.0(4) on Cisco PIX 520 # PIX OS 6.1 PIX OS 6.1(5) on Cisco PIX 520 # PIX OS 6.2 PIX OS 6.2(4) on Cisco PIX 520 # PIX OS 6.3 PIX OS 6.3(5) on Cisco PIX 520 # PIX OS 7.0(1) PIX OS 7.0(1) on Cisco PIX 515E # PIX OS 7.0(2) PIX OS 7.0(2) on Cisco PIX 515E # PIX OS 7.0(4) PIX OS 7.0(4) on Cisco PIX 515E # PIX OS 7.0(6) PIX OS 7.0(6) on Cisco PIX 515E # PIX OS 7.1 PIX OS 7.1(1) on Cisco PIX 515E # PIX OS 7.2 PIX OS 7.2(1) on Cisco PIX 515E # PIX OS 8.0 PIX OS 8.0(2) on Cisco PIX 515E # Minix 3 Minix 3 1.2a on VMware # Nortel Contivity 6.00 Nortel Contivity V06_00 (VxWorks based) # Nortel Contivity 6.05 Nortel Contivity V06_05.135 # AIX 4.3 IBM AIX Version 4.3 on RS/6000 7043-260 # AIX 5.3 IBM AIX Version 5.3 on RS/6000 7043-260 # Cisco VPN Concentrator 4.7 Cisco VPN Concentrator 3030 4.7.2E # Cisco IP Phone 79xx SIP 5.x,6.x,7.x 7940 SIP firmware version 5.3 # Cisco IP Phone 79xx SIP 5.x,6.x,7.x 7940 SIP firmware version 6.3 # Cisco IP Phone 79xx SIP 5.x,6.x,7.x 7940 SIP firmware version 7.5 # Cisco IP Phone 79xx SIP 8.x 7940 SIP firmware version 8.6 # Catalyst 1900 Cisco Catalyst 1900 V9.00.03 Standard Edition # Catalyst IOS 12.2 Cisco Catalyst 3550-48 running IOS 12.2(35)SE # Catalyst IOS 12.0 Cisco Catalyst 2924-XL running IOS 12.0(5)WC17 # Catalyst IOS 12.1 Cisco Catalyst 3550-48 running IOS 12.1(11)EA1a SMI # FortiOS 3.00 FortiGate 100A running FortiOS 3.00,build0406,070126 # Plan9 Plan9 release 4 on VMware # Blackberry OS Blackberry OS v5.0.0.681 on Blackberry 8900 # my %fp_hash = ( '11110100000' => 'FreeBSD 5.3, 7.0, DragonflyBSD 2.0, Win98, WinME, NT4, 2000, XP, 2003, Catalyst IOS 12.0, 12.1, 12.2, FortiOS 3.00', '01000100000' => 'Linux 2.2, 2.4, 2.6', '01010100000' => 'Linux 2.2, 2.4, 2.6, Vista, 2008, Windows7', # Linux only if non-local IP is routed '00000100000' => 'Cisco IOS 11.2, 11.3, 12.0, 12.1, 12.2, 12.3, 12.4', '11110110000' => 'Solaris 2.5.1, 2.6, 7, 8, 9, 10, HP-UX 11', '01000111111' => 'ScreenOS 5.0, 5.1, 5.3, 5.4', '11110000000' => 'Linux 2.0, MacOS 10.4, IPSO 3.2.1, Minix 3, Cisco VPN Concentrator 4.7, Catalyst 1900', '11110100011' => 'MacOS 10.3, FreeBSD 4.3, IRIX 6.5, AIX 4.3, AIX 5.3', '10010100011' => 'SCO OS 5.0.7', '10110100000' => 'Win 3.11, 95, NT 3.51', '11110000011' => '2.11BSD, 4.3BSD, OpenBSD 3.1, OpenBSD 3.9, Nortel Contivity 6.00, 6.05', '10110110000' => 'NetBSD 2.0.2, 4.0', '10110111111' => 'PIX OS 4.4, 5.1, 5.2, 5.3', '11110111111' => 'PIX OS 6.0, 6.1, 6.2, ScreenOS 5.0 (transparent), Plan9, Blackberry OS', '00010110011' => 'PIX OS 6.3, 7.0(1), 7.0(2)', '01010110011' => 'PIX OS 7.0(4)-7.0(6), 7.1, 7.2, 8.0', '00000110000' => 'Netware 6.5', '00010100000' => 'Unknown 1', # 14805 79.253 Cisco '00000110011' => 'Cisco IP Phone 79xx SIP 5.x,6.x,7.x', '11110110011' => 'Cisco IP Phone 79xx SIP 8.x', # Also 14805 63.11 Fujitsu Siemens ); # my $usage = qq/Usage: arp-fingerprint [options] Fingerprint the target system using arp-scan. 'options' is one or more of: -h Display this usage message. -v Give verbose progress messages. -o Pass specified options to arp-scan /; my %opts; my $user_opts=""; my $verbose; my $fingerprint=""; my $fp_name; # # Process options # die "$usage\n" unless getopts('hvo:',\%opts); if ($opts{h}) { print "$usage\n"; exit(0); } $verbose=$opts{v} ? 1 : 0; if ($opts{o}) { $user_opts = $opts{o}; } # if ($#ARGV != 0) { die "$usage\n"; } my $target=shift; # # Check that the target is not an IP range or network. # if ($target =~ /\d+\.\d+\.\d+\.\d+-\d+\.\d+\.\d+\.\d+/ || $target =~ /\d+\.\d+\.\d+\.\d+\/\d+/ || $target =~ /\d+\.\d+\.\d+\.\d+:\d+\.\d+\.\d+\.\d+/) { die "argument must be a single IP address or hostname\n"; } # # Check that the system responds to an arp-scan with no options. # If it does, then fingerprint the target. # if (&fp("","$target") eq "1") { # 1: source protocol address = localhost $fingerprint .= &fp("--arpspa=127.0.0.1","$target"); # 2: source protocol address = zero $fingerprint .= &fp("--arpspa=0.0.0.0","$target"); # 3: source protocol address = broadcast $fingerprint .= &fp("--arpspa=255.255.255.255","$target"); # 4: source protocol address = non local (network 1 is reserved) $fingerprint .= &fp("--arpspa=1.0.0.1","$target"); # Non-local source IP # 5: invalid arp opcode $fingerprint .= &fp("--arpop=255","$target"); # 6: arp hardware type = IEEE_802.2 $fingerprint .= &fp("--arphrd=6","$target"); # 7: invalid arp hardware type $fingerprint .= &fp("--arphrd=255","$target"); # 8: invalid arp protocol type $fingerprint .= &fp("--arppro=0xffff","$target"); # 9: arp protocol type = Novell IPX $fingerprint .= &fp("--arppro=0x8137","$target"); # 10: invalid protocol address length $fingerprint .= &fp("--arppln=6","$target"); # 11: Invalid hardware address length $fingerprint .= &fp("--arphln=8","$target"); # if (defined $fp_hash{$fingerprint}) { $fp_name = "$fp_hash{$fingerprint}"; } else { $fp_name = "UNKNOWN"; } print "$target\t$fingerprint\t$fp_name\n"; } else { print "$target\tNo Response\n"; } # # Scan the specified IP address with arp-scan using the given options. # Return "1" if the target responds, or "0" if it does not respond. # sub fp ($$) { my $ip; my $options; my $response = "0"; ($options, $ip) = @_; open(ARPSCAN, "$arpscan $user_opts $options $ip |") || die "arp-scan failed"; while () { if (/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\t/) { $response = "1"; last; } } close(ARPSCAN); if ($verbose && $options ne "") { if ($response) { print "$options\tYes\n"; } else { print "$options\tNo\n"; } } return $response; } arp-scan-1.8.1/aclocal.m40000664000175000017500000007620311546362365012033 00000000000000# generated automatically by aclocal 1.10 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_if(m4_PACKAGE_VERSION, [2.61],, [m4_fatal([this file was generated for autoconf 2.61. You have another version of autoconf. If you want to use that, you should regenerate the build system entirely.], [63])]) # Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.10' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.10], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.10])dnl _AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 9 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 3 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 12 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.60])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AM_PROG_INSTALL_SH AM_PROG_INSTALL_STRIP AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) ]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $1 | $1:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. AM_MISSING_PROG([AMTAR], [tar]) m4_if([$1], [v7], [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([acinclude.m4]) arp-scan-1.8.1/ieee-iab.txt0000664000175000017500000032413211533141736012362 00000000000000# ieee-iab.txt -- Ethernet vendor IAB file for arp-scan # # This file contains the Ethernet vendor IABs for arp-scan. These are used # to determine the vendor for a give Ethernet interface given the MAC address. # # Each line of this file contains an IAB-vendor mapping in the form: # # # # Where is the first 36 bits of the MAC address in hex, and # is the name of the vendor. # # Blank lines and lines beginning with "#" are ignored. # # This file was automatically generated by get-iab at 2011-03-01 10:00:34 # using data from http://standards.ieee.org/regauth/oui/iab.txt # # Do not edit this file. If you want to add additional MAC-Vendor mappings, # edit the file mac-vendor.txt instead. # 0050C2000 T.L.S. Corp. 0050C2001 JMBS Developpements 0050C2002 Integrated Automation Solutions 0050C2003 Microsoft 0050C2004 SCI Technology Inc. 0050C2005 GD California, Inc. 0050C2006 Project Management Enterprises, Inc. 0050C2007 Clive Green & Co. Ltd. 0050C2008 Portable Add-Ons 0050C2009 Datakinetics Ltd. 0050C200A Tharsys 0050C200B IO Limited 0050C200C Vbrick Systems Inc. 0050C200D Opus Telecom Inc. 0050C200E TTTech 0050C200F XLN-t 0050C2010 Moisture Systems 0050C2011 BIHL & Wiedemann GmbH 0050C2012 Floware System Solutions Ltd. 0050C2013 Sensys Technologies Inc. 0050C2014 Canal + 0050C2015 Leroy Automatique Industrielle 0050C2016 DSP Design Ltd. 0050C2017 Hunter Technology Inc. 0050C2018 CAD-UL GmbH 0050C2019 Emtac Technology Corp. 0050C201A Skylake Talix 0050C201B Cross Products Ltd. 0050C201C Tadiran Scopus 0050C201D Princeton Gamma Tech 0050C201E CallTech International Limited 0050C201F KBS Industrieelektronik GmbH 0050C2020 Icon Research Ltd. 0050C2021 DRS Technologies Canada Co. 0050C2022 Ashling Microsystems Ltd. 0050C2023 Zabacom, Inc. 0050C2024 IPITEK 0050C2025 Teracom Telematica Ltda. 0050C2026 Abatis Systems Corp. 0050C2027 Industrial Control Links 0050C2028 The Frensch Corporation (Pty) Ltd. 0050C2029 Grossenbacher Systeme AG 0050C202A VersaLogic Corp. 0050C202B Nova Engineering Inc. 0050C202C Narrowband Telecommunications 0050C202D Innocor LTD 0050C202E Turtle Mountain Corp 0050C202F Sinetica Corp 0050C2030 Lockheed Martin Tactical Defense Systems Eagan 0050C2031 Eloquence Ltd 0050C2032 MotionIO 0050C2033 Doble Engineering Company 0050C2034 Ing. Buero W. Kanis GmbH 0050C2035 Alliant Techsystems, Inc. 0050C2036 Arcturus Networks Inc. 0050C2037 E.I.S.M. 0050C2038 Ardmona Foods Limites 0050C2039 Apex Signal Corp 0050C203A PLLB Elettronica SPA 0050C203B VNR Electronique SA 0050C203C BrainBoxes Ltd 0050C203D ISDN Gateway Technology AG 0050C203E MSU UK Ltd 0050C203F Celotek Corp 0050C2040 MiSPO Co., Ltd. 0050C2041 Damler Chrysler Rail System (Signal) AB 0050C2042 B.E.A.R. Solutions (Australasia) Pty, Ltd 0050C2043 Curtis, Inc. 0050C2044 PRIVATE 0050C2045 Chase Manhattan Bank 0050C2046 PRIVATE 0050C2047 B. R. Electronics 0050C2048 Cybectec Inc. 0050C2049 Computer Concepts Corp 0050C204A Telecom Analysis Systems, LP 0050C204B Tecstar Demo Systems Division 0050C204C New Standard Engineering NV 0050C204E Industrial Electronic Engineers, Inc. 0050C204F Luma Corporation 0050C2050 Dataprobe, Inc. 0050C2051 JSR Ultrasonics 0050C2052 Mayo Foundation 0050C2054 Optionexist Limited 0050C2055 San Castle Technologies, Inc. 0050C2056 Base 2 0050C2057 Lite F GmBH 0050C2058 Vision Research, Inc. 0050C2059 Austco Communication Systems Pty, Ltd 0050C205A Sonifex Ltd 0050C205B Radiometer Medical A/S 0050C205C Nortel Networks PLC (UK) 0050C205D Ignitus Communications, LLC 0050C205E DIVA Systems 0050C205F Malden Electronics Ltd 0050C2060 PRIVATE 0050C2061 Simple Network Magic Corporation 0050C2062 PRIVATE 0050C2063 Ticketmaster Corp 0050C2064 PRIVATE 0050C2065 Clever Devices, Ltd. 0050C2066 PRIVATE 0050C2067 Riverlink Computers, Ltd. 0050C2068 Seabridge 0050C2069 EC Elettronica S.R.L. 0050C206A Unimark 0050C206B NCast Corporation 0050C206C WaveCom Electronics, Inc. 0050C206D Advanced Signal Corp. 0050C206E Avtron Manufacturing Inc. 0050C206F Digital Services Group 0050C2070 Katchall Technologies Group 0050C2071 NetVision Telecom 0050C2072 Neuberger Gebaeudeautomation GmbH & Co. 0050C2073 Alstom Signalling Ltd. 0050C2074 Edge Tech Co., Ltd. 0050C2075 ENTTEC Pty Ltd. 0050C2076 Litton Guidance & Control Systems 0050C2077 Saco Smartvision Inc. 0050C2078 Reselec AG 0050C2079 Flextel S.p.A 0050C207A RadioTel 0050C207B Trikon Technologies Ltd. 0050C207C PLLB elettronica spa 0050C207D Caspian Networks 0050C207E JL-teknik 0050C207F Dunti Corporation 0050C2080 AIM 0050C2081 Matuschek Messtechnik GmbH 0050C2082 GFI Chrono Time 0050C2083 ARD SA 0050C2084 DIALOG4 System Engineering GmbH 0050C2085 Crossport Systems 0050C2086 Validyne Engineering Corp. 0050C2087 Monitor Business Machines Ltd. 0050C2088 TELINC Corporation 0050C2089 Fenwal Italia S.P.A. 0050C208A Rising Edge Technologies 0050C208B HYPERCHIP Inc. 0050C208C IP Unity 0050C208D Kylink Communications Corp. 0050C208E BSQUARE 0050C208F General Industries Argentina 0050C2090 Invensys Controls Network Systems 0050C2091 StorLogic, Inc. 0050C2092 DigitAll World Co., Ltd 0050C2093 KOREALINK 0050C2094 Analytical Spectral Devices, Inc. 0050C2095 SEATECH 0050C2096 Utronix Elektronikutreckling AB 0050C2097 IMV Invertomatic 0050C2098 EPEL Industrial, S.A. 0050C2099 Case Information & Communications 0050C209A NBO Development Center Sekusui Chemical Co. Ltd. 0050C209B Seffle Instrument AB 0050C209C RF Applications, Inc. 0050C209D ZELPOS 0050C209E Infinitec Networks, Inc. 0050C209F MetaWave Vedeo Systems 0050C20A0 CYNAPS 0050C20A1 Visable Genetics, Inc. 0050C20A2 Jäger Computergesteuerte Messtechnik GmbH 0050C20A3 BaSyTec GmbH 0050C20A4 Bounty Systems Pty Ltd. 0050C20A5 Mobiltex Data Ltd. 0050C20A6 Arula Systems, Inc. 0050C20A7 WaterCove Networks 0050C20A8 Kaveri Networks 0050C20A9 Radiant Networks Plc 0050C20AA Log-In, Inc. 0050C20AB Fastware.Net, LLC 0050C20AC Honeywell GNO 0050C20AD BMC Messsysteme GmbH 0050C20AE Zarak Systems Corp. 0050C20AF Latus Lightworks, Inc. 0050C20B0 LMI Technologies, Inc. 0050C20B1 Beeline Networks, Inc. 0050C20B2 R F Micro Devices 0050C20B3 SMX Corporation 0050C20B4 Wavefly Corporation 0050C20B5 Extreme Copper, Inc. 0050C20B6 ApSecure Technologies (Canada), Inc. 0050C20B7 RYMIC 0050C20B8 LAN Controls, Inc. 0050C20B9 Helmut Mauell GmbH 0050C20BA Pro-Active 0050C20BB MAZet GmbH 0050C20BC Infolink Software AG 0050C20BD Tattile 0050C20BE Stella Electronics & Tagging 0050C20BF PRIVATE 0050C20C0 Imigix Ltd. 0050C20C1 Casabyte 0050C20C2 Alchemy Semiconductor, Inc. 0050C20C3 Tonbu, Inc. 0050C20C4 InterEpoch Technology, Inc. 0050C20C5 SAIA Burgess Controls AG 0050C20C6 Advanced Medical Information Technologies, Inc. 0050C20C7 TransComm Technology System, Inc. 0050C20C8 The Trane Company 0050C20C9 DSS Networks, Inc. 0050C20CA J D Richards 0050C20CB STUDIEL 0050C20CC AlphaMedia Co., Ltd 0050C20CD LINET OY 0050C20CE RFL Electronics, Inc. 0050C20CF PCSC 0050C20D0 Telegrang AB 0050C20D1 Renaissance Networking, Inc. 0050C20D2 Real World Computing Partnership 0050C20D3 Lake Technology, Ltd. 0050C20D4 Palm, Inc. 0050C20D5 Zelax 0050C20D6 Inco Startec GmbH 0050C20D7 Summit Avionics, Inc. 0050C20D8 Charlotte's Web Networks 0050C20D9 Loewe Opta GmbH 0050C20DA Motion Analysis Corp. 0050C20DB Cyberex 0050C20DC Elbit Systems Ltd. 0050C20DD Interisa Electronica, S.A. 0050C20DE Frederick Engineering 0050C20DF Innovation Institute, Inc. 0050C20E0 EMAC, Inc. 0050C20E1 Inspiration Technology P/L 0050C20E2 Visual Circuits Corp. 0050C20E3 Lanex S.A. 0050C20E4 Collabo Tec. Co., Ltd. 0050C20E5 Clearwater Networks 0050C20E6 RouteFree, Inc. 0050C20E7 Century Geophysical Corp. 0050C20E8 Audio Design Associates, Inc. 0050C20E9 Smartmedia LLC 0050C20EA iReady Corporation 0050C20EB iREZ Technologies LLC 0050C20EC Keith & Koep GmbH 0050C20ED Valley Products Corporation 0050C20EE Industrial Indexing Systems, Inc. 0050C20EF Movaz Networks, Inc. 0050C20F0 VHB Technologies, Inc. 0050C20F1 Polyvision Corporation 0050C20F2 KMS Systems, Inc. 0050C20F3 Young Computer Co., Ltd. 0050C20F4 Sysnet Co., Ltd. 0050C20F5 Spectra Technologies Holding Co., Ltd. 0050C20F6 Carl Baasel Lasertechnik GmbH 0050C20F7 Foss NIRSystems, Inc. 0050C20F8 Tecnint HTE S.r.L. 0050C20F9 Raven Industries 0050C20FA GE Lubrizol, LLC 0050C20FB PIUSYS Co., Ltd. 0050C20FC Kimmon Manufacturing Co., Ltd. 0050C20FD Inducomp Corporation 0050C20FE Energy ICT 0050C20FF IPAXS Corporation 0050C2100 Corelatus A.B. 0050C2101 LAUD Electronic Design AS 0050C2102 Million Tech Development Ltd. 0050C2103 Green Hills Software, Inc. 0050C2104 Adescom Inc. 0050C2105 Lumentis AB 0050C2106 MATSUOKA 0050C2107 NewHer Systems 0050C2108 Balogh S.A. 0050C2109 ITK Dr. Kassen GmbH 0050C210A Quinx AG 0050C210B MarekMicro GmbH 0050C210C Photonic Bridges, Inc. 0050C210D Implementa GmbH 0050C210E Unipower AB 0050C210F Perceptics Corp. 0050C2110 QuesCom 0050C2111 Endusis Limited 0050C2112 Compuworx 0050C2113 Ace Electronics, Inc. 0050C2114 Quest Innovations 0050C2115 Vidco, Inc. 0050C2116 DSP Design, Ltd. 0050C2117 Wintegra Ltd. 0050C2118 Microbit 2.0 AB 0050C2119 Global Opto Communication Tech. Corp 0050C211A Teamaxess Ticketing GmbH 0050C211B Digital Vision AB 0050C211C Stonefly Networks 0050C211D Destiny Networks, Inc. 0050C211E Volvo Car Corporation 0050C211F CSS Industrie Computer GmbH 0050C2120 XStore, Inc. 0050C2121 COE Limited 0050C2122 Diva Systems 0050C2123 Seranoa Networks, Inc. 0050C2124 Tokai Soft Corporation 0050C2125 Tecwings GmBh 0050C2126 Marvell Hispana S.L. 0050C2127 TPA Traffic & Parking Automation BV 0050C2128 Pycon, Inc. 0050C2129 TTPCom Ltd. 0050C212A Symbolic Sound Corp. 0050C212B Dong A Eltek Co., Ltd. 0050C212C Delta Tau Data Systems, Inc. 0050C212D Megisto Systems, Inc. 0050C212E RUNCOM 0050C212F HAAG-STREIT AG 0050C2130 U.S. Traffic Corporation 0050C2131 InBus Engineering, Inc. 0050C2132 Procon Electronics 0050C2133 ChipWrights, Inc. 0050C2134 DRS Photronics 0050C2135 ELAD SRL 0050C2136 Tensilica, Inc. 0050C2137 Uniwell Systems (UK) Ltd. 0050C2138 Delphin Technology AG 0050C2139 SR Research Ltd. 0050C213A Tex Computer SRL 0050C213B Vaisala Oyj 0050C213C NBG Industrial Automation B.V. 0050C213D Formula One Management Ltd. 0050C213E AVerMedia Systems, Inc. 0050C213F Sentito Networks 0050C2140 ITS, Inc. 0050C2141 Time Terminal Adductor Group AB 0050C2142 Instrumeter A/S 0050C2143 AARTESYS AG 0050C2144 Phytec Messtechnik GmbH 0050C2145 ELC Lighting 0050C2146 APCON, Inc. 0050C2147 UniSUR 0050C2148 Alltec GmbH 0050C2149 Haag-Streit AG 0050C214A DYCEC, S.A. 0050C214B HECUBA Elektronik 0050C214C Optibase Ltd. 0050C214D wellink, Ltd. 0050C214E Corinex Global 0050C214F Telephonics Corp. 0050C2150 Torse 0050C2151 Redux Communications Ltd. 0050C2152 AirVast Technology Inc. 0050C2153 Advanced Devices SpA 0050C2154 Jostra AB 0050C2155 Enea Real Time AB 0050C2156 CommServ Solutions Inc. 0050C2157 nCore, Inc. 0050C2158 Communication Solutions, Inc. 0050C2159 Standard Comm. Corp. 0050C215A Plextek Limited 0050C215B Dune Networks 0050C215C Aoptix Technologies 0050C215D Cepheid 0050C215E Celite Systems, Inc. 0050C215F Pulsar GmbH 0050C2160 TTI - Telecom International Ltd. 0050C2161 J&B Engineering Group S.L. 0050C2162 Teseda Corporation 0050C2163 Computerwise, Inc. 0050C2164 Acunia N.V. 0050C2165 IPCAST 0050C2166 Infineer Ltd. 0050C2167 Precision Filters, Inc. 0050C2168 ExtremeSpeed Inc. 0050C2169 Nordson Corp. 0050C216A Time Domain 0050C216B Masterclock, Inc. 0050C216C Brijing Embedor Embedded Internet Tech. Co. Ltd. 0050C216D Postec Data Systems Ltd. 0050C216E PMC 0050C216F Dickson Technologies 0050C2170 Taishodo Seiko Co., Ltd. 0050C2171 Quantronix, Inc. 0050C2172 SAET I.S. S.r.l. 0050C2173 DeMeTec GmbH 0050C2174 N&P Technologies 0050C2175 Sei S.p.A. 0050C2176 Wavium AB 0050C2177 Unicoi Systems 0050C2178 Partner Voxstream A/S 0050C2179 Verifiber LLC 0050C217A WOLF Industrial Systems Inc. 0050C217B Broadstorm Telecom 0050C217C Jeffress Engineering Pty Ltd 0050C217D Cognex Corporation 0050C217E Binary Wave Technologies Inc. 0050C217F PDQ Manufacturing 0050C2180 Zultys Technologies 0050C2181 Task 84 Spa 0050C2182 wolf-inf-tec 0050C2183 Mixbaal S.A. de C.V. 0050C2184 H M Computing Limited 0050C2185 Optical Wireless Link Inc. 0050C2186 Pantec Engineering AG 0050C2187 Cyan Technology Ltd 0050C2188 dresden-elektronik 0050C2189 CC Systems AB 0050C218A Basler Electric 0050C218B Teradyne Inc. 0050C218C Technodrive srl 0050C218D CCII Systems (Pty) Ltd 0050C218E SPARR ELECTRONICS LTD 0050C218F MATSUI MFG CO.,LTD 0050C2190 Goerlitz AG 0050C2191 Partner Voxtream A/S 0050C2192 Advanced Concepts, Inc. 0050C2193 LaserBit Communications Corp. 0050C2194 COMINFO 0050C2195 Momentum Data Systems 0050C2196 Netsynt Spa 0050C2197 EPM Tecnologia e Equipamentos 0050C2198 PotsTek, Inc 0050C2199 Survalent Technology Corporation 0050C219A AZIO TECHNOLOGY CO. 0050C219B Wilcoxon Research, Inc. 0050C219C Artec Design 0050C219D ELECTREX S.R.L 0050C219E Paltronics, Inc. 0050C219F Fleetwood Electronics Ltd 0050C21A0 SCA Data Systems 0050C21A1 Portalplayer, Inc 0050C21A2 ABB Switzerland Inc 0050C21A3 Tidel Engineering, L.P. 0050C21A4 Protech Optronics Co. Ltd. 0050C21A5 NORCO 0050C21A6 RF Code 0050C21A7 Alpha Beta Technologies, Inc. 0050C21A8 ANOVA BROADBAND 0050C21A9 Axotec Technologies GmbH 0050C21AA BitBox Ltd 0050C21AB Streaming Networks 0050C21AC Beckmann+Egle GmbH 0050C21AD Remia s.r.o. 0050C21AE Home Director, Inc 0050C21AF PESA Switching Systems, Inc. 0050C21B0 BLANKOM Antennentechnik GmbH 0050C21B1 Axes Technologies 0050C21B2 SIGOS Systemintegration GmbH 0050C21B3 DSP DESIGN 0050C21B4 DSP Group Inc. 0050C21B5 Thrane & Thrane A/S 0050C21B6 DTS, Inc. 0050C21B7 MosChip USA 0050C21B8 Electronic Systems Development 0050C21B9 EmCom Technology Inc. 0050C21BA INTERZEAG AG 0050C21BB Email Metering 0050C21BC DINEC International 0050C21BD AIOI Systems Co., Ltd. 0050C21BE Sedia Electronics 0050C21BF International Test & Engineering Services Co.,Ltd. 0050C21C0 WillMonius Inc. 0050C21C1 InfinitiNetworks Inc. 0050C21C2 Weltronics Corp. 0050C21C3 TT electronic manufacturing services ltd 0050C21C4 Palm Solutions Group 0050C21C5 Flander Oy 0050C21C6 Remco Italia Spa 0050C21C7 TWIN DEVELOPMENT S.A. 0050C21C8 Euphony technology CO., LTD. 0050C21C9 modas GmbH 0050C21CA EVER Sp. z o.o. 0050C21CB quantumBEAM Limited 0050C21CC WaveIP ltd. 0050C21CD INCAA Informatica Italia srl 0050C21CE Datatek Applications, Inc. 0050C21CF LIFETIME MEMORY PRODUCTS, INC. 0050C21D0 Yazaki North America, Inc. 0050C21D1 Benchmark Electronics 0050C21D2 Shenyang Internet Technology Inc 0050C21D3 Synopsys 0050C21D4 Phase IV Engineering Inc. 0050C21D5 Redpoint Controls 0050C21D6 shanghai trend intelligent systems CO.,LTD 0050C21D7 Pleora Technologies Inc. 0050C21D8 Guardian Controls International 0050C21D9 EDC 0050C21DA GFI Chrono Time 0050C21DB Applied Systems Engineering, Inc. 0050C21DC Imarda New Zealand Limited 0050C21DD Peiker acustic GmbH & Co. KG 0050C21DE ReliOn Inc. 0050C21DF Lulea University of Technology 0050C21E0 Cognex Corporation 0050C21E1 Automaatiotekniikka Seppo Saari Oy 0050C21E2 DIGITRONIC Automationsanlagen GmbH 0050C21E3 Bluesocket, Inc. 0050C21E4 Soronti, Inc. 0050C21E5 DORLET S.A. 0050C21E6 United Tri-Tech Corporation 0050C21E7 Smith Meter, Inc. 0050C21E8 Metrotech 0050C21E9 Ranch Networks 0050C21EA DAVE S.r.L. 0050C21EB Data Respons A/S 0050C21EC COSMO co.,ltd. 0050C21ED EMKA-electronic AG 0050C21EE Perto Perif�ricos de Automa��o S.A. 0050C21EF M2 Technology Pty Ltd 0050C21F0 EXI Wireless Systems Inc. 0050C21F1 SKY Computers, Inc. 0050C21F2 Tattile srl 0050C21F3 Radionor Communications AS 0050C21F4 Covia, Inc 0050C21F5 Abest Communication Corp. 0050C21F6 BAE SYSTEMS Controls 0050C21F7 ARC'Cr�ations 0050C21F8 ULTRACKER TECHNOLOGY 0050C21F9 Fr. Sauter AG 0050C21FA SP Controls, Inc 0050C21FB Willowglen Systems Inc. 0050C21FC EDD Srl 0050C21FD SouthWing S.L. 0050C21FE Safetran Traffic Systems Inc. 0050C21FF Product Design Dept., Sohwa Corporation 0050C2200 Whittier Mailing Products, Inc. 0050C2201 OlympusNDT 0050C2202 Audio Riders Oy 0050C2203 PRIVATE 0050C2204 Algodue Elettronica srl 0050C2205 SystIng 0050C2206 Windmill Innovations 0050C2207 Solectron Ind.Com.Servs.Exportadora do Brasil Ltda. 0050C2208 nNovia, Inc. 0050C2209 LK Ltd 0050C220A Ferrari electronic AG 0050C220B Rafael 0050C220C Communication and Telemechanical Systems Company Limited 0050C220D Varisys Ltd 0050C220E PYRAMID Computer Systeme GmbH 0050C220F OMICRON electronics GmbH 0050C2210 Innovics Wireless Inc 0050C2211 Hochschule f�r Technik, Wirtschaft und Kultur Leipzig (FH) 0050C2212 4Links Limited 0050C2213 SysAware S.A.R.L. 0050C2214 Oshimi System Design Inc. 0050C2215 VoiceCom AG 0050C2216 Level Control Systems 0050C2217 Linn Products Ltd 0050C2218 Nansen S. A. - Instrumentos de Precis�o 0050C2219 Aeroflex GmbH 0050C221A MST SYSTEMS LIMITED 0050C221B General Dynamics Decision Systems 0050C221C Fracarro Radioindustrie SPA 0050C221D ESG Elektroniksystem u. Logistik GmbH 0050C221E Applied Technologies Associates 0050C221F Monitor Business Machines Ltd 0050C2220 Serveron Corporation 0050C2221 Getinge IT Solutions ApS 0050C2222 imo-elektronik GmbH 0050C2223 visicontrol GmbH 0050C2224 PANNOCOM Ltd. 0050C2225 Pigeon Point Systems 0050C2226 Ross Video Limited 0050C2227 Intelligent Photonics Control 0050C2228 Intelligent Media Technologies, Inc. 0050C2229 eko systems inc. 0050C222A Crescendo Networks 0050C222B Riegl Laser Measurement Systems GmbH 0050C222C Intrinsity 0050C222D asetek Inc. 0050C222E LORD INGEN IERIE 0050C222F HTEC Limited 0050C2230 AutoTOOLS group Co. Ltd. 0050C2231 Legra Systems, Inc. 0050C2232 SIMET 0050C2233 EdenTree Technologies, Inc. 0050C2234 Silverback Systems 0050C2235 POLIMAR ELEKTRONIK LTD. 0050C2236 JLCooper Electronics 0050C2237 Tandata Systems Ltd 0050C2238 Schwer+Kopka GmbH 0050C2239 Stins Coman 0050C223A Chantry Networks 0050C223B Envara 0050C223C Wheatstone Corporation 0050C223D Gauging Systems Inc 0050C223E Kallastra Inc. 0050C223F Halliburton - NUMAR 0050C2240 Geoquip Ltd 0050C2241 Contronics Automacao Ltda 0050C2242 MDS SCIEX 0050C2243 RGB Spectrum 0050C2244 intec GmbH 0050C2245 Hauppauge Computer Works, Inc. 0050C2246 Hardmeier 0050C2247 Gradual Tecnologia Ltda. 0050C2248 Dixtal Biomedica Ind. Com. Ltda. 0050C2249 Dipl.-Ing. W. Bender GmbH & Co. KG 0050C224A CDS Rail 0050C224B Azimuth Systems, Inc. 0050C224C Supertel 0050C224D METTLER-TOLEDO HI-SPEED 0050C224E Scharff Weisberg Systems Integration Inc 0050C224F Macronet s.r.l. 0050C2250 ACD Elektronik GmbH 0050C2251 DGT Sp. z o.o. 0050C2252 ads-tec GmbH 0050C2253 DSM-Messtechnik GmbH 0050C2254 Thales Communications Ltd 0050C2255 STMicroelectronics (R&D) Ltd 0050C2256 Information Technology Corp. 0050C2257 Digicast Networks 0050C2258 Spacesaver Corporation 0050C2259 Omicron Ceti AB 0050C225A Zendex Corporation 0050C225B Winford Engineering 0050C225C Softhill Technologies Ltd. 0050C225D RDTECH 0050C225E MITE Hradec Kralove, s.r.o. 0050C225F Handtmann Maschinenfabrik GmbH&Co.KG 0050C2260 BIOTAGE 0050C2261 Tattile Srl 0050C2262 Shanghai Gaozhi Science&Technology Development Ltd. 0050C2263 Vansco Electronics Oy 0050C2264 Confidence Direct Ltd 0050C2265 BELIK S.P.R.L. 0050C2266 ATOM GIKEN Co.,Ltd. 0050C2267 Allen Martin Conservation Ltd 0050C2268 Parabit Systems 0050C2269 Technisyst Pty Ltd 0050C226A FG SYNERYS 0050C226B Continental Gateway Limited 0050C226C Crystal Vision Ltd 0050C226D DSP DESIGN 0050C226E ZP Engineering srl 0050C226F Digital Recorders Inc 0050C2270 S4 Technology Pty Ltd 0050C2271 VLSIP TECHNOLOGIES INC. 0050C2272 Verex Technology 0050C2273 Servicios Condumex, S. A. de C. V. 0050C2274 FUNDACI�N ROBOTIKER 0050C2275 Extreme Engineering Solutions 0050C2276 Tieline Research Pty Ltd 0050C2277 T/R Systems, Inc. 0050C2278 Replicom Ltd. 0050C2279 PATLITE Corporation 0050C227A Maestro Pty Ltd 0050C227B LinkSecurity A/S 0050C227C Danlaw Inc 0050C227D ALLIED TELESIS K.K. 0050C227E AnaLogic Computers Ltd. 0050C227F Air Broadband Communications, Inc. 0050C2280 AGECODAGIS SARL 0050C2281 CabTronix GmbH 0050C2282 Telvent 0050C2283 ANSITEX CORP. 0050C2284 Micronet Ltd. 0050C2285 Littwin GmbH & Co KG 0050C2286 ATEME 0050C2287 TECNEW Electronics Engineering Cr., Ltd. 0050C2288 RPM Systems Corporation 0050C2289 Rototype S.p.A. 0050C228A Real Time Systems 0050C228B Orion Technologies, Incorporated 0050C228C Futaba Corporation 0050C228D AXODE SA 0050C228E TATTILE SRL 0050C228F Spellman High Voltage Electronics Corp 0050C2290 EBNEURO SPA 0050C2291 CHAUVIN ARNOUX 0050C2292 AMIRIX Systems 0050C2293 IP Unity 0050C2294 EPSa GmbH 0050C2295 LOGOSOL, INC. 0050C2296 OpVista 0050C2297 KINETICS 0050C2298 Harvad University 0050C2299 CAD-UL GmbH 0050C229A Packet Techniques Inc. 0050C229B ACD Elektronik GmbH 0050C229C 2N TELEKOMUNIKACE a.s. 0050C229D Globe Wireless 0050C229E SELEX Communications Ltd 0050C229F Baudisch Electronic GmbH 0050C22A0 Sterling Industry Consult GmbH 0050C22A1 Infinetix Corp 0050C22A2 Epelsa, SL 0050C22A3 West-Com Nurse Call Systems, Inc. 0050C22A4 Xipher Embedded Networking 0050C22A5 Septier Communication Ltd 0050C22A6 Brannstroms Elektronik AB 0050C22A7 Micro System Architecturing srl 0050C22A8 DVTel Israel Ltd. 0050C22A9 Dr. Staiger, Mohilo + Co GmbH 0050C22AA DEUTA Werke GmbH 0050C22AB AUM Infotech Private Limited 0050C22AC BBI Engineering, Inc. 0050C22AD ABB T&D Spa 0050C22AE Quest Retail Technology Pty Ltd 0050C22AF CSA Computer & Antriebstechnik GmbH 0050C22B0 Telda Electronics 0050C22B1 PRIVATE 0050C22B2 Smiths Detection 0050C22B3 Embedded Systems Design 0050C22B4 Polatis Ltd 0050C22B5 Hobbes Computer Network Accessories 0050C22B6 Softier Inc. 0050C22B7 Rafi GmbH & Co. KG 0050C22B8 Admiral Secure Products, Ltd. 0050C22B9 Richmond Sound Design Ltd. 0050C22BA NORCO INDUSTRIAL TECHNOLOGY INC 0050C22BB TA Instruments Ltd 0050C22BC Uster Technologies AG 0050C22BD StorLink Semi 0050C22BE Lipowsky Industrie-Elektronik GmbH 0050C22BF PERAX 0050C22C0 Magellan Technology Pty Ltd 0050C22C1 Stage Tec Entwicklungsgesellschaft fuer professionelle Audio 0050C22C2 smarteye corporation 0050C22C3 Digital SP Ltd 0050C22C4 Invensys Energy Systens (NZ) Limited 0050C22C5 Elman srl 0050C22C6 Initial Electronic Security Systems 0050C22C7 Siliquent Technologies Ltd 0050C22C8 SELCO 0050C22C9 Roseman Engineering Ltd. 0050C22CA PUTERCOM CO., LTD 0050C22CB FACTS Engineering LLC 0050C22CC EMBEDDED TOOLSMITHS 0050C22CD DataWind Research 0050C22CE TALIA SOUND & VISION PTY LTD 0050C22CF Dise�o de Sistemas en Silicio S.A. 0050C22D0 Worth Data, Inc. 0050C22D1 Miritek, Inc. 0050C22D2 AIRNET COMMUNICATIONS CORP 0050C22D3 Gerber Scientific Products, Inc. 0050C22D4 Integrated System Solution Corp. 0050C22D5 PIXY AG 0050C22D6 WIS Technologies 0050C22D7 Neo Electronics Ltd 0050C22D8 SYN-TECH SYSTEMS INC 0050C22D9 PRIVATE 0050C22DA PYRAMID Computer GmbH 0050C22DB AutoTOOLS group Co. Ltd. 0050C22DC Wiener, Plein & Baus GmbH 0050C22DD Westek Technology Ltd 0050C22DE Research Applications 0050C22DF MICREL-NKE 0050C22E0 Baxter Healthcare 0050C22E1 Access IS 0050C22E2 Ballard Technology, Inc. 0050C22E3 MG Industrieelektronik GmbH 0050C22E4 iamba LTD. 0050C22E5 Transtech DSP 0050C22E6 DALSA 0050C22E7 SafeView, Inc. 0050C22E8 S.M.V. Systemelektronik GmbH 0050C22E9 SRI International 0050C22EA QUBIsoft S.r.l. 0050C22EB Lingg & Janke OHG 0050C22EC CHENGDU BOOK DIGITAL CO., LTD 0050C22ED 4RF Communications Ltd 0050C22EE SHF Communication Technologies AG 0050C22EF Profline B.V. 0050C22F0 LECO Corporation 0050C22F1 Geometrics, Inc. 0050C22F2 Eurotek Srl 0050C22F3 Crossbow Technology, Inc. 0050C22F4 Efficient Channel Coding 0050C22F5 ADChips 0050C22F6 Clifford Chance LLP 0050C22F7 GILLAM-FEI S.A. 0050C22F8 SavvyCorp.com Ltd 0050C22F9 Digilent Inc. 0050C22FA Tornado Modular Systems, Ltd 0050C22FB Arthur Industries Inc., dba On Hold Media Group 0050C22FC Blackline Systems Corporation 0050C22FD American Microsystems LTD 0050C22FE Saab AB 0050C22FF Patria Advanced Solutions 0050C2300 Soredex Instrumentarium Oyj 0050C2301 Delphi Display Systems, Inc. 0050C2302 EuroDesign embedded technologies GmbH 0050C2303 CI Systems Ltd. 0050C2304 COMERSON S.r.l. 0050C2305 Symbium Corporation 0050C2306 Noran Tel Communications Ltd. 0050C2307 UNIONDIGITAL.,CO.LTD 0050C2308 FiveCo Sarl 0050C2309 Rackmaster Systems, Inc. 0050C230A Innings Telecom Inc. 0050C230B VX Technologies Inc. 0050C230C TEAMLOG 0050C230D SETARAM 0050C230E Obvius 0050C230F Digicontrole Lda 0050C2310 CYBERTRON CO., LTD. 0050C2311 Comodo 0050C2312 Dese Technologies SL 0050C2313 SAIA Burgess Controls AG 0050C2314 MicroBee Systems, Inc 0050C2315 ifak system GmbH 0050C2316 Dataline AB 0050C2317 Cosine Systems, Inc. 0050C2318 Milmega Ltd 0050C2319 Invatron Systems Corp. 0050C231A IN-SNEC ZODIAC 0050C231B Datacon 0050C231C Casa Systems Inc. 0050C231D Imarda New Zealand Limited 0050C231E C3-ilex, LLC 0050C231F Geotech Instruments, LLC 0050C2320 DTASENSOR S.p.A. 0050C2321 UXP 0050C2322 BQT Solutions (Australia) Limited 0050C2323 Red Rock Networks 0050C2324 ODIXION 0050C2325 Federal Aviation Administration 0050C2326 Navionics S.p.A. 0050C2327 Dornier GmbH 0050C2328 I.C.S. Electronics Limited 0050C2329 Imax 0050C232A PHYTEC Me�technik GmbH 0050C232B Digital Multimedia Technologies Spa 0050C232C Integrated Silicon Solution (Taiwan), Inc. 0050C232D Consens Zeiterfassung GMBH 0050C232E MANUSA-GEST, S.L. 0050C232F PULTRONICS 0050C2330 Sicon S.r.l. 0050C2331 Broadcast Sports Inc 0050C2332 PUNJAB COMMUNICATIONS LTD 0050C2333 Radix Corporation 0050C2334 Picture Elements, Inc. 0050C2335 Nimcat Networks 0050C2336 Golden River Traffic 0050C2337 ETI 0050C2338 Ernitec A/S 0050C2339 CEGELEC SUD EST 0050C233A United Telecoms Ltd 0050C233B MultimediaLED 0050C233C SkipJam 0050C233D General Dynamics Decision Systems 0050C233E CA Technology, Inc 0050C233F EXYS bvba 0050C2340 Virtu 0050C2341 Novx Systems Canada Inc. 0050C2342 St. Michael Strategies 0050C2343 ABB Xiamen Switchgear Co. Ltd. 0050C2344 ads-tec GmbH 0050C2345 ACT 0050C2346 biokeysystem 0050C2347 Row Seven Ltd 0050C2348 KoolSpan, Inc. 0050C2349 SSI Schaefer Peem 0050C234A NIE Corporation 0050C234B Ecutel Systems, Inc. 0050C234C Chuo Electric Works Co., LTD. 0050C234D BMK professional electronics GmbH 0050C234E ABB Power Technologies S.p.A. Unit� Operativa SACE (PTMV) 0050C234F North Pole Engineering, Inc. 0050C2350 Kinesys Projects Limited 0050C2351 Finesystem Co., Ltd 0050C2352 edixia 0050C2353 Crossing Informationssysteme GmbH 0050C2354 Advanced IP Communications 0050C2355 IHM 0050C2356 Baytech Cinema 0050C2357 Athena Semiconductor 0050C2358 ALCEA 0050C2359 Kramer Electronics Ltd. 0050C235A Advanced Si-Net Co., LTD. 0050C235B VLSIP TECHNOLOGIES, INC 0050C235C Ratotec GmbH 0050C235D NetTest A/S 0050C235E Jobin Yvon,Inc 0050C235F F.Imm. S.r.L. 0050C2360 Digital Receiver Technology, Inc. 0050C2361 Contec 0050C2362 AZD Praha s.r.o. 0050C2363 Septentrio nv/sa 0050C2364 TATTILE SRL 0050C2365 Vishay Nobel AB 0050C2366 Vanguard Technology Corp. 0050C2367 CANMAX Technology Ltd. 0050C2368 ASPEL S.A. 0050C2369 Always On Wireless 0050C236A Optronic Partner pr AB 0050C236B Minerva Technology Inc 0050C236C RISCO Group 0050C236D Oplink Communications 0050C236E Minicom Advanced Systems Ltd 0050C236F SOFTHARD Technology Ltd 0050C2370 Europe Technologies 0050C2371 DIGITAL ART SYSTEM 0050C2372 ELV Elektronik AG 0050C2373 Companion Worlds, inc. 0050C2374 Owasys Advanced Wireless Devices 0050C2375 TIR Systems Ltd. 0050C2376 CLEODE 0050C2377 Xycom VME 0050C2378 Daintree Networks Inc 0050C2379 Control LAN S.A. 0050C237A IDA Corporation 0050C237B freescale semiconductor 0050C237C MODIA SYSTEMS Co., Ltd 0050C237D VeroTrak Inc. 0050C237E Ni.Co. S.r.l. 0050C237F Foresearch 0050C2380 EKE-Electronics Ltd. 0050C2381 Realtime Engineering AG 0050C2382 Colorado vNet 0050C2383 ICS Electronics 0050C2384 Wireless Reading Systems Holding ASA 0050C2385 SUNGJIN NEOTECH Co.Ltd. 0050C2386 Precision System Science Co.,Ltd 0050C2387 Inoteska s.r.o. 0050C2388 IEE Inc 0050C2389 Exavio Inc. 0050C238A Embedtronics Enterprise 0050C238B InterBridge,Inc. 0050C238C EPSILON SRL 0050C238D A&G Soluzioni Digitali 0050C238E Nordic Alarm AB 0050C238F TTC Telecom 0050C2390 TC Communications 0050C2391 Esensors, Inc. 0050C2392 PHYTEC Messtechnik GmbH 0050C2393 SYS TEC electronic GmbH 0050C2394 Embedit A/S 0050C2395 vidisys gmbh 0050C2396 RapidWave Inc. 0050C2397 MANGO DSP Ltd. 0050C2398 InHand Electronics, Inc. 0050C2399 Advanced Micro Controls Inc. 0050C239A Optical Air Data Systems 0050C239B YUYAMA MFG. CO., LTD. 0050C239C TIYODA MFG CO.,LTD. 0050C239D DigitalDeck, Inc. 0050C239E A.R.G ElectroDesign Ltd 0050C239F Isensix 0050C23A0 StreetFire Sound Labs, LLC 0050C23A1 Samsoft 0050C23A2 Vegas Amusement 0050C23A3 Star Link Communication Pvt. Ltd. 0050C23A4 Silvertree Engineering Ltd 0050C23A5 LabJack Corporation 0050C23A6 IntelliDesign Pty Ltd 0050C23A7 Elektrotechnik & Elektronik Oltmann GmbH 0050C23A8 Engim, Inc. 0050C23A9 Westronic Systems Inc. 0050C23AA Networked Robotics Corporation 0050C23AB taskit Rechnertechnik GmbH 0050C23AC InAccess Networks 0050C23AD Spirent Communications (Scotland) Limited 0050C23AE Hankuk Tapi Computer Co., Ltd 0050C23AF Norbit AS 0050C23B0 Microtarget Tecnologia Digital Ltda. 0050C23B1 RDC Specstroy-Svyaz Ltd 0050C23B2 Tennessee Valley Authority 0050C23B3 Media Lab., Inc. 0050C23B4 Contr�le Analytique inc. 0050C23B5 NEC TOKIN Corporation 0050C23B6 Arecont Vision, LLC 0050C23B7 Mindspeed Technologies 0050C23B8 Keith & Koep GmbH 0050C23B9 Gilbarco Autotank AB 0050C23BA PHYTEC Messtechnik GmbH 0050C23BB IMAGO Technologies GmbH 0050C23BC Tyzx, Inc. 0050C23BD Bigbang L.T.D. 0050C23BE Pauly Steuer- und Regelanlagen GmbH & Co. KG 0050C23BF Audio Processing Technology Ltd 0050C23C0 EDA Industries Srl 0050C23C1 MicroTek Electronics, Inc. 0050C23C2 Casabyte Inc. 0050C23C3 4g Technologies, L.P. 0050C23C4 Sypris Electronics 0050C23C5 Silicon Optix Canada Inc. 0050C23C6 Net Optics 0050C23C7 Salent Technologies Ltd 0050C23C8 Wheels of Zeus Inc. 0050C23C9 Dilax Intelcom AG 0050C23CA ABB Inc. 0050C23CB Analytica GmbH 0050C23CC LINKWELL TELESYSTEMS PRIVATE LIMITED 0050C23CD Vishay Micro-Measurements 0050C23CE Ward Leonard Electric Company 0050C23CF Technovare Systems, Inc. 0050C23D0 Micro-Robotics Limited 0050C23D1 Braintronics BV 0050C23D2 Adilec Enginyeria SL 0050C23D3 American LED-gible Inc. 0050C23D4 Wisnu and Supak Co.Ltd. 0050C23D5 Fluke Biomedical, Radiation Management Services 0050C23D6 Comlab Inc. 0050C23D7 TTC TELEKOMUNIKACE Ltd 0050C23D8 Key Systems , Inc. 0050C23D9 Bavaria Digital Technik GmbH 0050C23DA M5 Data Limited 0050C23DB Osmetech Inc. 0050C23DC 3D perception 0050C23DD ELMIC GmbH 0050C23DE ABB Power Technologies 0050C23DF BiODE Inc. 0050C23E0 Oy Stinghorn Ltd 0050C23E1 NeuLion Incorporated 0050C23E2 SysNova 0050C23E3 CSIRO - Division of Exploration and Mining 0050C23E4 CUE, a.s. 0050C23E5 Vacon Plc 0050C23E6 CRDE 0050C23E7 Revolution Education Ltd 0050C23E8 Conformative Systems, Inc. 0050C23E9 MedAvant Healthcare 0050C23EA Alro Information Systems SA 0050C23EB ISS International 0050C23EC Teneros 0050C23ED The Board Room Inc. 0050C23EE Commoca, Inc 0050C23EF PAT Industries, DBA Pacific Advanced Technology 0050C23F0 megatec electronic GmbH 0050C23F1 Salland Electronics Holding BV 0050C23F2 STL GmbH 0050C23F3 Hytec Geraetebau GmbH 0050C23F4 MC TECHNOLOGY GmbH 0050C23F5 Phaedrus Limited 0050C23F6 dAFTdATA Limited 0050C23F7 Advantage R&D 0050C23F8 Superna Ltd 0050C23F9 Sintium Ltd 0050C23FA Tumsan 0050C23FB Pigeon Point Systems 0050C23FC Weinberger Deutschland GmbH 0050C23FD HARTMANN software GbR 0050C23FE HaiVision Systems Incorporated 0050C23FF Cast Iron Systems 0050C2400 SmartMotor AS 0050C2401 Promess Incorporated 0050C2402 Numeron Sp. z o.o. 0050C2403 TOPEX S.A. 0050C2404 NanShanBridge Co.Ltd 0050C2405 Guralp Systems Limited 0050C2406 CoreStreet, Ltd 0050C2407 AIE Etudes 0050C2408 TERN, Inc. 0050C2409 KTEC LTD 0050C240A Contec Steuerungstechnik & Automation GmbH 0050C240B Center VOSPI JSC 0050C240C Applied Materials UK Ltd 0050C240D Afonics Fibreoptics Ltd 0050C240E ads-tec GmbH 0050C240F BIR,INC. 0050C2410 Grossenbacher Systeme AG 0050C2411 Multimessage Systems Ltd. 0050C2412 TSB Solutions Inc. 0050C2413 Goodrich 0050C2414 Talleres de Escoriaza SA 0050C2415 SensoTech GmbH 0050C2416 SELCO s.r.l. 0050C2417 QT systems ab 0050C2418 Planea Oy 0050C2419 Mecsel Oy 0050C241A Bluewater Systems Ltd 0050C241B LogiM GmbH Software und Entwicklung 0050C241C Infrasafe, Inc. 0050C241D Altronic, Inc. 0050C241E Videotek Sistemas Eletronicos Ltda. 0050C241F Avionica, Inc 0050C2420 Boundless Technologies 0050C2421 EFSYS 0050C2422 Gekeler Martina 0050C2423 Power-One Inc. 0050C2424 Metrolab Instruments SA 0050C2425 Pinnacle Technology 0050C2426 STOM System 0050C2427 Scheidt & Bachmann GmbH 0050C2428 Roxar A/S 0050C2429 Matthews Australasia 0050C242A DSP DESIGN 0050C242B VLSIP TECHNOLOGIES, INC. 0050C242C Trapeze ITS U.S.A., LLC 0050C242D Argo-Tech 0050C242E Oelmann Elektronik GmbH 0050C242F Win4NET 0050C2430 Arcom Digital 0050C2431 Octatron, Inc. 0050C2432 Topway Industries Ltd. 0050C2433 Idetech Europe S.A. 0050C2434 ImperativeNetworks 0050C2435 ADATEL TELECOMUNICACIONES S.A. 0050C2436 Satellite Services BV 0050C2437 PowerWAN, Inc 0050C2438 Telecom Protection Technologies Limited 0050C2439 Peleton Photonic Systems 0050C243A ProDesign GmbH 0050C243B A3IP 0050C243C LaBarge 0050C243D Ann Arbor Sensor Systems LLC 0050C243E Coppercom 0050C243F ARVOO Imaging Products BV 0050C2440 Advanced Modular Computers Ltd. 0050C2441 Sammi Information Systems Co.,Ltd 0050C2442 Pico Computing, Inc. 0050C2443 Pickering Laboratories 0050C2444 Offshore Systems Ltd 0050C2445 MICRONIC s.r.o. 0050C2446 Micro Technic A-S 0050C2447 Grupo Epelsa S.L. 0050C2448 Comtech Systems Inc. 0050C2449 BLEILE DATENTECHNIK GmbH 0050C244A ELETTRONICA SANTERNO SPA 0050C244B Solace Systems, Inc. 0050C244C Computime Systems UK Ltd. 0050C244D Electro-Matic Products, Inc. 0050C244E QQ Technology,Inc 0050C244F kippdata GmbH 0050C2450 Enconair Ecological Chambers Inc. 0050C2451 HAMEG GmbH 0050C2452 SCAME SISTEMI s.r.l. 0050C2453 Erhardt + Leimer GmbH 0050C2454 Brivo Systems, LLC 0050C2455 AirCell, Inc. 0050C2456 DRDC Valcartier 0050C2457 Danbridge 0050C2458 HRZ data GmbH 0050C2459 PHYTEC Messtechnik GmbH 0050C245A Funkwerk plettac electronic GmbH 0050C245B Matra Electronique 0050C245C Deister Electronic GmbH 0050C245D Digital Engineering, Inc. 0050C245E Halliburton - Sperry Drilling Service 0050C245F T2C Marketing AB 0050C2460 Vitelnet 0050C2461 TATTILE SRL 0050C2462 CT Company 0050C2463 Codem Systems, Inc. 0050C2464 XYTAC system technologies 0050C2465 PDTS GmbH 0050C2466 LoNAP Limited 0050C2467 United Western Technologies 0050C2468 Network I/O 0050C2469 BiPOM Electronics, Inc. 0050C246A ISE GmbH 0050C246B EASYTECH GmbH 0050C246C CAMCO GmbH 0050C246D Paul Scherrer Institut (PSI) 0050C246E Avenir Technologies Inc. 0050C246F Neuroware 0050C2470 Cybectec inc. 0050C2471 Pixtree Technologies, inc. 0050C2472 KOP Ltd 0050C2473 Sensus Metering Systems Israel 0050C2474 Venue 1, Inc. 0050C2475 ISEPOS GmbH 0050C2476 Ascon S.p.a. 0050C2477 SEV Tidsystem AB 0050C2478 Metafix Inc. 0050C2479 Unlimited Bandwidth LLC 0050C247A Efficient Channel Coding 0050C247B Pitney Bowes, Inc 0050C247C AUCONET GmbH 0050C247D WIT Inc 0050C247E Energie Umwelt Systemtechnik GmbH 0050C247F BRIT Inc. 0050C2480 SELKOM GmbH 0050C2481 Computer Sciences Corp 0050C2482 PRIAMUS SYSTEM TECHNOLOGIES AG 0050C2483 SES 0050C2484 Kooltech LLC 0050C2485 PHYTEC Messtechnik GmbH 0050C2486 Safegate International AB 0050C2487 Eridon Corporation 0050C2488 DA SISTEMI SPA 0050C2489 EREE Electronique 0050C248A Mobile Matrix, Inc. 0050C248B ADS-TEC GmbH 0050C248C UNITON AG 0050C248D Metron Sp. z o.o. 0050C248E Teledyne Tekmar 0050C248F DENGYOSHA co.,LTD. 0050C2490 Cloanto Corporation 0050C2491 Fr. Sauter AG 0050C2492 TRAFSYS AS 0050C2493 Artis GmbH 0050C2494 Ultimate Technology, Inc. 0050C2495 VAZA Elektronik AB 0050C2496 Acutelogic Corporation 0050C2497 Advanced Driver Information Technology GmbH 0050C2498 Quartet Technology, Inc. 0050C2499 Trellia Networks 0050C249A TelASIC Communications, Inc. 0050C249B vg controls, inc 0050C249C Envisacor Technologies Inc. 0050C249D Critical Link 0050C249E Armorlink CO .Ltd 0050C249F GCS, Inc 0050C24A0 Advanced technologies & Engineering (pty) Ltd 0050C24A1 Pigeon Point Systems 0050C24A2 SPECS GmbH 0050C24A3 Protium Technologies, Inc. 0050C24A4 IEEE P1609 WG 0050C24A5 Teledyne Monitor Labs 0050C24A6 BUYANG ELECTRONICS INDUSTRIAL CO., LTD. 0050C24A7 iseg Spezialelektronik GmbH 0050C24A8 CYJAYA Korea 0050C24A9 Faber Electronics BV 0050C24AA HEINEN ELEKTRONIK GmbH 0050C24AB JVF Communications Ltd 0050C24AC Doramu Co.,Ltd. 0050C24AD OpenPeak, Inc. 0050C24AE ads-tec GmbH 0050C24AF Orbis Oy 0050C24B0 Esmart Distribution Pte Ltd 0050C24B1 Nsfocus Information Technology Co.,Ltd 0050C24B2 TESLA, a.s. 0050C24B3 ANSA Corporation 0050C24B4 Matrix Audio Designs 0050C24B5 Valley Tecnologia 0050C24B6 General Resources Co., LTD. 0050C24B7 GFI Chrono Time 0050C24B8 Shenzhen Hongdian Technologies.,Ltd 0050C24B9 Rose Technologies 0050C24BA Mistletoe Technologies 0050C24BB Protonic Holland 0050C24BC Saia Burgess Controls AG 0050C24BD Argon ST 0050C24BE Digital Dynamics, Inc. 0050C24BF Westinghouse Rail Systems Ltd 0050C24C0 Bio-logic Systems Corp 0050C24C1 Movaz Networks, Inc. 0050C24C2 Elbit Systems 0050C24C3 Quantum3D, Inc. 0050C24C4 Black Diamond Video, Inc. 0050C24C5 eXray Broadband Inc. 0050C24C6 Rubin Ltd. 0050C24C7 Transbit Sp.z o.o. 0050C24C8 Neets 0050C24C9 Scirocco AB 0050C24CA Yarg Biometrics Limited 0050C24CB Verint Systems Ltd 0050C24CC ImpediMed Limited 0050C24CD Adasoft AG 0050C24CE Open Date Equipment Limited 0050C24CF Ziehl-Abegg AG 0050C24D0 Radford Control Systems 0050C24D1 SLICAN sp. z o.o. 0050C24D2 Twoway CATV SERVICE INC. 0050C24D3 SOFTIN sp. z o.o. 0050C24D4 Herholdt Controls srl 0050C24D5 SEBA Design Pty Ltd 0050C24D6 Ingenieurb�ro Schober 0050C24D7 Delta Tau Data Systems, Inc. 0050C24D8 Avantry Ltd. 0050C24D9 GE Security Kampro 0050C24DA MEDIORNET GmbH 0050C24DB Alfing Montagetechnik GmbH 0050C24DC Ace Electronics Inc. 0050C24DD Truteq Wireless (PTY) Ltd. 0050C24DE General Dynamics C4 Systems 0050C24DF Thermo Electron 0050C24E0 Telematrix 0050C24E1 SS Telecoms CC 0050C24E2 Applied Research Laboratories: UT 0050C24E3 Romteck Pty Ltd 0050C24E4 Embigence GmbH 0050C24E5 Sedo Systems Ltd 0050C24E6 Photonic Bridges Inc. 0050C24E7 Computerized Elevator Contol 0050C24E8 SATEL sp. z o.o. 0050C24E9 Seachange international 0050C24EA PMC 0050C24EB Mandozzi Elettronica SA 0050C24EC Thales Defence Deutschland GmbH 0050C24ED Lab X Technologies, LLC 0050C24EE Beijing Corelogic Communication Co., Ltd. 0050C24EF Creative Retail Entertainment 0050C24F0 MedAvant Healthcare 0050C24F1 Packet Island Inc. 0050C24F2 Tantronic AG 0050C24F3 Autronica Fire & Security 0050C24F4 O2RUN 0050C24F5 Monroe Electronics, Inc. 0050C24F6 REAL D 0050C24F7 WaveIP Ltd. 0050C24F8 Prodco International Inc. 0050C24F9 RTDS Technologies Inc. 0050C24FA Cambridge Technology, Inc. 0050C24FB BES Technology Group 0050C24FC Hwayoung RF Solution Inc 0050C24FD Network Automation mxc AB 0050C24FE GEM ELETTRONICA Srl 0050C24FF Dakty GmbH 0050C2500 Orenco Systems, Inc. 0050C2501 IBEX 0050C2502 Criterion Systems Limited 0050C2503 RESPIRONICS INC. 0050C2504 Aphex Systems Ltd. 0050C2505 Computerwise, Inc. 0050C2506 7+ Kft 0050C2507 Micro Connect Pty Ltd 0050C2508 PUTERCOM ENTERPRISE CO., LTD. 0050C2509 Hillcrest Laboratories, Inc. 0050C250A Monitor Business Machines Ltd 0050C250B Logic Beach Inc 0050C250C AIRWISE TECHNOLOGY CO., LTD. 0050C250D Clearsonics Pty. Ltd. 0050C250E Fibresavers Corporation 0050C250F Polystar Instruments AB 0050C2510 Summit Developmen 0050C2511 Tecna Srl 0050C2512 Linear Acoustic, Inc 0050C2513 Genie Network Resource Management Inc. 0050C2514 Tadian Electronics Systems LTD 0050C2515 Monaghan Engineering, Inc. 0050C2516 SOWA ELECTRIC CO., LTD. 0050C2517 Solid State Logic 0050C2518 Christ Elektronik GmbH 0050C2519 DBM, LLC 0050C251A SpeasTech, Inc. 0050C251B Beta Lasermike Ltd 0050C251C TOA Systems 0050C251D VELUX 0050C251E Alcon Technologies 0050C251F Traquair Data Systems, Inc. 0050C2520 McCain Traffic Supply 0050C2521 ARIS TECHNOLOGIES 0050C2522 Mark IV IDS Corp. 0050C2523 AMRDEC Prototype Integration Facility 0050C2524 Motec Pty Ltd 0050C2525 VASTech 0050C2526 AC SYSTEMS, s.r.o. 0050C2527 IRTrans 0050C2528 tattile srl 0050C2529 Phytec Messtechnik GmbH 0050C252A OMNITRONICS PTY LTD 0050C252B Sicon s.r.l. 0050C252C VITEC MULTIMEDIA 0050C252D Smartcom-Bulgaria AD 0050C252E DSP DESIGN 0050C252F Gesellschaft f�r Rationalisierung und Rechentechnik mbH 0050C2530 Innovation, Institute, Inc 0050C2531 Orion Technologies, Inc. 0050C2532 NVE Corporation 0050C2533 NanShanBridge Co.Ltd 0050C2534 Hyundai J. Comm 0050C2535 MMS Servis s.r.o. 0050C2536 C2 DIAGNOSTICS 0050C2537 DST CONTROL AB 0050C2538 EtherTek Circuits 0050C2539 Detection Technology Inc. 0050C253A Image Control Design Limited 0050C253B Teleks Co. Ltd. 0050C253C Marposs SPA 0050C253D Digital communications Technologies 0050C253E Honeywell GNO 0050C253F Ellips B.V. 0050C2540 Mesure Controle Commande 0050C2541 WAVES SYSTEM 0050C2542 AVerMedia Technologies, Inc. 0050C2543 DIGI SESN AG 0050C2544 Zetera 0050C2545 SecuInfo Co., Ltd. 0050C2546 Universidad de Chile Facultad de Medicina 0050C2547 BLANKOM Antennentechnik GmbH 0050C2548 I.T.W. Betaprint 0050C2549 Netsynt S.p.A. 0050C254A IPTC Tech. Comm. AB 0050C254B Innopsys 0050C254C Sintecnos srl 0050C254D Silent System 0050C254E Convergent Design 0050C254F Valtronic SA 0050C2550 LJU Automatisierungstechnik GmbH 0050C2551 Innovative Neurotroncs 0050C2552 Elfiq Inc. 0050C2553 ATH system 0050C2554 Weinzierl Engineering GmbH 0050C2555 Control Alternative Solutions, Inc. 0050C2556 Freiburger BlickZentrum 0050C2557 TOYO RADIO SYSTEMS CO., LTD. 0050C2558 Bedo Elektronik GmbH 0050C2559 Fail Safe Solutions LLC 0050C255A Valde Systems, Inc. 0050C255B MATRIX TELECOM PVT. LTD. 0050C255C ads-tec GmbH 0050C255D ACD Elektronik GmbH 0050C255E HANZAS ELEKTRONIKA, SIA 0050C255F Broad Reach Engineering 0050C2560 Procon Electronics 0050C2561 Seitec Elektronik GmbH 0050C2562 C21 Technology Limited 0050C2563 ORTRAT, S.L. 0050C2564 Last Mile Gear 0050C2565 WORKPOWER TECNOLOGIA ELETRONICA LTDA-EPP 0050C2566 ubinetsys.co..ltd 0050C2567 Tess GmbH 0050C2568 GeoFocus, LLC 0050C2569 Twinwin Technplogy Co.,Ltd. 0050C256A GRUPO EPELSA S. L. 0050C256B Dataton Utvecklings AB 0050C256C Targeted Technologies, LLC 0050C256D Computrol Fuel Systems Inc. 0050C256E LAB-EL ELEKTRONIKA LABORATORYJNA S.J. 0050C256F GMA, LLC 0050C2570 Ellex Medical Pty Ltd 0050C2571 Oberon Service srl 0050C2572 Chell Instruments Ltd 0050C2573 DATAMICRO Co., Ltd. 0050C2574 Ingenier�a Almud� S.L. 0050C2575 SOLYSTIC 0050C2576 Visi-tech Systems Ltd 0050C2577 Advanced Software Technologies 0050C2578 Delphi Display Systems, Inc. 0050C2579 Gastager Systemtechnik GmbH 0050C257A Pigeon Point Systems 0050C257B ptswitch 0050C257C CYBERSYS 0050C257D Sierra Video Systems 0050C257E Digital Way 0050C257F Orderite, Inc. 0050C2580 Buyang Electronics Industrial co.,Ltd. 0050C2581 Devitech ApS 0050C2582 AllSun A/S 0050C2583 J�nger Audio-Studiotechnik GmbH 0050C2584 Toyota Motorsport GmbH 0050C2585 Wireless Cables Inc 0050C2586 Genetix Ltd 0050C2587 Dynalco 0050C2588 Federal Electronics 0050C2589 HORIBA MEDICAL 0050C258A Dixell S.p.a. 0050C258B Innovative Dynamics GmbH 0050C258C Lattice Semiconductor Corp. (LPA) 0050C258D ZAO 0050C258E Penny & Giles Aerospace Ltd 0050C258F XoIP Systems Pty Ltd 0050C2590 EM Motorsport Ltd 0050C2591 Grosvenor Technology Ltd 0050C2592 PaloDEx Group Oy 0050C2593 Broadlight 0050C2594 Pixel Velocity, Inc. 0050C2595 Callpod, Inc. 0050C2596 SPANSION 0050C2597 Nautel Ltd. 0050C2598 Bundesamt f�r Strahlenschutz 0050C2599 Fen Technology Limited 0050C259A MultiTrode Pty Ltd 0050C259B SAPEC 0050C259C DELSAT GROUP S.A. 0050C259D DSS Networks, Inc. 0050C259E Legerity 0050C259F ads-tec GmbH 0050C25A0 Rudolph Technologies, Inc. 0050C25A1 Vestfold Butikkdata AS 0050C25A2 iNET Systems Inc. 0050C25A3 LUMEL S.A. 0050C25A4 Federal State Unitary Enterprise Experimental Factory for Sc 0050C25A5 Equipos de Telecomunicaci�n Optoelectronicos, S.A. 0050C25A6 Plastic Logic 0050C25A7 Phytec Me�technik GmbH 0050C25A8 ETAP NV 0050C25A9 AYC Telecom Ltd 0050C25AA Transenna AB 0050C25AB Eaton Corporation Electrical Group Data Center Solutions - Pulizzi 0050C25AC Kinemetrics, Inc. 0050C25AD Emcom Systems 0050C25AE CPS EUROPE B.V. 0050C25AF DORLET S.A. 0050C25B0 INCOTEC GmbH 0050C25B1 Rosta Ltd 0050C25B2 Syntronic AB 0050C25B3 HITECOM System 0050C25B4 Terrascience Systems Ltd. 0050C25B5 RAFAEL 0050C25B6 Kontron (Beijing) Technology Co.,Ltd. 0050C25B7 AVerMedia Technologies, Inc. 0050C25B8 WestfaliaSurge GmbH 0050C25B9 Taiwan Video & Monitor 0050C25BA SAIA Burgess Controls AG 0050C25BB UNIC TECHNOLOGIES INC 0050C25BC Guangzhou Hui Si Information Technologies Inc. 0050C25BD Nomus Comm-Systems 0050C25BE Card Access Services Pty Ltd 0050C25BF Techimp Systems S.r.l. 0050C25C0 Pyott-Boone Electronics 0050C25C1 R. L. Drake Company 0050C25C2 Intuitive Surgical 0050C25C3 KS System GmbH 0050C25C4 ProMik GmbH 0050C25C5 Radiant Imaging, Inc. 0050C25C6 Technische Alternative GmbH 0050C25C7 InSync Technology Ltd 0050C25C8 Georgia Tech Research Institute 0050C25C9 Shenzhen Quanlong Technique Co.Ltd 0050C25CA Buyang Electronics Industrial Co., Ltd. 0050C25CB Kobold Sistemi s.r.l. 0050C25CC ENSEO 0050C25CD RADA Electronics Industries Ltd. 0050C25CE Roke Manor Research Ltd 0050C25CF Innomed Medical Inc 0050C25D0 Automata Spa 0050C25D1 Meucci Solutions 0050C25D2 DA-Design Oy 0050C25D3 Wexiodisk AB 0050C25D4 Buyang Electronics Industrial Co., Ltd. 0050C25D5 Cannon Technologies 0050C25D6 BioAccess Tecnologia em Biometria Ltda. 0050C25D7 Synrad, Inc. 0050C25D8 TECHNIFOR SAS 0050C25D9 Crimson Microsystems, Inc. 0050C25DA TONNA ELECTRONIQUE 0050C25DB CEGELEC SUD EST 0050C25DC RM Michaelides Software & Elektronik GmbH 0050C25DD SomerData ltd 0050C25DE Magal Senstar Inc. 0050C25DF Gnutek Ltd. 0050C25E0 Phytec Messtechnik GmbH 0050C25E1 Ittiam Systems (P) Ltd 0050C25E2 PYRAMID Computer GmbH 0050C25E3 Computechnic AG 0050C25E4 Buyang Electronics Industrial Co., Ltd. 0050C25E5 Stresstech OY 0050C25E6 Musatel 0050C25E7 EADS TEST & SERVICES 0050C25E8 Info-Chip Communications Ltd. 0050C25E9 Micro Technology Services Inc. 0050C25EA Micro Elektronische Producten 0050C25EB Garper Telecomunicaciones, S.L. 0050C25EC ASiS Technologies Pte Ltd 0050C25ED AQUAROTTER A FRANKE COMPANY 0050C25EE Condre Corporation 0050C25EF pikkerton GmbH 0050C25F0 DIAS Infrared GmbH 0050C25F1 Technomarine JSC 0050C25F2 ESEM Gr�nau GmbH & Co. KG 0050C25F3 POSNET Polska S.A. 0050C25F4 TeamProjects BV 0050C25F5 Genesis inc 0050C25F6 CAMBRIDGE CONSULTANTS LTD 0050C25F7 Metrologic Group 0050C25F8 Grupo Epelsa s. l. 0050C25F9 ROTHARY Solutions AG 0050C25FA LEA d.o.o. 0050C25FB All-Systems Electronics Pty Ltd 0050C25FC FilmLight Limited 0050C25FD MEG Electronic Inc. 0050C25FE Novacomm 0050C25FF Gazelle Monitoring Systems 0050C2600 Protec Fire Detection plc 0050C2601 MedAvant Healthcare 0050C2602 CHAUVIN ARNOUX 0050C2603 Cerus Corp 0050C2604 HCJB Global 0050C2605 Swistec GmbH 0050C2606 Shenzhen Huazhong Technology Inc 0050C2607 Telecom FM 0050C2608 Silex Industrial Automation Ltd. 0050C2609 Toptech Systems, Inc. 0050C260A Gradual Tecnologia Ltda 0050C260B Shanghai QianJin Electronic Equipment Co. Ltd. 0050C260C IDENTIC AB 0050C260D Sicon s.r.l. 0050C260E Automation and Control Technology, Inc. 0050C260F Kommunikations- & Sicherheitssysteme Gesellschaft m.b.H 0050C2610 FDT Manufacturing, LLC 0050C2611 Brookhaven National Laboratory 0050C2612 IHP-GmbH 0050C2613 TATTILE SRL 0050C2614 SICOM AS 0050C2615 Axis Electronics 0050C2616 Honeywell 0050C2617 NARINET, INC. 0050C2618 Intergrated Security Mfg. Ltd 0050C2619 Linkbit, Inc. 0050C261A Communication Components Inc. 0050C261B NCI Technologies Inc. 0050C261C TestPro Systems, Inc. 0050C261D Sutus Inc 0050C261E LESTER ELECTRONICS LTD 0050C261F Imagine Communications 0050C2620 Harman/Becker Automotive Systems GmbH 0050C2621 Version-T 0050C2622 2N TELEKOMUNIKACE a.s. 0050C2623 SAFELINE SL 0050C2624 Comtest Networks 0050C2625 EBNeuro SpA 0050C2626 Winsys Informatica ltda 0050C2627 JungleSystem Co., Ltd. 0050C2628 DARE Development 0050C2629 MacDonald Humfrey (Products) Ltd 0050C262A Prisma Engineering srl 0050C262B First Control Systems AB 0050C262C AirMatrix, Inc. 0050C262D Procon Electronics 0050C262E TDM ing�nierie 0050C262F QES 0050C2630 Aurora Flight Sciences 0050C2631 Fraunhofer IIS 0050C2632 RoseTechnology A/S 0050C2633 Rice University 0050C2634 Sohon Inc 0050C2635 Shockfish SA 0050C2636 dSPACE GmbH 0050C2637 Omnitrol Networks, Inc. 0050C2638 HUNGAROCOM Telecommunication Ltd. 0050C2639 Qstreams Networks Inc. 0050C263A 3DSP Corporation 0050C263B Powis Corporation 0050C263C dPict Imaging, Inc. 0050C263D IDERs Inc 0050C263E T2 Communication Ltd 0050C263F Speech Technology Center, Ltd. 0050C2640 IAC 0050C2641 NEO Information Systems Co., Ltd. 0050C2642 Stanton Technologies Sdn Bhd 0050C2643 Enatel Limited 0050C2644 Phytec Me�technik GmbH 0050C2645 The Software Group Limited 0050C2646 TRUTOUCH TECHNOLOGIES INC 0050C2647 R&D Technology Solutionz Limited 0050C2648 Fidelity Comtech, Inc. 0050C2649 Pan-STARRS 0050C264A CPqD 0050C264B MangoDSP 0050C264C CIS Corporation 0050C264D Tera Information System Labs 0050C264E Northern Power 0050C264F MA Lighting Technology GmbH 0050C2650 Liquid Breaker, LLC 0050C2651 STAER SPA 0050C2652 Wideco Sweden AB 0050C2653 Doble Engineering 0050C2654 PaloDEx Group Oy 0050C2655 Physik Instrumente (PI) GmbH&Co.KG 0050C2656 LDA Audio Video Profesional 0050C2657 MONYTEL S.A. 0050C2658 OpenPKG GmbH 0050C2659 Dorsett's, Incorporated 0050C265A Hisstema AB 0050C265B Silverbrook Research 0050C265C VTZ d.o.o. 0050C265D Redfone Communications LLC 0050C265E Cantion A/S 0050C265F Invocon, Inc. 0050C2660 IZISOFT 0050C2661 P.C.E. 0050C2662 Asia Pacific Card & System Sdn Bhd 0050C2663 COE Limited 0050C2664 Westel Wireless Systems 0050C2665 NetworkSound, Inc 0050C2666 Xworks NZ Limited 0050C2667 PRIVATE 0050C2668 Keith & Koep GmbH 0050C2669 DSP DESIGN 0050C266A ABB Xiamen Transmission and Distribution Automation Equipmen 0050C266B flsystem 0050C266C DESY 0050C266D DIGITEK S.p.A. 0050C266E Linear Systems Ltd. 0050C266F Nilan A/S 0050C2670 Naim Audio 0050C2671 Skyline Products, Inc 0050C2672 DDS Elettronica srl 0050C2673 Ferrari electronic AG 0050C2674 Protech Optronics Co., Ltd. 0050C2675 Kenton Research Ltd 0050C2676 EDS 0050C2677 ProconX Pty Ltd 0050C2678 IHM 0050C2679 Industrial Vacuum Systems 0050C267A CC Systems AB 0050C267B Sparton Electronics 0050C267C AirCell, Inc. 0050C267D ESA Messtechnik GmbH 0050C267E SAIA Burgess Controls AG 0050C267F Phytec Me�technik GmbH 0050C2680 Honey Network Research Limited 0050C2681 Owasys Advanced Wireless Devices 0050C2682 Commet AB 0050C2683 MEGGITT Safety System 0050C2684 REASON Tecnologia S.A. 0050C2685 Datamars SA 0050C2686 ANNAX Anzeigesysteme GmbH 0050C2687 Access Specialties, Inc 0050C2688 Elk Products 0050C2689 RF Code, Inc. 0050C268A Zhuhai Jiahe Electronics Co.,LTD 0050C268B SIMTEK INC. 0050C268C Isochron Inc 0050C268D CXR Larus Corporation 0050C268E SELCO 0050C268F BERTRONIC SRL 0050C2690 GHL Systems Berhad 0050C2691 Interopix, Inc. 0050C2692 Mate Media Access Technologies 0050C2693 Tech Comm, Inc. 0050C2694 Initel srl 0050C2695 Purelink Technology, inc. 0050C2696 Casabyte Inc. 0050C2697 Monarch Instrument 0050C2698 Navtech Radar Ltd 0050C2699 Bulletendpoints Enterprises Inc 0050C269A StoreTech Limited 0050C269B Tsien (UK) Ltd 0050C269C Bug Labs, Inc. 0050C269D Dvation.co.,Ltd 0050C269E Ideus AB 0050C269F Total RF, LLC 0050C26A0 GFP Lab S.r.l. 0050C26A1 PRICOL LIMITED 0050C26A2 Cadi Scientific Pte Ltd 0050C26A3 CreaTech Electronics Co. 0050C26A4 TELETASK 0050C26A5 FHF Funke+Huster Fernsig GmbH 0050C26A6 Victory Concept Industries Ltd. 0050C26A7 Hoer GmbH & Co. Industrie-Electronic KG 0050C26A8 Intelligent Devices, Inc. 0050C26A9 Armida Technologies Corporation 0050C26AA Ifox - Industria e Comercio Ltda 0050C26AB Softwareentwicklung 0050C26AC Thales UK 0050C26AD Heim- & B�rokommunikation 0050C26AE Qualisys AB 0050C26AF Nanoradio AB 0050C26B0 Smart Key International Limited 0050C26B1 Burk Technology 0050C26B2 Edgeware AB 0050C26B3 4RF Communications Ltd 0050C26B4 SOMESCA 0050C26B5 TRIUMF 0050C26B6 CommoDaS GmbH 0050C26B7 System LSI CO.Ltd. 0050C26B8 Epec Oy 0050C26B9 unipo GmbH 0050C26BA Fertron Controle e Automacao Industrial Ltda. 0050C26BB Ele.Mag S.r.l. 0050C26BC Paraytec Ltd 0050C26BD Mitron Oy 0050C26BE ESTEC Co.,Ltd. 0050C26BF Optoplan as 0050C26C0 GLOSTER SANTE EUROPE 0050C26C1 RADIUS Sweden AB 0050C26C2 HoseoTelnet Inc... 0050C26C3 iTRACS Corporation 0050C26C4 REXXON GmbH 0050C26C5 Oerlikon Contraves AG 0050C26C6 MedAvant Healthcare Solutions 0050C26C7 QuickCircuit Ltd. 0050C26C8 B&S MEDIA Co., LTD. 0050C26C9 NETAMI 0050C26CA Dynamic Hearing Pty Ltd 0050C26CB Stream Processors 0050C26CC Widmer Time Recorder Co., Inc. 0050C26CD RGM SPA 0050C26CE EMITALL Surveillance S.A, 0050C26CF Microway 0050C26D0 EDS Systemtechnik 0050C26D1 Schnick-Schnack-Systems GmbH 0050C26D2 Lumistar Incorporated 0050C26D3 DigiSensory technologies Pty Ltd 0050C26D4 Etani Electronics Co.,Ltd. 0050C26D5 Becker Electronics GmbH 0050C26D6 ADL Electronics Ltd. 0050C26D7 Mavenir System, Inc. 0050C26D8 BL Healthcare, Inc. 0050C26D9 Ajeco Oy 0050C26DA Techno Fittings S.r.l. 0050C26DB Gebhardt Ventilatoren GmbH 0050C26DC L-3 Communications Mobile-Vision, Inc. 0050C26DD Zmicro Systems Inc 0050C26DE Laser Tools & Technics Corp. 0050C26DF QR Sciences Ltd 0050C26E0 FIRSTTRUST Co.,Ltd. 0050C26E1 NewOnSys Ltd. 0050C26E2 PHYTEC Messtechnik GmbH 0050C26E3 Miros AS 0050C26E4 MangoDSP 0050C26E5 Boeckeler Instruments, Inc. 0050C26E6 Lanetco 0050C26E7 Axis Network Technology 0050C26E8 Anymax 0050C26E9 Bando electronic communication Co.Lltd 0050C26EA FIRSTEC SA 0050C26EB Harrison Audio, LLC 0050C26EC Netistix Technologies Corporation 0050C26ED Sechan Electronics, Inc. 0050C26EE Interactive Electronic Systems 0050C26EF Pneumopartners LaenneXT SA 0050C26F0 Stanley Security Solutions, Inc. 0050C26F1 ITS Telecom 0050C26F2 Laser Electronics Ltd 0050C26F3 E3Switch LLC 0050C26F4 Cryogenic Control Systems, Inc. 0050C26F5 Kitron Microelectronics AB 0050C26F6 AV SatCom AS 0050C26F7 infoplan Gesellschaft f�r Informationssysteme mbH 0050C26F8 RV Technology Limited 0050C26F9 Revox GmbH 0050C26FA DCN 0050C26FB WaveIP 0050C26FC Acte Sp. z o.o. 0050C26FD SAIA Burgess Controls AG 0050C26FE Blue Origin 0050C26FF St. Michael Strategies Inc. 0050C2700 GEM-MED SL 0050C2701 Keith & Koep GmbH 0050C2702 SPM Instrument AB 0050C2703 SAE IT-systems GmbH & Co. KG 0050C2704 The Dini Group, La Jolla inc. 0050C2705 Hauch & Bach ApS 0050C2706 DioDigiWorks. CO., LTD. 0050C2707 DTech Labs Inc 0050C2708 Smartek d.o.o. 0050C2709 RO.VE.R. Laboratories S.p.A 0050C270A Efficient Channel Coding 0050C270B B.E.A.R. Solutions (Australasia) Pty Ltd 0050C270C Exertus 0050C270D ela-soft GmbH & Co. KG 0050C270E AUDICO SYSTEMS OY 0050C270F Zumbach Electronic AG 0050C2710 Wharton Electronics Ltd 0050C2711 LINKIT S.R.L. 0050C2712 Pasan SA 0050C2713 3DX-Ray Limited 0050C2714 T.E.AM., S. A. 0050C2715 RIEXINGER Elektronik 0050C2716 MITROL S.R.L. 0050C2717 MB Connect Line GmbH 0050C2718 illunis LLC 0050C2719 ennovatis GmbH 0050C271A Logus Broadband Wireless Solutions Inc. 0050C271B ADVA Optical Networking 0050C271C Elmec Inc. 0050C271D MG s.r.l. 0050C271E ASKI Industrie Elektronik Ges.m.b.H. 0050C271F ASC telecom AG 0050C2720 Colorado Engineering Inc. 0050C2721 Spectrum Communications FZE 0050C2722 Centric TSolve BV 0050C2723 Power Electronics 0050C2724 HSC-Regelungstechnik GmbH 0050C2725 DSP DESIGN 0050C2726 eta systemi CKB 0050C2727 Pelweckyj Videotechnik GmbH 0050C2728 InterDigital Canada Ltd 0050C2729 SP Controls, Inc 0050C272A Phytec Messtechnik GmbH 0050C272B Sequestered Solutions 0050C272C Richard Griessbach Feinmechanik GmbH 0050C272D Physical Acoustics Corporation 0050C272E SNCF EIM PAYS DE LOIRE 0050C272F Priority Electronics Ltd 0050C2730 haber & koenig electronics gmbh 0050C2731 Spirent Communications 0050C2732 Schlumberger K.K. 0050C2733 Cimetrics Research Pty Ltd 0050C2734 CardioMEMS Inc. 0050C2735 Duma Video, Inc. 0050C2736 Nika Ltd 0050C2737 Teradici Corporation 0050C2738 Miracom Technology Co., Ltd. 0050C2739 Tattile srl 0050C273A Naturela Ltd. 0050C273B On Air Networks 0050C273C Simicon 0050C273D cryptiris 0050C273E Quantec Networks GmbH 0050C273F MEDAV GmbH 0050C2740 McQuay China 0050C2741 Dain 0050C2742 Fantuzzi Reggiane 0050C2743 Elektro-Top 3000 Ltd. 0050C2744 Avonaco Systems, Inc. 0050C2745 ACISA 0050C2746 Realtronix Company 0050C2747 CDSA Dam Neck 0050C2748 Letechnic Ltd 0050C2749 Affolter Technologies SA 0050C274A MONITOR ELECTRONICS LTD 0050C274B STAR-Dundee Ltd 0050C274C Saia-Burgess Controls AG 0050C274D Beceem Communications, Inc. 0050C274E TRONICO 0050C274F German Technologies 0050C2750 Brightlights Intellectual Property Ltd 0050C2751 e&s Engineering & Software GmbH 0050C2752 LOBER, S.A. 0050C2753 ABB 0050C2754 Abeo Corporation 0050C2755 Teletek Electronics 0050C2756 Chesapeake Sciences Corp 0050C2757 E S P Technologies Ltd 0050C2758 AixSolve GmbH 0050C2759 Sequentric Energy Systems, LLC 0050C275A Gaisler Research AB 0050C275B DMT System S.p.A. 0050C275C ST�RK-TRONIC St�rk GmbH&Co. KG 0050C275D Fluid Analytics, Inc. 0050C275E Sky-Skan, Incorporated 0050C275F B. Rexroth the identity company GmbH 0050C2760 AR'S CO., LTD. 0050C2761 Elbit Systems of America - Fort Worth Operations 0050C2762 Assembly Contracts Limited 0050C2763 XtendWave 0050C2764 Argus-Spectrum 0050C2765 Phytec Messtechnik GmbH 0050C2766 EMTEC Elektronische Messtechnik GmbH 0050C2767 EID 0050C2768 Control Service do Brasil Ltda 0050C2769 BES GmbH 0050C276A Digidrive Audio Limited 0050C276B Putercom Enterprise Co., LTD. 0050C276C EFG CZ spol. s r.o. 0050C276D Mobilisme 0050C276E Crinia Corporation 0050C276F Control and Robotics Solutions 0050C2770 Cadex Electronics Inc. 0050C2771 ZigBee Alliance 0050C2772 IES Elektronikentwicklung 0050C2773 Pointe Conception Medical Inc. 0050C2774 GeoSIG Ltd. 0050C2775 Laserdyne Technologies 0050C2776 Integrated Security Corporation 0050C2777 Euro Display Srl 0050C2778 SunGard Vivista 0050C2779 Coral Telecom Ltd 0050C277A Smith Meter, Inc 0050C277B Itibia Technologies, Inc. 0050C277C ATEC SRL 0050C277D Lincoln Industrial 0050C277E Cominfo, a.s. 0050C277F ACD Elektronik GmbH 0050C2780 IQ Solutions GmbH & Co. KG 0050C2781 Starling Advanced Communications 0050C2782 Phytec Mestechnik GmbH 0050C2783 NORMA systems GmbH 0050C2784 Lewis Controls Inc. 0050C2785 Icon Time Systems 0050C2786 Keith & Koep GmbH 0050C2787 Austco Communication Systems Pty Ltd 0050C2788 HOSA TECHNOLOGY, INC. 0050C2789 Rosslare Enterprises Limited 0050C278A LEVEL TELECOM 0050C278B OMICRON electronics GmbH 0050C278C Giga-tronics, Inc. 0050C278D Telairity 0050C278E GLOBALCOM ENGINEERING SRL 0050C278F ELMAR electronic 0050C2790 GE Security-Kampro 0050C2791 M Squared Lasers Limited 0050C2792 SMARTRO Co.,Ltd. 0050C2793 Enertex Bayern GmbH 0050C2794 COMSONICS, INC. 0050C2795 Ameli Spa 0050C2796 DORLET S.A. 0050C2797 Tiefenbach Control Systems GmbH 0050C2798 Indefia 0050C2799 AAVD 0050C279A JMC America, LLC 0050C279B Schniewindt GmbH & Co. KG 0050C279C Vital Systems Inc 0050C279D MiraTrek 0050C279E Benshaw Canada Controls, Inc. 0050C279F ZAO NPC 0050C27A0 MedAvant Healthcare 0050C27A1 Field Design Service 0050C27A2 RaySat Israel LTD 0050C27A3 ABB Transmission and Distribution Automation Equipment (Xiam 0050C27A4 Calibre UK LTD 0050C27A5 Quantum Medical Imaging 0050C27A6 ASIANA IDT 0050C27A7 Guidance Navigation Limited 0050C27A8 Integrated Design Tools, Inc. 0050C27A9 Delta Tau Data Systems, Inc 0050C27AA EPEL INDUSTRIAL 0050C27AB General Microsystems Sdn Bhd 0050C27AC IUSA SA DE CV 0050C27AD Turun Turvatekniikka Oy 0050C27AE Global Tel-Link 0050C27AF C2 Microsystems 0050C27B0 IMP Telekom 0050C27B1 ATEME 0050C27B2 A.D.I Video technologies 0050C27B3 Elmec, Inc. 0050C27B4 T 1 Engineering 0050C27B5 DIT-MCO International 0050C27B6 Alstom (Schweiz) AG 0050C27B7 TATTILE SRL 0050C27B8 Design 2000 Pty Ltd 0050C27B9 Technovare Systems, Inc. 0050C27BA Infodev Electronic Designers Intl. 0050C27BB InRay Solutions Ltd. 0050C27BC EIDOS SPA 0050C27BD PROMATE ELECTRONIC CO.LTD 0050C27BE Powerlinx, Inc. 0050C27BF Zoe Medical 0050C27C0 European Industrial Electronics B.V. 0050C27C1 Primary Integration Encorp LLC 0050C27C2 DSR Information Technologies Ltd. 0050C27C3 AST INCORPORATED 0050C27C4 MoBaCon 0050C27C5 Venture Research Inc. 0050C27C6 Lyngdorf Audio Aps 0050C27C7 Pyrosequencing AB 0050C27C8 Fr. Sauter AG 0050C27C9 Bluebell Opticom Limited 0050C27CA CEDAR Audio Limited 0050C27CB ViewPlus Technologies, Inc. 0050C27CC SWECO JAPS AB 0050C27CD Precision MicroControl Corporation 0050C27CE AirCell Inc. 0050C27CF Emitech Corporation 0050C27D0 Radar Tronic ltd. 0050C27D1 Phytec Messtechnik GmbH 0050C27D2 Bittitalo Oy 0050C27D3 Highrail Systems Limited 0050C27D4 WR Systems, Ltd. 0050C27D5 Deuta-Werke GmbH 0050C27D6 International Mining Technologies 0050C27D7 Newtec A/S 0050C27D8 InnoScan K/S 0050C27D9 Volumatic Limited 0050C27DA HTEC Limited 0050C27DB Mueller Elektronik 0050C27DC aiXtrusion GmbH 0050C27DD LS Elektronik AB 0050C27DE Cascade Technologies Ltd 0050C27DF PRIVATE 0050C27E0 C&D Technologies, Inc 0050C27E1 Zeltiq Aesthetics, Inc. 0050C27E2 DIGITROL LTD 0050C27E3 Progentech Limited 0050C27E4 Meta Vision Systems Ltd. 0050C27E5 Nystrom Engineering 0050C27E6 Empirix Italy S.p.A. 0050C27E7 V2Green, Inc. 0050C27E8 Mistral Solutions Pvt. Ltd 0050C27E9 Sicon s.r.l. 0050C27EA Monitor Business Machines Ltd. 0050C27EB Sesol Industrial Computer 0050C27EC Lyngsoe Systems 0050C27ED Genesis Automation Inc. 0050C27EE NH Research 0050C27EF GFI Chrono Time 0050C27F0 Network Harbor, Inc. 0050C27F1 STUHL Regelsysteme GmbH 0050C27F2 Logotherm Regelsysteme GmbH 0050C27F3 SOREC 0050C27F4 Wireless Cables Inc 0050C27F5 ACE Carwash Systems 0050C27F6 Saia-Burgess Controls AG 0050C27F7 MangoDSP 0050C27F8 Wise Industria de Telecomunica��es Ldta. 0050C27F9 Karl DUNGS GmbH & Co. KG 0050C27FA AutomationX GmbH 0050C27FB Qtron Pty Ltd 0050C27FC TIS Dialog LLC 0050C27FD Adeneo 0050C27FE Wireless Cables Inc. 0050C27FF Shenzhen MaiWei Cable TV Equipment CO.,LTD. 0050C2800 Delphi Display Systems, Inc. 0050C2801 JANUS srl 0050C2802 PRIVATE 0050C2803 dB Broadcast Limited 0050C2804 SoftSwitching Technologies 0050C2805 MultimediaLED 0050C2806 CET 0050C2807 TECHNOMARK 0050C2808 ITB CompuPhase 0050C2809 Varma Electronics Oy 0050C280A Phytec Messtechnik GmbH 0050C280B Open Video, Inc. 0050C280C Luxpert Technologies Co., Ltd. 0050C280D Acube Systems s.r.l. 0050C280E Bruno International Ltd. 0050C280F Selekron Microcontrol s.l. 0050C2810 Alphion Corporation 0050C2811 Open System Solutions Limited 0050C2812 Femto SA 0050C2813 Intelleflex Corporation 0050C2814 Telvent 0050C2815 microC Design SRL 0050C2816 Intelight Inc. 0050C2817 Odin TeleSystems Inc 0050C2818 Wireless Value BV 0050C2819 Cabinplant A/S 0050C281A InfoGLOBAL 0050C281B Brain Tech Co., Ltd 0050C281C Telcom 0050C281D IT SALUX CO., LTD. 0050C281E Channelot Ltd. 0050C281F 2N TELEKOMUNIKACE a.s. 0050C2820 TESCAN, s.r.o. 0050C2821 MISCO Refractometer 0050C2822 Winner Technology Co, Ltd. 0050C2823 Robot Visual Systems GmbH 0050C2824 SMT d.o.o. 0050C2825 Funkwerk Information Technologies Karlsfeld GmbH 0050C2826 HEWI Heinrich Wilke GmbH 0050C2827 Enero Solutions inc. 0050C2828 SLICAN sp. z o.o. 0050C2829 Intellectronika 0050C282A VDC Display Systems 0050C282B Keith & Koep GmbH 0050C282C Vitel Net 0050C282D Elmec, Inc. 0050C282E LogiCom GmbH 0050C282F Momentum Data Systems 0050C2830 CompuShop Services LLC 0050C2831 St Jude Medical, Inc. 0050C2832 S1nn GmbH & Co. KG 0050C2833 LaserLinc, Inc. 0050C2834 ANTEK GmbH 0050C2835 Communications Laboratories Inc 0050C2836 DSP DESIGN 0050C2837 ID-KARTA s.r.o. 0050C2838 T PROJE MUHENDISLIK DIS. TIC. LTD. STI. 0050C2839 IMS R�ntgensysteme GmbH 0050C283A Syr-Tec Engineering & Marketing 0050C283B O. Bay AG 0050C283C hema electronic GmbH 0050C283D beroNet GmbH 0050C283E KPE spol. s r.o. 0050C283F Phytec Messtechnik GmbH 0050C2840 Residential Control Systems 0050C2841 Connection Electronics Ltd. 0050C2842 Quantum Controls BV 0050C2843 Xtensor Systems Inc. 0050C2844 Prodigy Electronics Limited 0050C2845 VisualSonics Inc. 0050C2846 ESP-Planning Co. 0050C2847 Lars Morich Kommunikationstechnik GmbH 0050C2848 DASA ROBOT Co., Ltd. 0050C2849 Design Analysis Associates, Inc. 0050C284A Keystone Electronic Solutions 0050C284B TASK SISTEMAS DE COMPUTACAO LTDA 0050C284C Performance Motion Devices 0050C284D BMTI 0050C284E DRACO SYSTEMS 0050C284F Gamber-Johnson LLC 0050C2850 K.K. Rocky 0050C2851 SPJ Embedded Technologies Pvt. Ltd. 0050C2852 eInfochips Ltd. 0050C2853 Ettus Research LLC 0050C2854 Ratioplast-Optoelectronics GmbH 0050C2855 TOPEX SA 0050C2856 CT Company 0050C2857 EPEL INDUSTRIAL 0050C2858 Wireless Acquisition LLC 0050C2859 Nuvation 0050C285A ART s.r.l. 0050C285B Boreste 0050C285C B S E 0050C285D Ing. Knauseder Mechatronik GmbH 0050C285E Radiometer Medical ApS 0050C285F General Dynamics C4 Systems 0050C2860 Eutron S.p.A. 0050C2861 Grantronics Pty Ltd 0050C2862 Elsys AG 0050C2863 Advanced Technology Solutions 0050C2864 ATG Automatisierungstechnik GERA GmbH 0050C2865 Persy Control Services B.v. 0050C2866 Saia Burgess Controls AG 0050C2867 Syntronics 0050C2868 Aethon, Inc. 0050C2869 Funkwerk plettac electronic GmbH 0050C286A USM Systems, Ltd 0050C286B OMB Sistemas Electronicos S.A. 0050C286C Condigi Televagt A/S 0050C286D Tieline Research Pty Ltd 0050C286E HANYANG ELECTRIC CP., LTD 0050C286F b-plus GmbH 0050C2870 LOGEL S.R.L. 0050C2871 R-S-I Elektrotechnik GmbH & Co. KG 0050C2872 Oliotalo - Objecthouse Oy 0050C2873 XRONET Corporation 0050C2874 Arcos Technologies Ltd. 0050C2875 Phytec Messtechnik GmbH 0050C2876 Privatquelle Gruber GmbH & CO KG 0050C2877 Motion Analysis Corp 0050C2878 Acoustic Research Laboratories Pty Ltd 0050C2879 MILESYS 0050C287A Spectrum Management, LC 0050C287B UAVNavigation S.L. 0050C287C Arcontia AB 0050C287D AT&T Government Solutions 0050C287E SCM PRODUCTS, INC. 0050C287F Optoelettronica Italia S.r.l. 0050C2880 Creation Technologies 0050C2881 InnoTrans Communications, Inc. 0050C2882 WARECUBE,INC. 0050C2883 Neocontrol Solu�oes em Automa��o 0050C2884 IP Thinking A/S 0050C2885 OOO "NTK "IMOS" 0050C2886 Transas Scandinavia AB 0050C2887 Inventis Technology Pty Limited 0050C2888 IADEA CORPORATION 0050C2889 ACS MOTION CONTROL 0050C288A Continental Electronics Corp. 0050C288B Hollis Electronics Company LLC 0050C288C Z-App Systems 0050C288D L3 Communications Nova Engineering 0050C288E Cardinal Scale Mfg Co 0050C288F Keynote SIGOS GmbH 0050C2890 BAE Systems H�gglunds AB 0050C2891 Admiral Secure Products, Ltd. 0050C2892 Trakce a.s. 0050C2893 EIZO Technologies GmbH 0050C2894 Shockfish SA 0050C2895 Marine Communications Limited 0050C2896 Blankom 0050C2897 ODF Optronics, Inc. 0050C2898 Veeco Process Equipment, Inc. 0050C2899 Inico Technologies Ltd. 0050C289A Neptune Technology Group, Inc. 0050C289B Sensata Technologies, Inc. 0050C289C Mediana 0050C289D Systemtechnik GmbH 0050C289E Broadcast Electronics 0050C289F Datalink Technologies Gateways Inc. 0050C28A0 Specialized Communications Corp. 0050C28A1 Intune Networks Limited 0050C28A2 UAVISION Engenharia de Sistemas 0050C28A3 RTW GmbH & Co.KG 0050C28A4 BALOGH T.A.G Corporation 0050C28A5 Mocon, Inc. 0050C28A6 SELCO 0050C28A7 EBPW LTD 0050C28A8 ALTEK ELECTRONICS 0050C28A9 Intelligent Security Systems 0050C28AA ATS Elektronik GmbH 0050C28AB Nanomotion Ltd. 0050C28AC Telsa s.r.l 0050C28AD Thales Communications, Inc 0050C28AE DESARROLLO DE SISTEMAS INTEGRADOS DE CONTROL S.A. 0050C28AF Xelerated 0050C28B0 BK Innovation, Inc. 0050C28B1 RingCube Technologies, Inc. 0050C28B2 SERVAIND SA. 0050C28B3 VTQ Videtronik GmbH 0050C28B4 Sandar Telecast AS 0050C28B5 Keith & Koep GmbH 0050C28B6 Shadrinskiy Telefonny Zavod 0050C28B7 Calnex Solutions Limited 0050C28B8 DSS Networks, Inc. 0050C28B9 ACD Elektronik Gmbh 0050C28BA Fr. Sauter AG 0050C28BB smtag international ag 0050C28BC Honeywell Sensotec 0050C28BD Matrix Switch Corporation 0050C28BE The Pennsylvania State University 0050C28BF ARISTO Graphic Systeme GmbH & Co. KG 0050C28C0 S.C.E. s.r.l. 0050C28C1 Heraeus Noblelight GmbH 0050C28C2 Access Control Systems JSC 0050C28C3 Byte Paradigm 0050C28C4 Soldig Industria e Comercio de Equipamentos Eletronicos LTDA 0050C28C5 Vortex Engineering pvt ltd 0050C28C6 Gradual Tecnologia Ltda. 0050C28C7 Tattile srl 0050C28C8 Pumatronix Equipamentos Eletr�nicos Ltda 0050C28C9 A+S Aktuatorik und Sensorik GmbH 0050C28CA Altair semiconductor Ltd 0050C28CB Beonic Corporation 0050C28CC LyconSys GmbH & Co.KG 0050C28CD Cambridge Sound Management, LLC 0050C28CE Phytec Messtechnik GmbH 0050C28CF GigaLinx Ltd. 0050C28D0 Saia-Burgess Controls AG 0050C28D1 my-sen GmbH 0050C28D2 TTi Ltd 0050C28D3 IFAM GmbH 0050C28D4 Internet Protocolo L�gica SL 0050C28D5 Peek Traffic Corp 0050C28D6 UltraVision Security Systems, Inc. 0050C28D7 Polygon Informatics Ltd. 0050C28D8 Array Technologies Inc 0050C28D9 Industrial Control and Communication Limited 0050C28DA DOCUTEMP, INC 0050C28DB DCOM Network Technology (Pty) Ltd 0050C28DC Frame Systems Limited 0050C28DD GIMCON 0050C28DE Coherix, Inc 0050C28DF Dipl.-Ing. W. Nophut GmbH 0050C28E0 Shenzhen Pennda Technologies Co., Ltd. 0050C28E1 Deutscher Weterdienst 0050C28E2 Wireless Cables Inc 0050C28E3 bioM�rieux Italia S.p.A. 0050C28E4 MaCaPS International Limited 0050C28E5 Berthel GmbH 0050C28E6 Sandel Avionics, Inc. 0050C28E7 MKT Systemtechnik 0050C28E8 Friedrich Kuhnt GmbH 0050C28E9 UNIDATA 0050C28EA ATEME 0050C28EB C-COM Satellite Systems Inc. 0050C28EC Balfour Beatty Rail GmbH 0050C28ED AT-Automation Technology GmbH 0050C28EE PCSC 0050C28EF Technologies Sensio Inc 0050C28F0 Xentras Communications 0050C28F1 Detection Technologies Ltd. 0050C28F2 RITTO GmbH & Co KG. 0050C28F3 Curtis Door Systems Inc 0050C28F4 Critical Link 0050C28F5 tec5 AG 0050C28F6 K-MAC Corp. 0050C28F7 TGE Co., Ltd. 0050C28F8 RMSD LTD 0050C28F9 Honeywell International 0050C28FA TELIUM s.c. 0050C28FB Alfred Kuhse GmbH 0050C28FC Symetrics Industries 0050C28FD Sindoma M�h Mim �n� Elk San Tic Ltd. 0050C28FE Cross Country Systems AB 0050C28FF Luceat Spa 0050C2900 Magor Communications Corp 0050C2901 Research Applications Incorp 0050C2902 China Railway Signal & Communication Corp. 0050C2903 EcoAxis Systems Pvt. Ltd. 0050C2904 R2Sonic, LLC 0050C2905 Link Communications, Inc 0050C2906 Gidel 0050C2907 Cristal Controles Ltee 0050C2908 Codex Digital Ltd 0050C2909 Elisra Electronic Systems 0050C290A Board Level Limited 0050C290B E.ON ES Sverige AB 0050C290C LSS GmbH 0050C290D EVK DI Kerschhaggl GmbH 0050C290E Phytec Messtechnik GmbH 0050C290F INTEGRA Biosciences AG 0050C2910 Autotank AB 0050C2911 Vapor Rail 0050C2912 ASSET InterTech, Inc. 0050C2913 Selex Sensors & Airborne Systems 0050C2914 IO-Connect 0050C2915 Verint Systems Ltd. 0050C2916 CHK GridSense P/L 0050C2917 CIRTEM 0050C2918 Design Lightning Corp 0050C2919 AHV Systems, Inc. 0050C291A Xtone Networks 0050C291B Embedded Data Systems, LLC 0050C291C MangoDSP 0050C291D Rosendahl Studiotechnik GmbH 0050C291E Automation Tec 0050C291F 2NCOMM DESIGN SRL 0050C2920 Rogue Engineering Inc. 0050C2921 iQue RFID Technologies BV 0050C2922 Metrum Sweden AB 0050C2923 Amicus Wireless 0050C2924 Link Electric & Safety Control Co. 0050C2925 PHB Eletronica Ltda. 0050C2926 DITEST FAHRZEUGDIAGNOSE GMBH 0050C2927 ATIS group s.r.o. 0050C2928 Cinetix GmbH 0050C2929 Flight Deck Resources 0050C292A TOPEX SA 0050C292B DSP DESIGN 0050C292C Exatrol Corporation 0050C292D APProSoftware.com 0050C292E Goanna Technologies Pty Ltd 0050C292F Phytec Messtechnik GmbH 0050C2930 NETA Elektronik AS 0050C2931 Korea Telecom Internet Solutions (KTIS) 0050C2932 SMAVIS Inc. 0050C2933 Saia-Burgess Controls AG 0050C2934 Xilar Corp. 0050C2935 Image Video 0050C2936 Margaritis Engineering 0050C2937 BigBear 0050C2938 Postec Data Systems Ltd 0050C2939 Mosaic Dynamic Solutions 0050C293A ALPHATRONICS nv 0050C293B Reliatronics Inc. 0050C293C FractureCode Corporation 0050C293D Lighting Science Group Corporation 0050C293E RCS Communication Test Systems Ltd. 0050C293F TSB Solutions Inc. 0050C2940 Phitek Systems Ltd. 0050C2941 Rolbit 0050C2942 Keith & Koep GmbH 0050C2943 QuanZhou TDX Electronics Co., Ltd. 0050C2944 Wireonair A/S 0050C2945 Ex-i Flow Measurement Ltd. 0050C2946 MEGWARE Computer GmbH 0050C2947 IMEXHIGHWAY cvba 0050C2948 ELECTRONIA 0050C2949 taskit GmbH 0050C294A TRUMEDIA TECHNOLOGIES 0050C294B Piller engineering Ltd. 0050C294C TEMIX 0050C294D C&H technology ltd. 0050C294E Zynix Original Sdn. Bhd. 0050C294F IT-Designers GmbH 0050C2950 Tele and Radio Research Institute 0050C2951 EL.C.A. soc. coop. 0050C2952 Tech Fass s.r.o. 0050C2953 EPEL Industrial 0050C2954 Phytec Messtechnik GmbH 0050C2955 Roessmann Engineering 0050C2956 Sicon s.r.l. 0050C2957 STRATEC Control Systems 0050C2958 Sensoptics Ltd 0050C2959 DECTRIS Ltd. 0050C295A TechnoAP 0050C295B AS Solar GmbH 0050C295C Resurgent Health & Medical 0050C295D full electronic system 0050C295E BEEcube Inc. 0050C295F METRONIC APARATURA KONTROLNO - POMIAROWA 0050C2960 kuroneko dennnou kenkyuushitsu 0050C2961 Picsolve International Limited 0050C2962 Shockfish SA 0050C2963 L�cureux SA 0050C2964 IQ Automation GmbH 0050C2965 Emitech Corporation 0050C2966 PCM Industries 0050C2967 Watthour Engineering Co., Inc. 0050C2968 BuLogics, Inc. 0050C2969 Gehrke Kommunikationssysteme GmbH 0050C296A Elektrobit Wireless Communications Ltd 0050C296B Electronic Media Services Ltd 0050C296C Aqua Cooler Pty Ltd 0050C296D Keene Electronics Ltd. 0050C296E Peek Traffic Corporation 0050C296F Varec Inc. 0050C2970 Tsuji Electronics Co.,Ltd 0050C2971 Ipitek 0050C2972 Switch Science (Panini Keikaku) 0050C2973 Syst�mes Pran 0050C2974 EMAC, INC. 0050C2975 Pyramid Technical Consultants 0050C2976 SANDS INSTRUMENTATION INDIA PVT LTD 0050C2977 Saia-Burgess Controls AG 0050C2978 LOGITAL DIGITAL MEDIA srl 0050C2979 Far South Networks (Pty) Ltd 0050C297A KST Technology Co., Ltd 0050C297B SMARTQUANTUM SA 0050C297C Creacon Technologies B.V. 0050C297D Soehnle Professional GmbH & Co.KG 0050C297E Long Distance Technologies 0050C297F C&I Co.Ltd 0050C2980 Digital Payment Technologies 0050C2981 Novotronik GmbH 0050C2982 Triple Ring Technologies, Inc. 0050C2983 Bogart Engineering 0050C2984 Atel Corporation 0050C2985 Earnestcom Sdn Bhd 0050C2986 DSCI 0050C2987 Joinsoon Electronics MFG. Co., Ltd 0050C2988 Pantel International 0050C2989 Psigenics Corporation 0050C298A MEV Limited 0050C298B TI2000 TECNOLOGIA INFORMATICA 2000 0050C298C MGM-Devices Oy 0050C298D Mecos Traxler AG 0050C298E Link Technologies, Inc 0050C298F BELIK S.P.R.L. 0050C2990 Keith & Koep GmbH 0050C2991 UGL Limited 0050C2992 IDT Sound Processing Corporation 0050C2993 UNETCONVERGENCE CO., LTD 0050C2994 Xafax Nederland bv 0050C2995 Inter Control Hermann K�hler Elektrik GmbH&Co.KG 0050C2996 Commercial Timesharing Inc. 0050C2997 Depro Electronique 0050C2998 Phytec Messtechnik GmbH 0050C2999 Cambustion Ltd 0050C299A Miromico AG 0050C299B Bettini srl 0050C299C CaTs3 Limited 0050C299D Powersense A/S 0050C299E Engage Technologies 0050C299F Sietron Elektronik 0050C29A0 Trs Systems, Inc. 0050C29A1 ComAp s.r.o 0050C29A2 SAMsystems GmbH 0050C29A3 Computerwise, Inc. 0050C29A4 Entwicklung Hard- & Software 0050C29A5 Conolog Corporation 0050C29A6 Metodo2 0050C29A7 Thales Communications France 0050C29A8 DOMIS SA 0050C29A9 General Dynamics C4 Systems 0050C29AA TEKO TELECOM SpA 0050C29AB Electrodata Inc. 0050C29AC Questek Australia Pty Ltd 0050C29AD Chronos Technology Ltd. 0050C29AE Esensors, Inc. 0050C29AF KRESS-NET Krzysztof Rutecki 0050C29B0 Ebru GmbH 0050C29B1 Bon Hora GmbH 0050C29B2 TempSys 0050C29B3 Kahler Automation 0050C29B4 EUKREA ELECTROMATIQUE SARL 0050C29B5 Telegamma srl 0050C29B6 ACTECH 0050C29B7 St. Michael Strategies 0050C29B8 Sound Player Systems e.K. 0050C29B9 ISA - Intelligent Sensing Anywhere, S.A. 0050C29BA Connor-Winfield 0050C29BB OMICRON electronics GmbH 0050C29BC Vester Elektronik GmbH 0050C29BD Sensitron Semiconductor 0050C29BE Xad Communications Ltd 0050C29BF 2N TELEKOMUNIKACE a.s. 0050C29C0 Stuyts Engineering Haarlem BV 0050C29C1 Tattile srl 0050C29C2 Team Enginers 0050C29C3 GE Security-Kampro 0050C29C4 Vitel Net 0050C29C5 Scansonic MI GmbH 0050C29C6 Protronic GmbH 0050C29C7 Kumera Drives Oy 0050C29C8 ethermetrics 0050C29C9 LUMINEX Lighting Control Equipment 0050C29CA ESAB-ATAS GmbH 0050C29CB NIS-time GmbH 0050C29CC Hirotech, Inc 0050C29CD Uwe Schneider GmbH 0050C29CE Ronan Engineering 0050C29CF Intuitive Surgical, Inc 0050C29D0 J. DITTRICH ELEKTRONIC GmbH & Co. KG 0050C29D1 Bladelius Design Group AB 0050C29D2 Saia-Burgess Controls AG 0050C29D3 Telemetrie Elektronik GmbH 0050C29D4 FIRST 0050C29D5 Netpower Labs AB 0050C29D6 Innovation, Institute, Inc 0050C29D7 Melex Inc. 0050C29D8 SAMSUNG HEAVY INDUSTRIES CO.,LTD. 0050C29D9 CNS Systems, Inc. 0050C29DA NEUTRONIK e.K. 0050C29DB Walter Grotkasten 0050C29DC FTM Marketing Limited 0050C29DD Institut Dr. Foerster 0050C29DE CHAUVIN ARNOUX 0050C29DF CODEC Co., Ltd. 0050C29E0 DST Swiss AG 0050C29E1 Enreduce Energy Control AB 0050C29E2 E-ViEWS SAFETY SYSTEMS, INC 0050C29E3 beON Automatenmanagement GmbH 0050C29E4 Pyxis Controls WLL 0050C29E5 Halliburton Far East Pte Ltd 0050C29E6 Kumho Electric, Inc. 0050C29E7 DORLET S.A. 0050C29E8 Hammock Corporation 0050C29E9 Ciemme Sistemi Spa 0050C29EA SISMODULAR - Engenharia, Lda 0050C29EB AFORE Solutions Inc. 0050C29EC TOPEX SA 0050C29ED Picell B.V. 0050C29EE Michael Stevens & Partners Ltd 0050C29EF WoKa-Elektronik GmbH 0050C29F0 Veracity UK Ltd 0050C29F1 IDEAS s.r.l. 0050C29F2 Keith & Koep GmbH 0050C29F3 Vision Technologies, Inc. 0050C29F4 FSR Inc. 0050C29F5 Commex Technologies 0050C29F6 Ion Sense Inc. 0050C29F7 Dave Jones Design 0050C29F8 Austco Communication Systems Pty Ltd 0050C29F9 ABB Transmission and Distribution Auto Eqip(Xiamen.China) 0050C29FA Teranex A Division of Silicon Optix 0050C29FB Villbau Kft. 0050C29FC ECTEC INC. 0050C29FD Bitt technology-A Ltd. 0050C29FE SPECTRA EMBEDDED SYSTEMS 0050C29FF Humphrey Products 0050C2A00 Technovare Systems 0050C2A01 Patronics International LTD 0050C2A02 Reference, LLC. 0050C2A03 EEG Enterprises Inc 0050C2A04 TP Radio 0050C2A05 Adgil Design Inc. 0050C2A06 Cloos Schweisstechnik GmbH 0050C2A07 Dynon Instruments 0050C2A08 LabJack Corporation 0050C2A09 Innovative American Technology 0050C2A0A ACD Elektronik Gmbh 0050C2A0B I.D.S. Ingegneria Dei Sistemi S.p.A. 0050C2A0C Phytec Messtechnik GmbH 0050C2A0D CHARLYROBOT 0050C2A0E Engicam srl 0050C2A0F Visualware Inc 0050C2A10 Essential Design & Integration P/L 0050C2A11 OJSC Rawenstvo 0050C2A12 HCE Engineering S.r.l. 0050C2A13 Talyst, Inc. 0050C2A14 Elbit Systems of America - Tallahassee Operations 0050C2A15 Industrial Computing Ltd 0050C2A16 Baudisch Electronic GmbH 0050C2A17 Winners Satellite Electronics Corp. 0050C2A18 Eoslink 0050C2A19 Icon Time Systems 0050C2A1A DDL 0050C2A1B Realtime Systems Ltd. 0050C2A1C Microtechnica 0050C2A1D SAMH Engineering Services 0050C2A1E MAMAC Systems, Inc. 0050C2A1F Flight Data Systems Pty Ltd 0050C2A20 Quorum Technologies Ltd 0050C2A21 ISAC SRL 0050C2A22 Nippon Manufacturing Service Corporation (abbreviated as 'nms') 0050C2A23 Agility Mfg, Inc. 0050C2A24 GRUPO EPELSA s.l. 0050C2A25 Saia-Burgess Controls AG 0050C2A26 Preferred Oil, LLC 0050C2A27 meconet e. K. 0050C2A28 KENDA ELECTRONIC SYSTEMS LIMITED 0050C2A29 Luminex Corporation 0050C2A2A Custom Control Concepts 0050C2A2B APRILIA RACING S.R.L. 0050C2A2C KWS-Electronic GmbH 0050C2A2D Inventure Inc. 0050C2A2E Yuyama Mfg. Co., Ltd. 0050C2A2F DragonFly Scientific LLC 0050C2A30 D-TA Systems 0050C2A31 Coolit Systems, Inc. 0050C2A32 Harris Designs of NRV, Inc. 0050C2A33 Fuji Firmware 0050C2A34 Casabyte Inc. 0050C2A35 Appareo Systems, LLC 0050C2A36 Shenzhen Shangji electronic Co.Ltd 0050C2A37 Software Systems Plus 0050C2A38 Tred Displays 0050C2A39 Industrial Data Products Ltd 0050C2A3A Telecor Inc. 0050C2A3B IPcontrols GmbH 0050C2A3C BR�HLER ICS Konferenztechnik AG 0050C2A3D OWANDY 0050C2A3E DUEVI SNC DI MORA E SANTESE 0050C2A3F LHA Systems CC 0050C2A40 Mosberger Consulting LLC 0050C2A41 Meiryo Denshi Corp. 0050C2A42 RealVision Inc. 0050C2A43 NKS Co.Ltd. 0050C2A44 TORC Technologies 0050C2A45 Sofradir-EC 0050C2A46 Softronics Ltd. 0050C2A47 PRIMETECH ENGINEERING CORP. 0050C2A48 Thales Optronics Limited 0050C2A49 Wayne Dalton Corp. 0050C2A4A DITRON S.r.l. 0050C2A4B L-3 Communications Mobile-Vision, Inc. 0050C2A4C VasoNova, Inc. 0050C2A4D LevelStar LLC. 0050C2A4E Conduant Corporation 0050C2A4F Deuta GmbH 0050C2A50 i-RED Infrarot Systeme GmbH 0050C2A51 Y-products co.ltd. 0050C2A52 The VON Corporation 0050C2A53 Quality & Design 0050C2A54 Diamond Point International (Europe) Ltd 0050C2A55 Arrowvale Electronics 0050C2A56 ReaMetrix, Inc. 0050C2A57 Juice Technologies, LLC 0050C2A58 EPL 0050C2A59 GSP Sprachtechnologie GmbH 0050C2A5A ITAS A/S 0050C2A5B Phytec Messtechnik GmbH 0050C2A5C JSC "Component-ASU" 0050C2A5D MECC CO., LTD. 0050C2A5E Ansen Investment Holdings Ltd. 0050C2A5F Mitec Telecom Inc 0050C2A60 Arrow Central Europe GmbH - Division Spoerle 0050C2A61 Fr. Sauter AG 0050C2A62 Grossenbacher Systeme AG 0050C2A63 EMS Industries 0050C2A64 tetronik GmbH AEN 0050C2A65 Mark-O-Print GmbH 0050C2A66 DVTech 0050C2A67 GSS Avionics Limited 0050C2A68 X-Pert Paint Mixing Systems 0050C2A69 Advanced Integrated Systems 0050C2A6A Infocrossing 0050C2A6B Explorer Inc. 0050C2A6C Figment Design Laboratories 0050C2A6D DTV Innovations 0050C2A6E Screen Technics Pty Limited 0050C2A6F Saia-Burgess Controls AG 0050C2A70 Reliable System Services Corp 0050C2A71 Purite Ltd 0050C2A72 Gamber-Johnson LLC. 0050C2A73 KYOEI ENGINEERING Co.,Ltd. 0050C2A74 DSP DESIGN LTD 0050C2A75 JTL Systems Ltd. 0050C2A76 Roesch & Walter Industrie-Elektronik GmbH 0050C2A77 Keith & Koep GmbH 0050C2A78 Apantac LLC 0050C2A79 Saintronic 0050C2A7A DetNet South Africa PTY (LTD) 0050C2A7B Orange Tree Technologies 0050C2A7C Pneu-Logic Corporation 0050C2A7D Vitel Net 0050C2A7E Independent Project Engineering Ltd 0050C2A7F Phytec Messtechnik GmbH 0050C2A80 ARD SA 0050C2A81 BPC circuits Ltd 0050C2A82 CT Company 0050C2A83 Techno Sobi Co. Ltd. 0050C2A84 Lino Manfrotto +Co spa 0050C2A85 JOYSYSTEM 0050C2A86 LIMAB AB 0050C2A87 Littlemore Scientific 0050C2A88 S-SYS 0050C2A89 CA Traffic Ltd 0050C2A8A Audio Engineering Ltd. 0050C2A8B Navicron Oy 0050C2A8C Redwire, LLC 0050C2A8D Frontier Electronic Systems Corp. 0050C2A8E BFI Industrie-Elektronik GmbH & Co.KG 0050C2A8F Quantum3D, Inc. 0050C2A90 S.two Corporation 0050C2A91 Ceron Tech Co.,LTD 0050C2A92 Sicon s.r.l. 0050C2A93 SPX Dehydration & Filtration 0050C2A94 Par-Tech, Inc. 0050C2A95 INNOVACIONES MICROELECTRONICAS SL (AnaFocus) 0050C2A96 FEP SRL 0050C2A97 MICROSYSTEMES 0050C2A98 Sentry 360 Security 0050C2A99 Haivision Systems Inc 0050C2A9A Absolutron. LLC 0050C2A9B PDQ Manufacturing Inc. 0050C2A9C Eberspaecher Electronics GmbH & Co. KG 0050C2A9D Joehl & Koeferli AG 0050C2A9E Procon Engineering Limited 0050C2A9F YellowSoft Co., Ltd. 0050C2AA0 Smith Meter, Inc. 0050C2AA1 ELREM ELECTRONIC AG 0050C2AA2 ELPA sas 0050C2AA3 Peek Traffic/US Traffic 0050C2AA4 PSi Printer Systems international GmbH 0050C2AA5 Tampere University of Technology 0050C2AA6 Bassett Electronic Systems ltd 0050C2AA7 Endeas Oy 0050C2AA8 Nexans Cabling Solutions 0050C2AA9 SAN GIORGIO S.E.I.N. srl 0050C2AAA Flexible Picture Systems 0050C2AAB BRS Sistemas Eletr�nicos 0050C2AAC VisiCon GmbH 0050C2AAD Update Systems Inc. 0050C2AAE OUTLINE srl 0050C2AAF Santa Barbara Instrument Group 0050C2AB0 FRAKO Kondensatoren- und Anlagenbau GmbH 0050C2AB1 Bitmanufaktur GmbH 0050C2AB2 ProCom Systems, Inc. 0050C2AB3 Compa�ia de Instrumentacion y control, S.L. 0050C2AB4 n3k Informatik GmbH 0050C2AB5 METTLER-TOLEDO HI-SPEED 0050C2AB6 Gygax Embedded Engineering GEE.ch 0050C2AB7 Twinfalls Technologies 0050C2AB8 AHM Limited (CLiKAPAD) 0050C2AB9 Showtacle 0050C2ABA Saia-Burgess Controls AG 0050C2ABB Volantic AB 0050C2ABC Barrick 0050C2ABD Monitor Business Machines Ltd. 0050C2ABE AP Labs 0050C2ABF MCC Computer Company 0050C2AC0 DS PRO Audio Ltda 0050C2AC1 DAISHIN-DENSHI Co., Ltd 0050C2AC2 OpenXS B.V. 0050C2AC3 Diversified Control, Inc. 0050C2AC4 Orion Technologies, Inc. 0050C2AC5 E-Motion System, Inc. 0050C2AC6 Marathon Products, Inc. 0050C2AC7 WaveIP 0050C2AC8 Palladio Systeme GmbH 0050C2AC9 Steinbeis-Transferzentrum Embedded Design und Networking 0050C2ACA Soft & Control Technology s.r.o. 0050C2ACB U-CARE INC. 0050C2ACC StockerYale 0050C2ACD MeshWorks Wireless Oy 0050C2ACE ChronoLogic Pty. Ltd. 0050C2ACF SP Controls, Inc 0050C2AD0 Geonautics Australia Pty Ltd 0050C2AD1 Phytec Messtechnik GmbH 0050C2AD2 Rafael 0050C2AD3 Peek Traffic Corporation 0050C2AD4 Global Rainmakers Inc. 0050C2AD5 Mighty Lube Systematic Lubrication, Inc. 0050C2AD6 Unisensor A/S 0050C2AD7 Air Monitors Ltd 0050C2AD8 Incyma 0050C2AD9 elettrondata srl 0050C2ADA Essepie Srl 0050C2ADB GO engineering GmbH 0050C2ADC Synthesechemie Dr. Penth GmbH 0050C2ADD General Dynamics C4 Sysems 0050C2ADE Neoptix Inc. 0050C2ADF Altinex, Inc 0050C2AE0 AT4 wireless.S.A 0050C2AE1 EVERCARE 0050C2AE2 Power Medical Interventions 0050C2AE3 PSD 0050C2AE4 Advanced Electronic Designs, Inc. 0050C2AE5 ABS Gesellschaft f. Automatisierung, Bildverarbeitung und Software mbH 0050C2AE6 VECOM USA 0050C2AE7 Redwood Systems 0050C2AE8 Bit-Lab PTY LTD 0050C2AE9 ClearCorp Enterprises, Inc 0050C2AEA EMBEDIA 0050C2AEB UMLogics Corporation 0050C2AEC Fritz Pauker Ingenieure GmbH 0050C2AED 3Roam 0050C2AEE IPtec, Inc. 0050C2AEF National CineMedia 0050C2AF0 Fr. Sauter AG 0050C2AF1 Green Goose 0050C2AF2 ACD Elektronik Gmbh 0050C2AF3 Palomar Products, Inc. 0050C2AF4 Dixell S.p.A. 0050C2AF5 Kramara s.r.o. 0050C2AF6 Energid 0050C2AF7 Midwest Microwave Solutions Inc. 0050C2AF8 Global Satellite Engineering 0050C2AF9 Ingenieurbuero Bickele und Buehler GmbH 0050C2AFA Absolute Fire Solutions Inc. 0050C2AFB PRIVATE 0050C2AFC Odus Technologies SA 0050C2AFD HomeScenario, Inc. 0050C2AFE Trolex Limited 0050C2AFF XoByte LLC 0050C2B00 Saia-Burgess Controls AG 0050C2B01 HSR Harald L. Reuter 0050C2B02 MASTER CO LTD 0050C2B03 Spider Tecnologia Ind. e Com. Ltda. 0050C2B04 Ubiquiti Networks 0050C2B05 POLA s.r.l. 0050C2B06 CompuDesigns, Inc. 0050C2B07 FARECO 0050C2B08 Goerlitz AG 0050C2B09 Harper Chalice Group Limited 0050C2B0A Indutherm Giesstechnologie GmbH 0050C2B0B Honeywell 0050C2B0C SMARTB TECHNOLOGIES 0050C2B0D Japan Electronics System, Inc 0050C2B0E KYAB Lulea AB 0050C2B0F NARA Controls Inc. 0050C2B10 Marine Entertainment Systems Ltd 0050C2B11 EXEL s.r.l 0050C2B12 CM Elektronik GmbH 0050C2B13 Measy Electronics Co., Ltd. 0050C2B14 Keith & Koep GmbH 0050C2B15 PhotoTelesis LP 0050C2B16 Neothings, Inc. 0050C2B17 Elcoteq Design Center Oy 0050C2B18 Rosslare Enterprises Limited 0050C2B19 Polytron Corporation 0050C2B1A ELCUS 0050C2B1B Integrated Control Corp. 0050C2B1C Phytec Messtechnik GmbH 0050C2B1D Telegenix 0050C2B1E Abbott Medical Optics 0050C2B1F SCA Schucker GmbH & Co. 0050C2B20 FIVE9 NETWORK SYSTEMS LLC 0050C2B21 Phytron-Elektronik GmbH 0050C2B22 FarSite Communications Limited 0050C2B23 7 Marsyas Development a.s. 0050C2B24 Teledyne Defence Limited 0050C2B25 Triax A/S 0050C2B26 Elko Systems 0050C2B27 ATEME 0050C2B28 Micromax Pty. Ltd. 0050C2B29 Integra LifeSciences (Ireland) Ltd 0050C2B2A Trench Austria GmbH 0050C2B2B CosmoData Informatica Ltda. 0050C2B2C Concepteers, LLC 0050C2B2D Datasat Digital Entertainment 0050C2B2E ACT 0050C2B2F IntelliVision Technologies, Corp 0050C2B30 Applied Micro Electronics "AME" BV 0050C2B31 Shop Safe AG 0050C2B32 Byres Security Inc 0050C2B33 Numcore Ltd 0050C2B34 Meisol co.,ltd 0050C2B35 haneron 0050C2B36 CRDE 0050C2B37 IAdea Corporation 0050C2B38 Grenmore Ltd 0050C2B39 siXis, Inc. 0050C2B3A Nikon Systems Inc. 0050C2B3B Sportvision Inc. 0050C2B3C JanasCard 0050C2B3D AMS 0050C2B3E Sage Consultants 0050C2B3F M-Tronic Design and Technology GmbH 0050C2B40 Tecnint HTE SRL 0050C2B41 Tata Power Company, Strategic Electronics Division 0050C2B42 ETM Electromatic Incorporated 0050C2B43 J-Systems Inc. 0050C2B44 Ampcontrol Pty Ltd 0050C2B45 Efftronics Systems (P) Ltd 0050C2B46 Mobileye 0050C2B47 MCS MICRONIC Computer Systeme GmbH 0050C2B48 MTD GmbH 0050C2B49 Aplex Technology Inc. 0050C2B4A Saia-Burgess Controls AG 0050C2B4B Chitose Co.,Ltd 0050C2B4C ElectroCom 0050C2B4D Troll Systems Corporation 0050C2B4E AixControl GmbH 0050C2B4F Sencon UK Ltd. 0050C2B50 SELCO 0050C2B51 Aeroflex GmbH 0050C2B52 SMH Technologies 0050C2B53 Prodco 0050C2B54 APG Cash Drawer, LLC 0050C2B55 SANYO ELECTRONIC INDUSTRIES CO.,LTD 0050C2B56 SINOVIA SA 0050C2B57 Phytec Messtechnik GmbH 0050C2B58 Real D 0050C2B59 SLICAN sp. z o.o. 0050C2B5A GREEN Center s.r.o. 0050C2B5B Timberline Mfg Company 0050C2B5C ADI Video Technologies 0050C2B5D Plitron Manufacturing Inc. 0050C2B5E Palgiken Co.,Ltd. 0050C2B5F North Bridge Technologies 0050C2B60 OOO NPF ATIS 0050C2B61 Nayos LTD 0050C2B62 Measurement Technology NW 0050C2B63 RO.VE.R. Laboratories S.p.A 0050C2B64 FEW Bauer GmbH 0050C2B65 Peek Traffic Corporation 0050C2B66 Deuta-Werke GmbH 0050C2B67 RC Systems Co. Inc. 0050C2B68 Electronic Systems Protection, Inc. 0050C2B69 Thetis S.p.A. 0050C2B6A Phytec Messtechnik GmbH 0050C2B6B Phytec Messtechnik GmbH 0050C2B6C Drinelec 0050C2B6D Sound Metrics Corp 0050C2B6E PRIVATE 0050C2B6F CT Company 0050C2B70 Nisshin Electronics co.,ltd. 0050C2B71 Digitale Analoge COMponenten West Electronic Vertriebs GmbH 0050C2B72 Advanced Desktop Systems Ltd 0050C2B73 ARKRAY, Inc. 0050C2B74 AXED Jakubowski Wojciechowski sp.j. 0050C2B75 Blankom 0050C2B76 ITF Fr�schl GmbH 0050C2B77 KRISTECH 0050C2B78 Folink 0050C2B79 MITSUYA LABORATORIES INC. 0050C2B7A Schnoor Industrieelektronik GmbH & Co. KG 0050C2B7B QUARTECH CORPORATION 0050C2B7C Bettini srl 0050C2B7D ELETECH Srl 0050C2B7E NARETRENDS 0050C2B7F Enatel 0050C2B80 iScreen LLC 0050C2B81 GHL GmbH & Co.KG 0050C2B82 TANABIKI Inc. 0050C2B83 Advanced Storage Concepts, Inc. 0050C2B84 Innovate Software Solutions Pvt Ltd 0050C2B85 SilverNet 0050C2B86 ASTO 0050C2B87 EMAC, Inc. 0050C2B88 GIgatronik K�ln GmbH 0050C2B89 ENTEC Electric & Electronic Co., LTD. 0050C2B8A MicroPoise 0050C2B8B CSTI BV 0050C2B8C Keith & Koep GmbH 0050C2B8D CEMSI 0050C2B8E WAC (Israel) Ltd. 0050C2B8F Gentec 0050C2B90 NAONWORKS Co., Ltd 0050C2B91 Finnet-Service Ltd. 0050C2B92 ABB Transmission and Distribution Auto Eqip(Xiamen.China) 0050C2B93 EMC PARTNER AG 0050C2B94 Tritech International Ltd 0050C2B95 Rx Monitoring Services 0050C2B96 Onix Electronic Systems Inc 0050C2B97 ikerlan 0050C2B98 Southwest Research Institute 0050C2B99 Greenlight Innovation Corp. 0050C2B9A Talo, NV Inc 0050C2B9B Telventy Energia S.A. 0050C2B9C Dave srl 0050C2B9D W. Vershoven GmbH 0050C2B9E Saia-Burgess Controls AG 0050C2B9F AUDIOSCOPE 2K SRL 0050C2BA0 txtr GmbH 0050C2BA1 Transtechnik GmbH & Co.KG 0050C2BA2 Logical Tools s.r.l. 0050C2BA3 DSP DESIGN LTD 0050C2BA4 CUSTOS MOBILE S.L. 0050C2BA5 InterCel Pty Ltd 0050C2BA6 Jomitek 0050C2BA7 RaumComputer Entwicklungs- und Vertriebs GmbH 0050C2BA8 Peek Traffic Corporation 0050C2BA9 SISS Technology Inc. 0050C2BAA NetworkFX Communications, LLC 0050C2BAB iDeal Teknoloji Bilisim Cozumleri A.S. 0050C2BAC VITECO VNPT JSC 0050C2BAD Prediktor AS 0050C2BAE Fiber Connections Inc. 0050C2BAF MangoDSP 0050C2BB0 Gainbrain 0050C2BB1 Pro4tech 0050C2BB2 St Michael Strategies Inc 0050C2BB3 ClimateWell AB (publ) 0050C2BB4 JSC Electrical Equipment Factory 0050C2BB5 MROAD INFORMATION SYSTEM 0050C2BB6 Quarch Technology Ltd 0050C2BB7 General Dynamics C4 Systems 0050C2BB8 MoeTronix 0050C2BB9 Toptech Systems, Inc. 0050C2BBA Systemteq Limited 0050C2BBB GHL Systems Berhad 0050C2BBC ImpactSystems 0050C2BBD ITS Telecom 0050C2BBE Onlinepizza Norden AB 0050C2BBF Phytec Messtechnik GmbH 0050C2BC0 Galaxia Electronics 0050C2BC1 Sentec Ltd 0050C2BC2 XSLENT Energy Technologies LLC 0050C2BC3 Phytec Messtechnik GmbH 0050C2BC4 Wheatstone Corporation 0050C2BC5 Toptechnology SRL 0050C2BC6 MireroTack 0050C2BC7 PTS GmbH 0050C2BC8 AGWTech Ltd 0050C2BC9 Nextmove Technologies 0050C2BCA Aitecsystem Co.,Ltd. 0050C2BCB ARTEIXO TELECOM 0050C2BCC VVDN TECHNOLOGIES PVT. LTD. 0050C2BCD Highlight Parking Systems Ltd 0050C2BCE TV Portal Co., Ltd. 0050C2BCF Epiko, elektronski sistemi d.o.o. 0050C2BD0 EDC wifi 0050C2BD1 Ariem Technologies Pvt Ltd 0050C2BD2 Percello Ltd. 0050C2BD3 Postjet Systems Ltd 0050C2BD4 Global Security Devices 0050C2BD5 RF-Embedded GmbH 0050C2BD6 BG Systems, Inc. 0050C2BD7 SLAT 0050C2BD8 b.a.b-technologie gmbh 0050C2BD9 AMS Controls, Inc. 0050C2BDA Digital Lumens 0050C2BDB GasTOPS Ltd. 0050C2BDC SS Systems LLC 0050C2BDE Evo-Teh d.o.o. 0050C2BDF Euro-Konsult Sp. z o.o. 0050C2BE0 Phaedrus Limited 0050C2BE1 TATTILE SRL 0050C2BE2 Convergent Bioscience Ltd. 0050C2BE3 Jiskoot Ltd 0050C2BE4 GRUPO EPELSA S.L. 0050C2BE5 RF Code, Inc 0050C2BE6 Docobo Ltd 0050C2BE7 Genetec Inc. 0050C2BE8 VEHICLE TESTING EQUIPMENT, S.L. 0050C2BE9 ZUCCHETTI SPA 0050C2BEA Daeyoung inc. 0050C2BEB Peek Traffic Corporation 0050C2BEC DRS Laruel Technologies 0050C2BED Touch Revolution Inc. 0050C2BEE PRIVATE 0050C2BEF SOCIEDAD IBERICA DE CONSTRUCCIONES ELECTRICAS, S.A. (SICE) 0050C2BF0 AIM 0050C2BF1 Amatic Industries GmbH 0050C2BF2 Saia-Burgess Controls AG 0050C2BF3 Wanco Inc. 0050C2BF4 Monarch Innovative Technologies Pvt Ltd 0050C2BF5 AILES ELECTRONICS CO., LTD. 0050C2BF6 NOLAM EMBEDDED SYSTEMS 0050C2BF7 Phytec Messtechnik GmbH 0050C2BF8 Crtiical Link 0050C2BF9 Vitel Net 0050C2BFA TOPEX SA 0050C2BFB ecs srl 0050C2BFC Altronix Corporation 0050C2BFD Ernemann Cine Tec GmbH 0050C2BFE Ingeteam Paneles S.A.U. 0050C2BFF I.S.A. S.r.l. 0050C2C00 ACD Elektronik GmbH 0050C2C01 QUERCUS TECHNOLOGIES, S.L. 0050C2C02 Hanning Elektro-Werke GmbH & Co. KG 0050C2C03 Volumatic Limited. 0050C2C04 SoGEME 0050C2C05 Doppler Systems LLC 0050C2C06 ANALOG WAY 0050C2C07 CIO Informatique Industrielle 0050C2C08 juiceboss 0050C2C09 Globe Wireless 0050C2C0A ABB Transmission and Distribution Auto Eqip(Xiamen.China) 0050C2C0B ProSourcing GmbH 0050C2C0C Altierre 0050C2C0D Fr. SauterAG 0050C2C0E AVItronic GmbH 0050C2C0F DYCEC, S.A. 0050C2C10 Keith & Koep GmbH 0050C2C11 ART Antriebs- und Regeltechnik GmbH 0050C2C12 OKI DENKI BOHSAI CO.,LTD. 0050C2C13 Dantec Dynamics A/S 0050C2C14 Spectronix Corporation 0050C2C15 INO - Institut National d'Optique 0050C2C16 OMICRON electronics GmbH 0050C2C17 Axis-Shield PoC AS 0050C2C18 Linuxstamp Designs, LLC 0050C2C19 Ibercomp SA 0050C2C1A SAM Co., Ltd. 0050C2C1B Graesslin GmbH 0050C2C1C Becton Dickinson 0050C2C1D Powerbase Energy Systems Inc. 0050C2C1E Peperoni-Light 0050C2C1F Specialist Electronics Services Ltd 0050C2C20 SRC Computers, LLC 0050C2C21 PRIVATE 0050C2C22 Audient Ltd 0050C2C23 Vidicon LLC 0050C2C24 Qualnetics Corporation 0050C2C25 PRIVATE 0050C2C26 Austco Communication Systems Pty Ltd 0050C2C27 Qtechnology A/S 0050C2C28 ELREHA GmbH 0050C2C29 Newtel Engineering S.r.l. 0050C2C2A RealTime Systems Ltd 0050C2C2B Z-App Systems, Inc. 0050C2C2C bach-messtechnik gmbh 0050C2C2D Digitale Analoge COMponenten West Electronic Vertriebs GmbH 0050C2C2E DISMUNTEL SAL 0050C2C2F REFLEX CES 0050C2C30 Wagner Group GmbH 0050C2C31 4D Technology Corporation 0050C2C32 Procon Electronics Pty Ltd 0050C2C34 Kyuhen 0050C2C35 Insitu, Inc. 0050C2C36 SET GmbH 0050C2C37 BEAR Solutions (Australasia) Pty Ltd 0050C2C38 Computer Automation Technology Inc 0050C2C39 SECAD SA 0050C2C3A Sicon s.r.l. 0050C2C3B ELEKTRO-AUTOMATIK GmbH & Co. KG 0050C2C3C ELSIST S.r.l. 0050C2C3D PLA ELECTRO APPLIANCES PVT. LTD. 0050C2C3E Sysacom 0050C2C3F ANXeBusiness Corporation 0050C2C40 BAE Systems Bofors AB 0050C2C41 COMPRION GmbH 0050C2C42 Saia-Burgess Controls AG 0050C2C43 Cammegh Limited 0050C2C44 Beijing Zhongherongzhi Elec.&Tech.Co.,Ltd. 0050C2C45 Galvamat & Unican Technologies SA 0050C2C46 QNE GmbH & Co. KG 0050C2C47 Weltek Technologies Co. Ltd. 0050C2C48 Cytek Media Systems, INC. 0050C2C49 Elektronic Thoma GmbH 0050C2C4A Herrick Technology Laboratories, Inc. 0050C2C4B R.V.R. elettronica s.p.a. 0050C2C4C Lancier Monitoring GmbH 0050C2C4D Industrial Automation Systems 0050C2C4E Elaso AG 0050C2C4F Powersense A/S 0050C2C50 Beceem Communications, Inc. 0050C2C51 InForce Computing, Inc. 0050C2C52 Smartfield, Inc. 0050C2C53 Eilersen Electric A/S 0050C2C54 HPC Platform 0050C2C55 Watterott electronic 0050C2C56 Spirent Communications 0050C2C57 High Speed Design, Inc. 0050C2C58 Foerster-Technik GmbH 0050C2C59 SKD System AB 0050C2C5A Commotive A/S 0050C2C5B MICRO TECHNICA 0050C2C5C WAVECOM ELEKTRONIK AG 0050C2C5D SweMet AB 0050C2C5E CellPlus technologies, Inc. 0050C2C5F Icon Time Systems 0050C2C60 Integration Technologies Limited 0050C2C61 HaiVision Systems Incorporated 0050C2C62 Zeus Systems Private Limited 0050C2C63 Potter Electric Signal Company 0050C2C64 Pal Software Service Co.,Ltd. 0050C2C65 Micro I/O Servicos de Electronica, Lda 0050C2C66 KS Beschallungstechnik GmbH 0050C2C67 Practical Control Ltd 0050C2C68 Broadsoft PacketSmart, Inc. 0050C2C69 REBO CO.,LTD. 0050C2C6A ELECTRONICA KELD 0050C2C6B SiGarden Sp z o.o. 0050C2C6C DORLET S.A. 0050C2C6D Deansoft CO., Ltd. 0050C2C6E TBS Holding AG 0050C2C6F MSB Elektronik und Geraetebau GmbH 0050C2C70 Wilke Technology GmbH 0050C2C71 Sequoia Technology Group Ltd 0050C2C72 Quail 0050C2C73 Industry Controls, Inc. 0050C2C74 Wapice Ltd. 0050C2C75 Rovsing A/S 0050C2C76 GridManager A/S 0050C2C77 AIM Co.,Ltd 0050C2C78 9Solutions Oy 0050C2C79 CODESYSTEM Co.,Ltd 0050C2C7A Protonic Holland 0050C2C7B Honeywell 0050C2C7C Scienlab Electronic Systems GmbH 0050C2C7D TAE Antriebstechnik GmbH 0050C2C7E Buerkert Werke GmbH 0050C2C7F Kinects Solutions Inc 0050C2C80 Reko-vek 0050C2C81 Odyssee Systemes SAS 0050C2C82 Kyosha Industries 0050C2C83 Gronic Systems GmbH 0050C2C84 DOMIS 0050C2C85 Peek Traffic Corporation 0050C2C86 Bruckner & Jarosch Ingenieurgesellschaft mbH 0050C2C87 LECO Corporation 0050C2C88 CSI Controles e Sistemas Industriais Ltda. 0050C2C89 Creative Micro Design 0050C2C8A Automated Media Services, Inc. 0050C2C8B OCAS AS 0050C2C8C Lanmark Controls Inc. 0050C2C8D Emergency Message Controls LLC 0050C2C8E SDD ITG 0050C2C8F Keith & Koep GmbH 0050C2C90 REALD 0050C2C91 Media Technologies Ltd. 0050C2C92 EMAC, Inc. 0050C2C93 SENSAIR Pty Ltd 0050C2C94 ISIS ENGINEERING, S.A. 0050C2C95 IPSES S.r.l. 0050C2C96 CyberCraft 0050C2C97 MSTRONIC CO., LTD. 0050C2C98 Criticare Systems, Inc 0050C2C99 HJPC Corporation dba Pactron 0050C2C9A PACOMP Sp. z o.o. 0050C2C9B Sm electronic co. 0050C2C9C Saia-Burgess Controls AG 0050C2C9D Radius Sweden AB 0050C2C9E TOPEX SA 0050C2C9F Etherhome 0050C2CA0 Kiefer technic GmbH 0050C2CA1 Wayne Kerr Electronics 0050C2CA2 The Logical Company 0050C2CA3 CT Company 0050C2CA4 Vox Technologies 0050C2CA5 YOKOWO CO.,LTD 0050C2CA6 Vidisys GmbH 0050C2CA7 Thermo Fisher Scientific 0050C2CA8 Systems With Intelligence Inc. 0050C2CA9 Intelligent Devices 0050C2CAA DSP DESIGN LTD 0050C2CAB SAE IT-systems GmbH & Co. KG 0050C2CAC PURVIS Systems Incorporated 0050C2CAD Pacific Coast Engineering 0050C2CAE Campbell Scientific Canada Corp. 0050C2CAF Fr. Sauter AG 0050C2CB0 Konsmetal S.A. 0050C2CB1 ZK Celltest Inc 0050C2CB2 Moravian Instruments 0050C2CB3 Deuta-Werke GmbH 0050C2CB4 GEA Farm Technologies GmbH 0050C2CB5 PRIVATE 0050C2CB6 Krontek Pty Ltd 0050C2CB7 inotech GmbH 0050C2CB8 Raith GmbH 0050C2CB9 Micro Technic A/S 0050C2CBA DELTA TAU DATA SYSTEMS 0050C2CBB Coptonix GmbH 0050C2CBC CP ELETRONICA SA 0050C2CBD Hi Tech Electronics Ltd 0050C2CBE CODE BLUE CORPORATION 0050C2CBF Megacon AB 0050C2CC0 World Time Solutions Limited 0050C2CC1 Level 3 Communications 0050C2CC2 ConectaIP Tecnologia S.L. 0050C2CC3 viscount systems inc. 0050C2CC4 General Dynamics C4S 0050C2CC5 Tecnovum AG 0050C2CC6 KDT 0050C2CC7 TOPROOT Technology Corp. Ltd., 0050C2CC8 PRIVATE 0050C2CC9 Promess GmbH 0050C2CCA SANMINA-SCI SHENZHEN 0050C2CCB CaptiveAire Systems Inc. 0050C2CCC Smartech-technology 0050C2CCD FUJI DATA SYSTEM Co.,Ltd. 0050C2CCE Mac-Gray Corporation 0050C2CCF TASK SISTEMAS DE COMPUTACAO LTDA 0050C2CD0 MME Mueller Mikroelektronik 0050C2CD1 ACD Elektronik GmbH 0050C2CD2 SIM2 Multimedia S.p.A. 0050C2CD3 Covidence A/S 0050C2CD4 SCHRAML GmbH 0050C2CD5 Arcos Technologies Ltd. 0050C2CD6 Arktan Systems 0050C2CD7 Saia-Burgess Controls AG 0050C2CD8 IT-IS International Ltd. 0050C2CD9 NDC Infrared Engineering, Inc. 0050C2CDA taskit GmbH 0050C2CDB RUTTER INC 0050C2CDC ABB Transmission and Distribution Auto Eqip(Xiamen.China) 0050C2CDD K.C.C. SHOKAI LIMITED 0050C2CDE Axotec Technologies GmbH 0050C2CDF CoreEL TEchnologies (I) Pvt Ltd 0050C2CE0 Industrial Control Links, Inc. 0050C2CE1 Satellink Inc. 0050C2CE2 Sicon srl 0050C2CE3 Industrial Automatics Design Bureau 0050C2CE4 TEKTRONIK 0050C2CE5 Maretron, LLP 0050C2CE6 APLICA TECHNOLOGIES 0050C2CE7 Echola Systems 0050C2CE8 Thomas & Betts 0050C2CE9 PRIVATE 0050C2CEA Keith & Koep GmbH 0050C2CEB Toyon Research Corporation 0050C2CEC Erhardt+Leimer GmbH 0050C2CED AeroMechanical Services Ltd, FLYHT 0050C2CEE EMBED-IT OG 0050C2CEF Lupatecnologia e Sistemas Ltda 0050C2CF0 Inviso B.V. 0050C2CF1 TelGaAs, Inc. 0050C2CF2 Weiss Robotics GmbH & Co. KG 0050C2CF3 Daiken Automacao Ltda 0050C2CF4 Baudisch Electronic GmbH 0050C2CF5 Aircell 0050C2CF6 Epec Oy 0050C2CF7 Armour Home Electronics LTD 0050C2CF8 beks Kommunikacios Technika kft 0050C2CF9 Elbit Systems of America 0050C2CFA GRUPO EPELSA S. L. 0050C2CFB New Embedded Technology 0050C2CFC Tritium Pty Ltd 0050C2CFD AIRFOLC,INC. 0050C2CFE Techleader 0050C2CFF INFRASAFE INCORPORATED 0050C2D00 Bodensee Gravitymeter Geosystem GmbH 0050C2D01 Aanderaa Data Instruments 0050C2D02 SURVALENT TECHNOLOGY CORP 0050C2D03 Peekel Instruments B.V. 0050C2D04 Tehama Wireless 0050C2D05 PRIVATE 0050C2D06 nCk Research LLC 0050C2D07 IAF GmbH 0050C2D08 Reimesch Kommunikationssysteme GmbH 0050C2D09 Guardtec, Inc. 0050C2D0A Airpoint Co., Ltd. 0050C2D0B CODACO ELECTRONIC s.r.o. 0050C2D0C JVL Industri Elektronik 0050C2D0D DECA Card Engineering GmbH 0050C2D0E Weinert Engineering GmbH 0050C2D0F Saia-Burgess Controls AG 0050C2D10 Rosslare Enterprises Ltd. 0050C2D11 Aplex Technology Inc. 0050C2D12 Tokyo Weld Co.,Ltd. 0050C2D13 GUNMA ELECTRONICS CO LTD 0050C2D14 SAET I.S. 0050C2D15 MSR-Office GmbH 0050C2D16 Imricor Medical Systems, Inc. 0050C2D17 CUE, a.s. 0050C2D18 Glyn GmbH & Co.KG 0050C2D19 Applied Medical Technologies, Inc DBA AirClean Systems 0050C2D1A GILLAM-FEI S.A. 0050C2D1B TECHKON GmbH 0050C2D1C Recon Dynamics, LLC 0050C2D1D Moco Media Pty Ltd 0050C2D1E Tobila Systems, Inc. 0050C2D1F Olympus NDT Canada Inc. 0050C2D20 7+ Kft 0050C2D21 Innovative Circuit Technology 0050C2D22 eMDee Technology, Inc. 0050C2D23 Bluestone Technology GmbH 0050C2D24 Expro North Sea 0050C2D25 VAF Instruments BV 0050C2D26 RCH 0050C2D27 Fr.Sauter AG 0050C2D28 Digitale-Analoge COMponenten West Electronic Vertriebs GmbH 0050C2D29 Axible Technologies 0050C2D2A Millennium Electronics Pty.Ltd. 0050C2D2B Video Tech Laboratories, Inc. 0050C2D2C Schneider Electric Motion USA 0050C2D2D CADI SCIENTIFIC PTE LTD 0050C2D2E RS Gesellschaft fur Informationstechnik mbH & Co KG 0050C2D2F Key Systems, Inc. 0050C2D30 ACTIV Financial Systems, Inc. 0050C2D31 UNGAVA Technologies Inc. 0050C2D32 RealTime Systems Ltd 0050C2D33 Maddalena S.p.A 0050C2D34 GAON TECH corp. 0050C2D35 UG Systems GmbH & Co. KG 0050C2D36 Enatel Limited 0050C2D37 LJT & Associates, Inc. 0050C2D38 Kyowa Electronics Co.,Ltd. 0050C2D39 Apex NV 0050C2D3A WellSense Technologies 0050C2D3B Gitsn Inc. 0050C2D3C ASSYSTEM France 0050C2D3D Tellabs Operations Inc. 0050C2D3E Synatec Electronic GmbH 0050C2D3F CSS, LLC 0050C2D40 demmel products 0050C2D41 AREA ENERGY, INC. 0050C2D42 Hagenuk KMT GmbH 0050C2D43 DSP4YOU Ltd 0050C2D44 Saia-Burgess Controls AG 0050C2D45 Technagon GmbH 0050C2D46 Thales Nederland BV 0050C2D47 TOPEX SA 0050C2D48 Watermark Estate Management Services, LLC 0050C2D49 Smith Meter, Inc 0050C2D4A ATH system 0050C2D4B Indra Australia 0050C2D4C DALOG Diagnosesysteme GmbH 0050C2D4D Yardney Technical Products Inc. 0050C2D4E Keith & Koep GmbH 0050C2D4F SECOM GmbH 0050C2D50 Solbrig Electronics, Inc. 0050C2D51 BETTINI SRL 0050C2D52 F+D Feinwerk- und Drucktechnik GmbH 0050C2D53 Telemerkki Oy 0050C2D54 ABtrack s.r.l. 0050C2D55 Sterna Security 0050C2D56 SELEX Communications Limited 0050C2D57 Hijikata Denki Corp. 0050C2D58 NIK-ELEKTRONIKA Ltd 0050C2D59 Buanco System A/S 0050C2D5A Embedded Monitoring Systems Ltd. 0050C2D5B Infinition Inc. 0050C2D5C Ibetor S.L. 0050C2D5D GLOBALCOM ENGINEERING SRL 0050C2D5E infinitec co., ltd. 0050C2D5F Embedded Solution Co., Ltd. 0050C2D60 Nihon Kessho Koogaku Co., Ltd. 0050C2D61 system2 GmbH 0050C2D62 EMAC, Inc. 0050C2D63 DATAREGIS S.A. 0050C2D64 TV1 GmbH 0050C2D65 TX Technology Corp 0050C2D66 Uvax Concepts 0050C2D67 KLING & FREITAG GmbH 0050C2D68 HiSpeed Data, Inc. 0050C2D69 GHL Systems Bhd 0050C2D6A A&T Corporation, Electrics Group , LAS R&D Unit, 0050C2D6B Nemec Automation 0050C2D6C ALPHA Corporation 0050C2D6D Pro-Digital 0050C2D6E BC Illumination, Inc. 0050C2D6F Imtron Messtechnik GmbH 0050C2D70 C. Rob. Hammerstein GmbH & Co. KG 0050C2D71 EMAC, Inc. 0050C2D72 Scale-Tron, Inc. 0050C2D73 Saia-Burgess Controls AG 0050C2D74 Computech International 0050C2D75 Collectric AB 0050C2D76 Telvent 0050C2D77 Fr.SauterAG 0050C2D78 P4Q Electronics 0050C2D79 DSI RF Systems, Inc. 0050C2D7A Transbit Sp. z o.o. 0050C2D7B OWITA GmbH 0050C2D7C Microcubs Systems Pvt Ltd 0050C2D7D Voltech Instruments 0050C2D7E LYNX Technik AG 0050C2D7F HMI Technologies 0050C2D80 Keith & Koep GmbH 0050C2D81 TATTILE SRL 0050C2D82 Audio Authority Corp 0050C2D83 Blankom 0050C2D84 ABB Transmission and Distribution Auto Eqip(Xiamen.China) 0050C2D85 VITEC 0050C2D86 ECOMM ERA 0050C2D87 Electrolight Shivuk (1994) Ltd. 0050C2D88 T+A elektroakustik GmbH & Co KG 0050C2D89 Visual Telecommunication Network, Inc 0050C2D8A OptoLink Industria e Comercio Ltda 0050C2D8B Sicon srl 0050C2D8C iRphotonics 0050C2D8D CS-Instruments 0050C2D8E LSD Science&Technology Co.,Ltd. 0050C2D8F Syes srl 0050C2D90 Dumps Electronic 0050C2D91 CHAUVIN ARNOUX 0050C2D92 Manz 0050C2D93 Axlon AB 0050C2D94 Software Effect Enterprises, Inc 0050C2D95 Honeywell 0050C2D96 CONTEC GmbH 0050C2D97 ERS electronic GmbH 0050C2D98 Rong Shun Xuan Corp. 0050C2D99 T-Industry, s.r.o. 0050C2D9A Saia-Burgess Controls AG 0050C2D9B Intuitive Surgical, Inc 0050C2D9C Gamber Johnson LLC 0050C2D9D Mistral Solutions Pvt. Ltd 0050C2D9E PRIVATE 0050C2D9F BitWise Controls 0050C2DA0 Precision Remotes 0050C2DA1 Mango DSP 0050C2DA2 metraTec GmbH 0050C2DA3 GENERAL DYNAMICS C4 SYSTEMS 0050C2DA4 Deuta-Werke GmbH 0050C2DA5 megatec electronic GmbH 0050C2DA6 Manitowoc Ice 0050C2DA7 Capton 0050C2DA8 Sine Systems, Inc. 0050C2DA9 Tieline Research Pty Ltd 0050C2DAA M & PAUL, INC 0050C2DAB Aplex Technology Inc. 0050C2DAC RFL Electronics 0050C2DAD Keith & Koep GmbH 0050C2DAE Spang Power Electronics 0050C2DAF eumig industrie-tv GmbH 0050C2DB0 IMAGO Technologies GmbH 0050C2DB1 RF Code, Inc 0050C2DB2 SoftwareCannery 0050C2DB3 LAUDA DR. R. WOBSER GMBH & CO. KG 0050C2DB4 ZAO NPC "Kompjuternie Technologii" 0050C2DB5 DSP DESIGN LTD 0050C2DB6 PROSOFT-SYSTEMS LTD 0050C2DB7 SOREL GmbH Mikroelektronik 0050C2DB8 Comsat VertriebsgmbH 0050C2DB9 Peek Traffic Corporation 0050C2DBA M.P. Electronics 0050C2DBB Esensors, Inc. 0050C2DBC Nantes Systems Private Limited 0050C2DBD Margento R&D 0050C2DBE WITHSYSTEM Co.,Ltd 0050C2DBF One-Nemoto Engineering Corporation 0050C2DC0 Security Services Group (SSG) 0050C2DC1 Acrux Technology Limited 0050C2DC2 TESSERA TECHNOLOGY INC. 0050C2DC3 ZED Ziegler Electronic Devices GmbH 0050C2DC4 Keith & Koep GmbH 0050C2DC5 Saia-Burgess Controls AG 0050C2DC6 Fluid Components International 0050C2DC7 AGT Holdings Limited 0050C2DC8 T2M2 GmbH 0050C2DC9 KinotonGmbH 0050C2DCA Tele Data Control 0050C2DCB CT Company 0050C2DCC Instrumentel Limited 0050C2DCD dilitronics GmbH 0050C2DCE Mecsel Oy 0050C2DCF MCS Engenharia ltda 0050C2DD0 IDC Solutions Pty Ltd 0050C2DD1 Dr. Ing. K. Brankamp System Prozessautomation GmbH 0050C2DD2 Electronic Applications, Inc. 0050C2DD3 Rohde & Schwarz Topex SA 0050C2DD4 SYSTECH 0050C2DD5 Friend Spring Industrial Co., Ltd. 0050C2DD6 Transas Marine International AB 0050C2DD7 Tornado Modular Systems 0050C2DD8 Selex Systems Integration Inc 0050C2DD9 Metraware arp-scan-1.8.1/pkt-custom-request-vlan.dat0000644000175000017500000000005611521053155015371 00000000000000"""""" Ý33DDUUfwˆˆ™™™™™™ªªªª»»»»»»ÌÌÌÌarp-scan-1.8.1/config.guess0000755000175000017500000012626010466646770012515 00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, # Inc. timestamp='2006-07-02' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Per Bothner . # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # The plan is that this can be called by configure scripts if you # don't specify an explicit build system type. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[45]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep __LP64__ >/dev/null then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; x86:Interix*:[3456]*) echo i586-pc-interix${UNAME_RELEASE} exit ;; EM64T:Interix*:[3456]*) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips #undef mipsel #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mipsel #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips #else CPU= #endif #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips64 #undef mips64el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mips64el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips64 #else CPU= #endif #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. # Set LC_ALL=C to ensure ld outputs messages in English. ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// s/ .*// p'` case "$ld_supported_targets" in elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" exit ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" exit ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 LIBC=gnu # else LIBC=gnulibc1 # endif # else LIBC=gnulibc1 # endif #else #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) LIBC=gnu #else LIBC=gnuaout #endif #endif #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^LIBC/{ s: ::g p }'`" test x"${LIBC}" != x && { echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit } test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i386. echo i386-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: arp-scan-1.8.1/Makefile.am0000664000175000017500000000172611604415111012204 00000000000000# $Id: Makefile.am 18259 2011-07-04 19:53:43Z rsh $ # Process this file with automake to produce Makefile.in # AM_CPPFLAGS = -DDATADIR=\"$(pkgdatadir)\" # bin_PROGRAMS = arp-scan # dist_bin_SCRIPTS = get-oui get-iab arp-fingerprint # dist_check_SCRIPTS = check-run1 check-packet check-decode check-host-list # dist_man_MANS = arp-scan.1 get-oui.1 get-iab.1 arp-fingerprint.1 mac-vendor.5 # arp_scan_SOURCES = arp-scan.c arp-scan.h error.c wrappers.c utils.c hash.c hash.h obstack.c obstack.h mt19937ar.c arp_scan_LDADD = $(LIBOBJS) # dist_pkgdata_DATA = ieee-oui.txt ieee-iab.txt mac-vendor.txt # TESTS = $(dist_check_SCRIPTS) EXTRA_DIST = pkt-simple-request.dat pkt-custom-request.dat pkt-custom-request-padding.dat pkt-custom-request-llc.dat pkt-custom-request-vlan.dat pkt-simple-response.pcap pkt-padding-response.pcap pkt-vlan-response.pcap pkt-llc-response.pcap pkt-net1921681-response.pcap pkt-trailer-response.pcap pkt-vlan-llc-response.pcap pkt-custom-request-vlan-llc.dat arp-scan-1.8.1/getopt1.c0000664000175000017500000001105711505114412011675 00000000000000/* getopt_long and getopt_long_only entry points for GNU getopt. Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ #ifdef HAVE_CONFIG_H #include #endif #ifdef _LIBC # include #else # include "getopt.h" #endif #if !defined __STDC__ || !__STDC__ /* This is a separate conditional since some stdc systems reject `defined (const)'. */ #ifndef const #define const #endif #endif #include /* Comment out all this code if we are using the GNU C Library, and are not actually compiling the library itself. This code is part of the GNU C Library, but also included in many other GNU distributions. Compiling and linking in this code is a waste when using the GNU C library (especially if it is a shared library). Rather than having every GNU program understand `configure --with-gnu-libc' and omit the object files, it is simpler to just do this in the source for each such file. */ #define GETOPT_INTERFACE_VERSION 2 #if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2 #include #if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION #define ELIDE_CODE #endif #endif #ifndef ELIDE_CODE /* This needs to come after some library #include to get __GNU_LIBRARY__ defined. */ #ifdef __GNU_LIBRARY__ #include #endif #ifndef NULL #define NULL 0 #endif int getopt_long (argc, argv, options, long_options, opt_index) int argc; char *const *argv; const char *options; const struct option *long_options; int *opt_index; { return _getopt_internal (argc, argv, options, long_options, opt_index, 0); } /* Like getopt_long, but '-' as well as '--' can indicate a long option. If an option that starts with '-' (not '--') doesn't match a long option, but does match a short option, it is parsed as a short option instead. */ int getopt_long_only (argc, argv, options, long_options, opt_index) int argc; char *const *argv; const char *options; const struct option *long_options; int *opt_index; { return _getopt_internal (argc, argv, options, long_options, opt_index, 1); } # ifdef _LIBC libc_hidden_def (getopt_long) libc_hidden_def (getopt_long_only) # endif #endif /* Not ELIDE_CODE. */ #ifdef TEST #include int main (argc, argv) int argc; char **argv; { int c; int digit_optind = 0; while (1) { int this_option_optind = optind ? optind : 1; int option_index = 0; static struct option long_options[] = { {"add", 1, 0, 0}, {"append", 0, 0, 0}, {"delete", 1, 0, 0}, {"verbose", 0, 0, 0}, {"create", 0, 0, 0}, {"file", 1, 0, 0}, {0, 0, 0, 0} }; c = getopt_long (argc, argv, "abc:d:0123456789", long_options, &option_index); if (c == -1) break; switch (c) { case 0: printf ("option %s", long_options[option_index].name); if (optarg) printf (" with arg %s", optarg); printf ("\n"); break; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if (digit_optind != 0 && digit_optind != this_option_optind) printf ("digits occur in two different argv-elements.\n"); digit_optind = this_option_optind; printf ("option %c\n", c); break; case 'a': printf ("option a\n"); break; case 'b': printf ("option b\n"); break; case 'c': printf ("option c with value `%s'\n", optarg); break; case 'd': printf ("option d with value `%s'\n", optarg); break; case '?': break; default: printf ("?? getopt returned character code 0%o ??\n", c); } } if (optind < argc) { printf ("non-option ARGV-elements: "); while (optind < argc) printf ("%s ", argv[optind++]); printf ("\n"); } exit (0); } #endif /* TEST */ arp-scan-1.8.1/check-run10000774000175000017500000000176111521627315012045 00000000000000#!/bin/sh # $Id: check-run1 18096 2011-01-31 21:51:07Z rsh $ # # check-run1 -- Shell script to test arp-scan basic functionality # # Author: Roy Hills # Date: 9 March 2006 # # This shell script checks that "arp-scan --help" and "arp-scan --version" # work. These options don't use much of the arp-scan functionality, so if # they fail, then there is a fundamental problem with the program. # TMPFILE=/tmp/arp-scan-test.$$.tmp # echo "Checking arp-scan --help ..." $srcdir/arp-scan --help 2> $TMPFILE if test $? -ne 0; then rm -f $TMPFILE echo "FAILED" exit 1 fi grep '^Report bugs or send suggestions to ' $TMPFILE >/dev/null if test $? -ne 0; then rm -f $TMPFILE echo "FAILED" exit 1 fi echo "ok" # echo "Checking arp-scan --version ..." $srcdir/arp-scan --version 2> $TMPFILE if test $? -ne 0; then rm -f $TMPFILE echo "FAILED" exit 1 fi grep '^Copyright (C) ' $TMPFILE >/dev/null if test $? -ne 0; then rm -f $TMPFILE echo "FAILED" exit 1 fi echo "ok" # rm -f $TMPFILE arp-scan-1.8.1/pkt-custom-request-vlan-llc.dat0000644000175000017500000000006611532157567016160 00000000000000"""""" Ý6ªª33DDUUfwˆˆ™™™™™™ªªªª»»»»»»ÌÌÌÌarp-scan-1.8.1/error.c0000664000175000017500000000465611512307725011463 00000000000000/* * The ARP scanner (arp-scan) is Copyright (C) 2005-2011 * Roy Hills, NTA Monitor Ltd. * * This file is part of arp-scan. * * arp-scan is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * arp-scan is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with arp-scan. If not, see . * * $Id: error.c 18078 2011-01-09 10:37:07Z rsh $ * * error.c -- error routines for arp-scan * * Author: Roy Hills * Date: 1 December 2001 */ #include "arp-scan.h" static char rcsid[] = "$Id: error.c 18078 2011-01-09 10:37:07Z rsh $"; /* RCS ID for ident(1) */ int daemon_proc; /* Non-zero if process is a daemon */ /* * Function to handle fatal system call errors. */ void err_sys(const char *fmt,...) { va_list ap; va_start(ap, fmt); err_print(1, fmt, ap); va_end(ap); exit(EXIT_FAILURE); } /* * Function to handle non-fatal system call errors. */ void warn_sys(const char *fmt,...) { va_list ap; va_start(ap, fmt); err_print(1, fmt, ap); va_end(ap); } /* * Function to handle fatal errors not from system calls. */ void err_msg(const char *fmt,...) { va_list ap; va_start(ap, fmt); err_print(0, fmt, ap); va_end(ap); exit(EXIT_FAILURE); } /* * Function to handle non-fatal errors not from system calls. */ void warn_msg(const char *fmt,...) { va_list ap; va_start(ap, fmt); err_print(0, fmt, ap); va_end(ap); } /* * General error printing function used by all the above * functions. */ void err_print (int errnoflag, const char *fmt, va_list ap) { int errno_save; size_t n; char buf[MAXLINE]; errno_save=errno; vsnprintf(buf, MAXLINE, fmt, ap); n=strlen(buf); if (errnoflag) snprintf(buf+n, MAXLINE-n, ": %s", strerror(errno_save)); strlcat(buf, "\n", sizeof(buf)); fflush(stdout); /* In case stdout and stderr are the same */ fputs(buf, stderr); fflush(stderr); } void error_use_rcsid(void) { fprintf(stderr, "%s\n", rcsid); /* Use rcsid to stop compiler optimising away */ } arp-scan-1.8.1/link-bpf.c0000664000175000017500000002153211512307725012024 00000000000000/* * The ARP Scanner (arp-scan) is Copyright (C) 2005-2011 Roy Hills, * NTA Monitor Ltd. * * This file is part of arp-scan. * * arp-scan is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * arp-scan is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with arp-scan. If not, see . * * $Id: link-bpf.c 18078 2011-01-09 10:37:07Z rsh $ * * link-bpf.c -- BPF link layer send functions for arp-scan * * Author: Roy Hills * Date: 1 July 2006 * * Description: * * This contains the link layer sending functions using the BPF (Berkeley * Packet Filter) implementation. BPF is typically used on BSD systems such * as FreeBSD See bpf(4) on a FreeBSD system for details. * */ #include "arp-scan.h" #ifdef HAVE_FCNTL_H #include #endif #ifdef HAVE_NET_IF_H #include #endif #ifdef HAVE_NET_BPF_H #include #endif #ifdef HAVE_NET_ROUTE_H #include #endif /* OpenBSD needs sys/param.h */ #ifdef HAVE_SYS_PARAM_H #include #endif #ifdef HAVE_SYS_SYSCTL_H #include #endif #ifdef HAVE_NET_IF_DL_H #include #endif /* * Round up 'a' to next multiple of 'size', which must be a power of 2 * From Fig 17.9 in Unix Network Programming (2nd ed.) by W. Richard Stevens. */ #define ROUNDUP(a, size) (((a) & ((size)-1)) ? (1 + ((a) | ((size)-1))) : (a)) /* * Step to next socket address structure; * if sa_len is 0, assume it is sizeof(u_long). * From Fig 17.9 in Unix Network Programming (2nd ed.) by W. Richard Stevens. */ #define NEXT_SA(ap) ap = (struct sockaddr *) \ ((caddr_t) ap + (ap->sa_len ? ROUNDUP(ap->sa_len, sizeof (u_long)) : \ sizeof(u_long))) static char const rcsid[] = "$Id: link-bpf.c 18078 2011-01-09 10:37:07Z rsh $"; /* RCS ID for ident(1) */ /* * Link layer handle structure for BPF. * This is typedef'ed as link_t. */ struct link_handle { int fd; /* Socket file descriptor */ char device[16]; }; /* * get_rtaddrs -- Populate rti_info array with pointers to socket * address structures * * Inputs: * * sa Pointer to the first socket address structure * rti_info (output) Pointer to the rti_info array. * * Returns: * * None * * This function, and the NEXT_SA and ROUNDUP macros that it uses, * was taken from Figure 17.9 of Unix Network Programming (2nd ed.) * by W. Richard Stevens. */ static void get_rtaddrs(int addrs, struct sockaddr *sa, struct sockaddr **rti_info) { int i; for (i = 0; i < RTAX_MAX; i++) { if (addrs & (1 << i)) { rti_info[i] = sa; NEXT_SA(sa); } else rti_info[i] = NULL; } } /* * link_open -- Open the specified link-level device * * Inputs: * * device The name of the device to open * * Returns: * * A pointer to a link handle structure. */ link_t * link_open(const char *device) { link_t *handle; char dev_file[16]; /* /dev/bpfxxx */ struct ifreq ifr; int i; handle = Malloc(sizeof(*handle)); memset(handle, '\0', sizeof(*handle)); for (i=0; i<32; i++) { /* The limit of 32 is arbitary */ snprintf(dev_file, sizeof(dev_file), "/dev/bpf%d", i); handle->fd = open(dev_file, O_WRONLY); if (handle->fd != -1 || errno != EBUSY) break; } if (handle->fd == -1) { free(handle); return NULL; } memset(&ifr, '\0', sizeof(ifr)); strlcpy(ifr.ifr_name, device, sizeof(ifr.ifr_name)); if ((ioctl(handle->fd, BIOCSETIF, &ifr)) < 0) { free(handle); return NULL; } /* Set "header complete" flag */ #ifdef BIOCSHDRCMPLT i = 0; if (ioctl(handle->fd, BIOCSHDRCMPLT, &i) < 0) { free(handle); return NULL; } #endif strlcpy(handle->device, device, sizeof(handle->device)); return handle; } /* * link_send -- Send a packet * * Inputs: * * handle The handle for the link interface * buf Pointer to the data to send * buflen Number of bytes to send * * Returns: * * The number of bytes sent, or -1 for error. */ ssize_t link_send(link_t *handle, const unsigned char *buf, size_t buflen) { ssize_t nbytes; nbytes = write(handle->fd, buf, buflen); return nbytes; } /* * link_close -- Close the link * * Inputs: * * handle The handle for the link interface * * Returns: * * None */ void link_close(link_t *handle) { if (handle != NULL) { if (handle->fd != 0) close(handle->fd); free(handle); } } /* * get_hardware_address -- Get the Ethernet MAC address associated * with the given device. * Inputs: * * handle The link layer handle * hw_address (output) the Ethernet MAC address * * Returns: * * None */ void get_hardware_address(link_t *handle, unsigned char hw_address[]) { struct if_msghdr *ifm; struct sockaddr_dl *sdl=NULL; unsigned char *p; unsigned char *buf; size_t len; int mib[] = { CTL_NET, PF_ROUTE, 0, AF_LINK, NET_RT_IFLIST, 0 }; /* * Use sysctl to obtain interface list. * We first call sysctl with the 3rd arg set to NULL to obtain the * required length, then malloc the buffer and call sysctl again to get * the data. */ if (sysctl(mib, 6, NULL, &len, NULL, 0) < 0) err_sys("sysctl"); buf = Malloc(len); if (sysctl(mib, 6, buf, &len, NULL, 0) < 0) err_sys("sysctl"); /* * Go through all the interfaces in the list until we find the one that * corresponds to the device we are using. */ for (p = buf; p < buf + len; p += ifm->ifm_msglen) { ifm = (struct if_msghdr *)p; sdl = (struct sockaddr_dl *)(ifm + 1); if (ifm->ifm_type != RTM_IFINFO || (ifm->ifm_addrs & RTA_IFP) == 0) continue; if (sdl->sdl_family != AF_LINK || sdl->sdl_nlen == 0) continue; if ((memcmp(sdl->sdl_data, handle->device, sdl->sdl_nlen)) == 0) break; } if (p >= buf + len) err_msg("Could not get hardware address for interface %s", handle->device); memcpy(hw_address, sdl->sdl_data + sdl->sdl_nlen, ETH_ALEN); free(buf); } /* * get_source_ip -- Get address and mask associated with given interface * * Inputs: * * handle The link level handle * ip_addr (output) The IP Address associated with the device * * Returns: * * Zero on success, or -1 on failure. */ int get_source_ip(link_t *handle, uint32_t *ip_addr) { struct if_msghdr *ifm; struct ifa_msghdr *ifam; struct sockaddr *sa; struct sockaddr *rti_info[RTAX_MAX]; struct sockaddr_dl *sdl; struct sockaddr_in *sin; unsigned char *p; unsigned char *buf; size_t len; int mib[] = { CTL_NET, PF_ROUTE, 0, AF_INET, NET_RT_IFLIST, 0 }; int found_dev = 0; /* * Use sysctl to obtain interface list. * We first call sysctl with the 3rd arg set to NULL to obtain the * required length, then malloc the buffer and call sysctl again to get * the data. */ if (sysctl(mib, 6, NULL, &len, NULL, 0) < 0) err_sys("sysctl"); buf = Malloc(len); if (sysctl(mib, 6, buf, &len, NULL, 0) < 0) err_sys("sysctl"); /* * Go through all the entries in the list until we find the device we * are using, then look for the associated address structure. */ for (p = buf; p < buf + len; p += ifm->ifm_msglen) { ifm = (struct if_msghdr *)p; sa = (struct sockaddr *) (ifm + 1); if (ifm->ifm_type == RTM_IFINFO && (ifm->ifm_addrs & RTA_IFP) != 0 && sa->sa_family == AF_LINK) { sdl = (struct sockaddr_dl *) (ifm + 1); if (sdl->sdl_nlen > 0) if ((memcmp(sdl->sdl_data, handle->device, sdl->sdl_nlen)) == 0) found_dev = 1; /* We've found the correct interface */ } if (ifm->ifm_type == RTM_NEWADDR && (ifm->ifm_addrs & RTA_IFA) != 0 && found_dev) { ifam = (struct ifa_msghdr *) p; sa = (struct sockaddr *) (ifam + 1); get_rtaddrs(ifam->ifam_addrs, sa, rti_info); break; } } /* * If we've not found an IP address, return with -1 to indicate * failure. */ if ((p >= buf + len) || !found_dev || rti_info[RTAX_IFA] == NULL) return -1; /* Cannot get IP address */ /* * Copy the IP address and return with success. */ sin = (struct sockaddr_in *)rti_info[RTAX_IFA]; memcpy(ip_addr, &(sin->sin_addr.s_addr), sizeof(*ip_addr)); free(buf); return 0; } /* * Use rcsid to prevent the compiler optimising it away. */ void link_use_rcsid(void) { fprintf(stderr, "%s\n", rcsid); /* Use rcsid to stop compiler optimising away */ } arp-scan-1.8.1/arp-scan.h0000664000175000017500000002220311532017514012023 00000000000000/* * ARP Scan is Copyright (C) 2005-2011 Roy Hills, NTA Monitor Ltd. * * This file is part of arp-scan. * * arp-scan is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * arp-scan is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with arp-scan. If not, see . * * $Id: arp-scan.h 18136 2011-02-25 21:29:45Z rsh $ * * arp-scan.h -- Header file for ARP scanner * * Author: Roy Hills * Date: 11 October 2005 * */ /* Includes */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #ifdef STDC_HEADERS #include #include #include #include #include #include #else #error This program requires the ANSI C Headers #endif #include /* Integer types */ #ifdef HAVE_INTTYPES_H #include #else #ifdef HAVE_STDINT_H #include #endif #endif #ifdef __CYGWIN__ #include /* Include windows.h if compiling under Cygwin */ #endif #ifdef HAVE_UNISTD_H #include #endif #ifdef HAVE_NETDB_H #include #endif #ifdef HAVE_GETOPT_H #include #else /* Include getopt.h for the sake of getopt_long. We don't need the declaration of getopt, and it could conflict with something from a system header file, so effectively nullify that. */ #define getopt getopt_loser #include "getopt.h" #undef getopt #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef TIME_WITH_SYS_TIME # include # include #else # ifdef HAVE_SYS_TIME_H # include # else # include # endif #endif #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_ARPA_INET_H #include #endif #ifdef HAVE_REGEX_H #include /* Posix regular expression functions */ #endif #ifdef HAVE_SYS_STAT_H #include #endif #ifdef HAVE_FCNTL_H #include #endif #ifdef HAVE_PCAP_H /* * The pcap.h header file on Apple Mac OS Xcode 2.5 and later includes pcap's * cut-down version of bpf.h, which defines macros that conflict with those in * the full bpf.h. To avoid the conflict, we include net/bpf.h before pcap.h * if compiling under Xcode 2.5 or later. This defines all the required macros * and prevents pcap's cut-down version from defining its own ones. * * 5370 is the value of __APPLE_CC__ for Xcode 2.5 on Tiger with GCC 4.0.1 */ #if defined(__APPLE_CC__) && (__APPLE_CC__ >= 5370) #include #endif #include #endif #ifdef HAVE_SYS_IOCTL_H #include #endif #ifdef ARP_PCAP_DLPI #ifdef HAVE_SYS_BUFMOD_H #include #endif #endif #include "hash.h" /* Hash table functions */ /* Defines */ #define MAXLINE 255 /* Max line length for input files */ #define MAX_FRAME 2048 /* Maximum allowed frame size */ #define REALLOC_COUNT 1000 /* Entries to realloc at once */ #define DEFAULT_BANDWIDTH 256000 /* Default bandwidth in bits/sec */ #define PACKET_OVERHEAD 18 /* layer 2 overhead (6+6+2 + 4) */ #define MINIMUM_FRAME_SIZE 46 /* Minimum layer 2 date size */ #define DEFAULT_BACKOFF_FACTOR 1.5 /* Default timeout backoff factor */ #define DEFAULT_RETRY 2 /* Default number of retries */ #define DEFAULT_TIMEOUT 100 /* Default per-host timeout in ms */ #define SNAPLEN 64 /* 14 (ether) + 28 (ARP) + extra */ #define PROMISC 0 /* Enable promiscuous mode */ #define TO_MS 0 /* Timeout for pcap_open_live() */ #define OPTIMISE 1 /* Optimise pcap filter */ #define ARPHRD_ETHER 1 /* Ethernet ARP type */ #define ARPOP_REQUEST 1 /* ARP Request */ #define ARPOP_REPLY 2 /* ARP Reply */ #define ETHER_HDR_SIZE 14 /* Size of Ethernet frame header in bytes */ #define ARP_PKT_SIZE 28 /* Size of ARP Packet in bytes */ #define ETH_ALEN 6 /* Octets in one ethernet addr */ #define ETH_P_IP 0x0800 /* Internet Protocol packet */ #define ETH_P_ARP 0x0806 /* Address Resolution packet */ #define OUIFILENAME "ieee-oui.txt" /* Default IEEE OUI filename */ #define IABFILENAME "ieee-iab.txt" /* Default IEEE IAB filename */ #define MACFILENAME "mac-vendor.txt" /* Default MAC/Vendor filename */ #define DEFAULT_ARP_OP ARPOP_REQUEST /* Default ARP operation */ #define DEFAULT_ARP_HRD ARPHRD_ETHER /* Default ARP hardware type */ #define DEFAULT_ARP_PRO ETH_P_IP /* Default ARP protocol */ #define DEFAULT_ARP_HLN 6 /* Default hardware length */ #define DEFAULT_ARP_PLN 4 /* Default protocol length */ #define DEFAULT_ETH_PRO ETH_P_ARP /* Default Ethernet protocol */ #define FRAMING_ETHERNET_II 0 /* Standard Ethernet-II Framing */ #define FRAMING_LLC_SNAP 1 /* 802.3 with LLC/SNAP */ #define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0])) #define OPT_WRITEPKTTOFILE 256 /* --writepkttofile option */ #define OPT_READPKTFROMFILE 257 /* --readpktfromfile option */ /* Structures */ typedef struct { unsigned timeout; /* Timeout for this host in us */ struct in_addr addr; /* Host IP address */ struct timeval last_send_time; /* Time when last packet sent to this addr */ unsigned short num_sent; /* Number of packets sent */ unsigned short num_recv; /* Number of packets received */ unsigned char live; /* Set when awaiting response */ } host_entry; /* Ethernet frame header */ typedef struct { uint8_t dest_addr[ETH_ALEN]; /* Destination hardware address */ uint8_t src_addr[ETH_ALEN]; /* Source hardware address */ uint16_t frame_type; /* Ethernet frame type */ } ether_hdr; /* Ethernet ARP packet from RFC 826 */ typedef struct { uint16_t ar_hrd; /* Format of hardware address */ uint16_t ar_pro; /* Format of protocol address */ uint8_t ar_hln; /* Length of hardware address */ uint8_t ar_pln; /* Length of protocol address */ uint16_t ar_op; /* ARP opcode (command) */ uint8_t ar_sha[ETH_ALEN]; /* Sender hardware address */ uint32_t ar_sip; /* Sender IP address */ uint8_t ar_tha[ETH_ALEN]; /* Target hardware address */ uint32_t ar_tip; /* Target IP address */ } arp_ether_ipv4; /* Link-layer handle structure, defined in link-xxx.c */ typedef struct link_handle link_t; /* Functions */ #ifndef HAVE_STRLCAT size_t strlcat(char *dst, const char *src, size_t siz); #endif #ifndef HAVE_STRLCPY size_t strlcpy(char *dst, const char *src, size_t siz); #endif void err_sys(const char *, ...); void warn_sys(const char *, ...); void err_msg(const char *, ...); void warn_msg(const char *, ...); void err_print(int, const char *, va_list); void usage(int, int); void add_host_pattern(const char *, unsigned); void add_host(const char *, unsigned, int); int send_packet(link_t *, host_entry *, struct timeval *); void recvfrom_wto(int, int); void remove_host(host_entry **); void timeval_diff(const struct timeval *, const struct timeval *, struct timeval *); host_entry *find_host(host_entry **, struct in_addr *); void display_packet(host_entry *, arp_ether_ipv4 *, const unsigned char *, size_t, int, int, ether_hdr *); void advance_cursor(void); void dump_list(void); void print_times(void); void clean_up(void); void arp_scan_version(void); char *make_message(const char *, ...); void callback(u_char *, const struct pcap_pkthdr *, const u_char *); void process_options(int, char *[]); struct in_addr *get_host_address(const char *, int, struct in_addr *, char **); const char *my_ntoa(struct in_addr); int get_source_ip(link_t *, uint32_t *); void get_hardware_address(link_t *, unsigned char []); void marshal_arp_pkt(unsigned char *, ether_hdr *, arp_ether_ipv4 *, size_t *, const unsigned char *, size_t); int unmarshal_arp_pkt(const unsigned char *, size_t, ether_hdr *, arp_ether_ipv4 *, unsigned char *, size_t *, int *); unsigned char *hex2data(const char *, size_t *); unsigned int hstr_i(const char *); char *hexstring(const unsigned char *, size_t); int get_ether_addr(const char *, unsigned char *); int add_mac_vendor(struct hash_control *, const char *); /* Link layer send functions */ link_t *link_open(const char *); ssize_t link_send(link_t *, const unsigned char *, size_t); void link_close(link_t *); /* Wrappers */ int Gettimeofday(struct timeval *); void *Malloc(size_t); void *Realloc(void *, size_t); unsigned long int Strtoul(const char *, int); long int Strtol(const char *, int); unsigned str_to_bandwidth(const char *); unsigned str_to_interval(const char *); char *dupstr(const char *); /* MT19937 prototypes */ void init_genrand(unsigned long); void init_by_array(unsigned long[], int); unsigned long genrand_int32(void); long genrand_int31(void); double genrand_real1(void); double genrand_real2(void); double genrand_real3(void); double genrand_res53(void); /* The following functions are just to prevent rcsid being optimised away */ void wrappers_use_rcsid(void); void error_use_rcsid(void); void utils_use_rcsid(void); void link_use_rcsid(void); arp-scan-1.8.1/missing0000755000175000017500000002557710515602102011555 00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2006-05-10.23 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi msg="missing on your system" case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 # Exit code 63 means version mismatch. This often happens # when the user try to use an ancient version of a tool on # a file that requires a minimum version. In this case we # we should proceed has if the program had been absent, or # if --run hadn't been passed. if test $? = 63; then run=: msg="probably too old" fi ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' autom4te touch the output file, or create a stub one automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; esac # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect # the program). case $1 in lex|yacc) # Not GNU programs, they don't have --version. ;; tar) if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then exit 1 fi ;; *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone # running `$TOOL --version' or `$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case $1 in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. You can get \`$1' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison|yacc) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; lex|flex) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit 1 fi ;; makeinfo) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n ' /^@setfilename/{ s/.* \([^ ]*\) *$/\1/ p q }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi # If the file does not exist, the user really needs makeinfo; # let's fail without touching anything. test -f $file || exit 1 touch $file ;; tar) shift # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar "$@" && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar "$@" && exit 0 fi firstarg="$1" if shift; then case $firstarg in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac case $firstarg in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: arp-scan-1.8.1/README0000664000175000017500000000565711521627315011050 00000000000000$Id: README 18096 2011-01-31 21:51:07Z rsh $ Note: This README file is no longer being actively maintained. Please refer to the arp-scan wiki at http://www.nta-monitor.com/wiki/ for up-to-date information about installing and using arp-scan. Installation ------------ You will need the make utility, an ANSI C compiler (for example gcc), the development header files and libraries, and libpcap version 0.8 or later. If you want to run the Perl scripts arp-fingerprint, get-oui and get-iab, you will need to have the Perl interpreter installed. These scripts were tested on Perl 5.8, but will probably run on earlier versions of Perl 5 as well. In addition, for get-oui and get-iab, you will need the LWP::Simple Perl module. arp-scan uses automake and autoconf, so the typical installation process is: $ ./configure $ make $ make check $ make install You can pass various options to "configure" to control the build and installation process. See the file INSTALL for more details. arp-scan is known to compile and run on the following platforms: 1. Linux (tested on Debian Sarge, Debian Etch and Fedora 9) 2. FreeBSD (tested on FreeBSD 6.1 and FreeBSD 7.0) 3. OpenBSD (tested on OpenBSD 3.9) 4. NetBSD (tested on NetBSD 3.0.1) 5. MacOS X (Darwin) (tested on MacOS 10.3.9) 6. Solaris (tested on Solaris 9/SPARC and Solaris 10/x86) The ARP packets are sent using raw datalink access. The mechanism for this varies between platforms, currently Packet Socket (Linux), BPF (BSD) and DLPI (Solaris) are supported. It is planned to add support for Win32 in future releases. All platforms use libpcap (http://www.tcpdump.org/) to receive the ARP responses. It was decided to implement the sending functions directly rather than using libnet or libdnet because these libraries are not normally installed by default, and it was considered desirable to minimise the need to install additional packages. By contrast, libpcap is a standard package on most modern systems. Documentation ------------- The primary source of documentation is the arp-scan wiki at http://www.nta-monitor.com/wiki/ For usage information, including details of all the options, use: $ arp-scan --help For more detailed documentation, see the manual pages: arp-scan(1), arp-fingerprint(1), get-iab(1), get-oui(1) and mac-vendor(5). Known Bugs ---------- 1. Tables in arp-scan man page don't display correctly on NetBSD and OpenBSD The man page for arp-scan contains tbl tables. These tables display OK on Linux, FreeBSD and MacOS X, but do not display correctly on NetBSD or OpenBSD. This is presumably because these OSes don't run man pages through tbl by default, and don't recognise the first line of the man page: '\" t 2. MacOS 10.3 gives warnings about functions pcap_datalink_val_to_name(), pcap_datalink_val_to_description() and pcap_setnonblock() not being defined, but it links and runs OK. This appears to be due to MacOS 10.3 having libpcap 0.8 libraries, but only 0.7 headers. arp-scan-1.8.1/pkt-simple-request.dat0000644000175000017500000000005211521246433014411 00000000000000ÿÿÿÿÿÿarp-scan-1.8.1/pkt-simple-response.pcap0000644000175000017500000000014411522043015014724 00000000000000Ôò¡`çGM[ <<++arp-scan-1.8.1/pkt-custom-request-padding.dat0000644000175000017500000000006211521053155016034 00000000000000""""""33DDUUfwˆˆ™™™™™™ªªªª»»»»»»ÌÌÌÌÝÝÝÝÝÝÝÝarp-scan-1.8.1/pkt-custom-request-llc.dat0000644000175000017500000000006211521053155015200 00000000000000""""""2ªª33DDUUfwˆˆ™™™™™™ªªªª»»»»»»ÌÌÌÌarp-scan-1.8.1/pkt-vlan-response.pcap0000644000175000017500000000014411522046734014406 00000000000000Ôò¡`çGM[ <<+ÿ+arp-scan-1.8.1/link-packet-socket.c0000664000175000017500000001073611512307725014016 00000000000000/* * The ARP Scanner (arp-scan) is Copyright (C) 2005-2011 Roy Hills, * NTA Monitor Ltd. * * This file is part of arp-scan. * * arp-scan is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * arp-scan is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with arp-scan. If not, see . * * $Id: link-packet-socket.c 18078 2011-01-09 10:37:07Z rsh $ * * link-packet-socket.c -- Packet socket link layer send functions for arp-scan * * Author: Roy Hills * Date: 1 July 2006 * * Description: * * This contains the link layer sending functions using the packet socket * implementation. Packet socket is typically used on Linux with kernel * version 2.2 and above. See packet(7) on a Linux system for details. * */ #include "arp-scan.h" #ifdef HAVE_NETPACKET_PACKET_H #include #endif #ifdef HAVE_NET_IF_H #include #endif static char const rcsid[] = "$Id: link-packet-socket.c 18078 2011-01-09 10:37:07Z rsh $"; /* RCS ID for ident(1) */ /* * Link layer handle structure for packet socket. * This is typedef'ed as link_t. */ struct link_handle { int fd; /* Socket file descriptor */ struct ifreq ifr; struct sockaddr_ll sll; }; /* * link_open -- Open the specified link-level device * * Inputs: * * device The name of the device to open * * Returns: * * A pointer to a link handle structure. */ link_t * link_open(const char *device) { link_t *handle; handle = Malloc(sizeof(*handle)); memset(handle, '\0', sizeof(*handle)); if ((handle->fd = socket(PF_PACKET, SOCK_RAW, 0)) < 0) { free(handle); return NULL; } strlcpy(handle->ifr.ifr_name, device, sizeof(handle->ifr.ifr_name)); if ((ioctl(handle->fd, SIOCGIFINDEX, &(handle->ifr))) != 0) err_sys("ioctl"); handle->sll.sll_family = PF_PACKET; handle->sll.sll_ifindex = handle->ifr.ifr_ifindex; handle->sll.sll_halen = ETH_ALEN; return handle; } /* * link_send -- Send a packet * * Inputs: * * handle The handle for the link interface * buf Pointer to the data to send * buflen Number of bytes to send * * Returns: * * The number of bytes sent, or -1 for error. */ ssize_t link_send(link_t *handle, const unsigned char *buf, size_t buflen) { ssize_t nbytes; nbytes = sendto(handle->fd, buf, buflen, 0, (struct sockaddr *)&(handle->sll), sizeof(handle->sll)); return nbytes; } /* * link_close -- Close the link * * Inputs: * * handle The handle for the link interface * * Returns: * * None */ void link_close(link_t *handle) { if (handle != NULL) { if (handle->fd != 0) close(handle->fd); free(handle); } } /* * get_hardware_address -- Get the Ethernet MAC address associated * with the given device. * Inputs: * * handle The link layer handle * hw_address (output) the Ethernet MAC address * * Returns: * * None */ void get_hardware_address(link_t *handle, unsigned char hw_address[]) { /* Obtain hardware address for specified interface */ if ((ioctl(handle->fd, SIOCGIFHWADDR, &(handle->ifr))) != 0) err_sys("ioctl"); memcpy(hw_address, handle->ifr.ifr_ifru.ifru_hwaddr.sa_data, ETH_ALEN); } /* * get_source_ip -- Get address and mask associated with given interface * * Inputs: * * handle The link level handle * ip_addr (output) The IP Address associated with the device * * Returns: * * Zero on success, or -1 on failure. */ int get_source_ip(link_t *handle, uint32_t *ip_addr) { struct sockaddr_in sa_addr; /* Obtain IP address for specified interface */ if ((ioctl(handle->fd, SIOCGIFADDR, &(handle->ifr))) != 0) { warn_sys("ioctl"); return -1; } memcpy(&sa_addr, &(handle->ifr.ifr_ifru.ifru_addr), sizeof(sa_addr)); *ip_addr = sa_addr.sin_addr.s_addr; return 0; } /* * Use rcsid to prevent the compiler optimising it away. */ void link_use_rcsid(void) { fprintf(stderr, "%s\n", rcsid); /* Use rcsid to stop compiler optimising away */ } arp-scan-1.8.1/arp-scan.c0000664000175000017500000025520011546362350012031 00000000000000/* * The ARP Scanner (arp-scan) is Copyright (C) 2005-2011 Roy Hills, * NTA Monitor Ltd. * * This file is part of arp-scan. * * arp-scan is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * arp-scan is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with arp-scan. If not, see . * * $Id: arp-scan.c 18169 2011-04-04 15:33:58Z rsh $ * * arp-scan -- The ARP Scanner * * Author: Roy Hills * Date: 13 October 2005 * * Usage: * arp-scan [options] [host...] * * Description: * * arp-scan sends the specified ARP packet to the specified hosts * and displays any responses received. * * The ARP protocol is defined in RFC 826 Ethernet Address Resolution Protocol * */ #include "arp-scan.h" static char const rcsid[] = "$Id: arp-scan.c 18169 2011-04-04 15:33:58Z rsh $"; /* RCS ID for ident(1) */ /* Global variables */ static host_entry *helist = NULL; /* Array of host entries */ static host_entry **helistptr; /* Array of pointers to host entries */ static host_entry **cursor; /* Pointer to current host entry ptr */ static unsigned num_hosts = 0; /* Number of entries in the list */ static unsigned responders = 0; /* Number of hosts which responded */ static unsigned live_count; /* Number of entries awaiting reply */ static int verbose=0; /* Verbose level */ static int debug = 0; /* Debug flag */ static pcap_t *pcap_handle; /* pcap handle */ static pcap_dumper_t *pcap_dump_handle = NULL; /* pcap savefile handle */ static char filename[MAXLINE]; /* Target list file name */ static int filename_flag=0; /* Set if using target list file */ static int random_flag=0; /* Randomise the list */ static int numeric_flag=0; /* IP addresses only */ static unsigned interval=0; /* Desired interval between packets */ static unsigned bandwidth=DEFAULT_BANDWIDTH; /* Bandwidth in bits per sec */ static unsigned retry = DEFAULT_RETRY; /* Number of retries */ static unsigned timeout = DEFAULT_TIMEOUT; /* Per-host timeout */ static float backoff_factor = DEFAULT_BACKOFF_FACTOR; /* Backoff factor */ static int snaplen = SNAPLEN; /* Pcap snap length */ static char *if_name=NULL; /* Interface name, e.g. "eth0" */ static int quiet_flag=0; /* Don't decode the packet */ static int ignore_dups=0; /* Don't display duplicate packets */ static uint32_t arp_spa; /* Source IP address */ static int arp_spa_flag=0; /* Source IP address specified */ static int arp_spa_is_tpa=0; /* Source IP is dest IP */ static unsigned char arp_sha[ETH_ALEN]; /* Source Ethernet MAC Address */ static int arp_sha_flag=0; /* Source MAC address specified */ static char ouifilename[MAXLINE]; /* OUI filename */ static char iabfilename[MAXLINE]; /* IAB filename */ static char macfilename[MAXLINE]; /* MAC filename */ static char pcap_savefile[MAXLINE]; /* pcap savefile filename */ static int arp_op=DEFAULT_ARP_OP; /* ARP Operation code */ static int arp_hrd=DEFAULT_ARP_HRD; /* ARP hardware type */ static int arp_pro=DEFAULT_ARP_PRO; /* ARP protocol */ static int arp_hln=DEFAULT_ARP_HLN; /* Hardware address length */ static int arp_pln=DEFAULT_ARP_PLN; /* Protocol address length */ static int eth_pro=DEFAULT_ETH_PRO; /* Ethernet protocol type */ static unsigned char arp_tha[6] = {0, 0, 0, 0, 0, 0}; static unsigned char target_mac[6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; static unsigned char source_mac[6]; static int source_mac_flag = 0; static unsigned char *padding=NULL; static size_t padding_len=0; static struct hash_control *hash_table; static int localnet_flag=0; /* Scan local network */ static int llc_flag=0; /* Use 802.2 LLC with SNAP */ static int ieee_8021q_vlan=-1; /* Use 802.1Q VLAN tagging if >= 0 */ static int pkt_write_file_flag=0; /* Write packet to file flag */ static int pkt_read_file_flag=0; /* Read packet from file flag */ static char pkt_filename[MAXLINE]; /* Read/Write packet to file filename */ static int write_pkt_to_file=0; /* Write packet to file for debugging */ int main(int argc, char *argv[]) { struct timeval now; struct timeval diff; /* Difference between two timevals */ int select_timeout; /* Select timeout */ ARP_UINT64 loop_timediff; /* Time since last packet sent in us */ ARP_UINT64 host_timediff; /* Time since last pkt sent to this host (us) */ struct timeval last_packet_time; /* Time last packet was sent */ int req_interval; /* Requested per-packet interval */ int cum_err=0; /* Cumulative timing error */ struct timeval start_time; /* Program start time */ struct timeval end_time; /* Program end time */ struct timeval elapsed_time; /* Elapsed time as timeval */ double elapsed_seconds; /* Elapsed time in seconds */ int reset_cum_err; int pass_no = 0; int first_timeout=1; unsigned i; char errbuf[PCAP_ERRBUF_SIZE]; struct bpf_program filter; char *filter_string; bpf_u_int32 netmask; bpf_u_int32 localnet; int datalink; int get_addr_status = 0; link_t *link_handle; /* Handle for link-layer functions */ int pcap_fd; /* Pcap file descriptor */ unsigned char interface_mac[ETH_ALEN]; /* * Initialise file names to the empty string. */ ouifilename[0] = '\0'; iabfilename[0] = '\0'; macfilename[0] = '\0'; pcap_savefile[0] = '\0'; /* * Process options. */ process_options(argc, argv); /* * Get program start time for statistics displayed on completion. */ Gettimeofday(&start_time); if (debug) {print_times(); printf("main: Start\n");} /* * Determine network interface to use if not reading from a pcap file * or writing to a binary file. * If the interface was specified with the --interface option then use * that, otherwise use pcap_lookupdev() to pick a suitable interface. */ if (!if_name && !pkt_read_file_flag && !pkt_write_file_flag) { if (!(if_name=pcap_lookupdev(errbuf))) { err_msg("pcap_lookupdev: %s", errbuf); } } /* * Open link layer socket. This is used to send outbound packets. * If we are reading packets from a pcap file, or writing packets to a * binary file, set this to NULL as we don't need to send packets in * this case. */ if (!pkt_read_file_flag && !pkt_write_file_flag) { if ((link_handle = link_open(if_name)) == NULL) { if (errno == EPERM || errno == EACCES) warn_msg("You need to be root, or arp-scan must be SUID root, " "to open a link-layer socket."); err_sys("link_open"); } } else { /* Set link_handle to NULL if reading packets from a file */ link_handle = NULL; } /* * Obtain the MAC address for the selected interface, and use this * as default for the source hardware addresses in the frame header * and ARP packet if the user has not specified their values. */ if (link_handle) { get_hardware_address(link_handle, interface_mac); if (source_mac_flag == 0) memcpy(source_mac, interface_mac, ETH_ALEN); if (arp_sha_flag == 0) memcpy(arp_sha, interface_mac, ETH_ALEN); } /* * If the user has not specified the ARP source address, obtain the * interface IP address and use that as the default value. */ if (arp_spa_flag == 0 && link_handle) { get_addr_status = get_source_ip(link_handle, &arp_spa); if (get_addr_status == -1) { warn_msg("WARNING: Could not obtain IP address for interface %s. " "Using 0.0.0.0 for", if_name); warn_msg("the source address, which is probably not what you want."); warn_msg("Either configure %s with an IP address, or manually specify" " the address", if_name); warn_msg("with the --arpspa option."); memset(&arp_spa, '\0', sizeof(arp_spa)); } } /* * Open the network device for reading with pcap, or the pcap file if we * have specified --readpktfromfile. If we are writing packets to a binary * file, then set pcap_handle to NULL as we don't need to read packets in * this case. */ if (pkt_read_file_flag) { if (!(pcap_handle = pcap_open_offline(pkt_filename, errbuf))) err_msg("pcap_open_offline: %s", errbuf); } else if (!pkt_write_file_flag) { if (!(pcap_handle = pcap_open_live(if_name, snaplen, PROMISC, TO_MS, errbuf))) err_msg("pcap_open_live: %s", errbuf); } else { pcap_handle = NULL; } /* * If we are reading files with pcap, get and display the datalink details */ if (pcap_handle) { if ((datalink=pcap_datalink(pcap_handle)) < 0) err_msg("pcap_datalink: %s", pcap_geterr(pcap_handle)); printf("Interface: %s, datalink type: %s (%s)\n", pkt_read_file_flag ? "savefile" : if_name, pcap_datalink_val_to_name(datalink), pcap_datalink_val_to_description(datalink)); if (datalink != DLT_EN10MB) { warn_msg("WARNING: Unsupported datalink type"); } } /* * If we are reading from a network device, then get the associated file * descriptor and configure it, determine the interface IP network and * netmask, and install a pcap filter to receive only ARP responses. * If we are reading from a pcap file, or writing to a binary file, just * set the file descriptor to -1 to indicate that it is not associated * with a network device. */ if (!pkt_read_file_flag && !pkt_write_file_flag) { if ((pcap_fd=pcap_get_selectable_fd(pcap_handle)) < 0) err_msg("pcap_fileno: %s", pcap_geterr(pcap_handle)); if ((pcap_setnonblock(pcap_handle, 1, errbuf)) < 0) err_msg("pcap_setnonblock: %s", errbuf); /* * For the BPF pcap implementation, set the BPF device into immediate mode, * otherwise it will buffer the responses. */ #ifdef ARP_PCAP_BPF #ifdef BIOCIMMEDIATE { unsigned int one = 1; if (ioctl(pcap_fd, BIOCIMMEDIATE, &one) < 0) err_sys("ioctl BIOCIMMEDIATE"); } #endif /* BIOCIMMEDIATE */ #endif /* ARP_PCAP_BPF */ /* * For the DLPI pcap implementation on Solaris, set the bufmod timeout to * zero. This has the side-effect of setting the chunk size to zero as * well, so bufmod will pass all incoming messages on immediately. */ #ifdef ARP_PCAP_DLPI { struct timeval time_zero = {0, 0}; if (ioctl(pcap_fd, SBIOCSTIME, &time_zero) < 0) err_sys("ioctl SBIOCSTIME"); } #endif if (pcap_lookupnet(if_name, &localnet, &netmask, errbuf) < 0) { memset(&localnet, '\0', sizeof(localnet)); memset(&netmask, '\0', sizeof(netmask)); if (localnet_flag) { warn_msg("ERROR: Could not obtain interface IP address and netmask"); err_msg("ERROR: pcap_lookupnet: %s", errbuf); } } /* * The filter string selects packets addressed to our interface address * that are Ethernet-II ARP packets, 802.3 LLC/SNAP ARP packets, * 802.1Q tagged ARP packets or 802.1Q tagged 802.3 LLC/SNAP ARP packets. */ filter_string=make_message("ether dst %.2x:%.2x:%.2x:%.2x:%.2x:%.2x and " "(arp or (ether[14:4]=0xaaaa0300 and " "ether[20:2]=0x0806) or (ether[12:2]=0x8100 " "and ether[16:2]=0x0806) or " "(ether[12:2]=0x8100 and " "ether[18:4]=0xaaaa0300 and " "ether[24:2]=0x0806))", interface_mac[0], interface_mac[1], interface_mac[2], interface_mac[3], interface_mac[4], interface_mac[5]); if (verbose > 1) warn_msg("DEBUG: pcap filter string: \"%s\"", filter_string); if ((pcap_compile(pcap_handle, &filter, filter_string, OPTIMISE, netmask)) < 0) err_msg("pcap_geterr: %s", pcap_geterr(pcap_handle)); free(filter_string); if ((pcap_setfilter(pcap_handle, &filter)) < 0) err_msg("pcap_setfilter: %s", pcap_geterr(pcap_handle)); } else { /* Reading packets from file */ pcap_fd = -1; } /* * Drop SUID privileges. */ if ((setuid(getuid())) < 0) { err_sys("setuid"); } /* * Open pcap savefile is the --pcapsavefile (-W) option was specified */ if (*pcap_savefile != '\0') { if (!(pcap_dump_handle=pcap_dump_open(pcap_handle, pcap_savefile))) { err_msg("pcap_dump_open: %s", pcap_geterr(pcap_handle)); } } /* * Check that the combination of specified options and arguments is * valid. */ if (interval && bandwidth != DEFAULT_BANDWIDTH) err_msg("ERROR: You cannot specify both --bandwidth and --interval."); if (localnet_flag) { if ((argc - optind) > 0) err_msg("ERROR: You can not specify targets with the --localnet option"); if (filename_flag) err_msg("ERROR: You can not specify both --file and --localnet options"); } /* * If we're not reading from a file, and --localnet was not specified, then * we must have some hosts given as command line arguments. */ if (!filename_flag && !localnet_flag) if ((argc - optind) < 1) usage(EXIT_FAILURE, 0); /* * Create MAC/Vendor hash table if quiet if not in effect. */ if (!quiet_flag) { char *fn; int count; if ((hash_table = hash_new()) == NULL) err_sys("hash_new"); if (*ouifilename == '\0') /* If OUI filename not specified */ fn = make_message("%s/%s", DATADIR, OUIFILENAME); else fn = make_message("%s", ouifilename); count = add_mac_vendor(hash_table, fn); if (verbose > 1 && count > 0) warn_msg("DEBUG: Loaded %d IEEE OUI/Vendor entries from %s.", count, fn); free(fn); if (*iabfilename == '\0') /* If IAB filename not specified */ fn = make_message("%s/%s", DATADIR, IABFILENAME); else fn = make_message("%s", iabfilename); count = add_mac_vendor(hash_table, fn); if (verbose > 1 && count > 0) warn_msg("DEBUG: Loaded %d IEEE IAB/Vendor entries from %s.", count, fn); free(fn); if (*macfilename == '\0') /* If MAC filename not specified */ fn = make_message("%s/%s", DATADIR, MACFILENAME); else fn = make_message("%s", macfilename); count = add_mac_vendor(hash_table, fn); if (verbose > 1 && count > 0) warn_msg("DEBUG: Loaded %d MAC/Vendor entries from %s.", count, fn); free(fn); } /* * Populate the list from the specified file if --file was specified, or * from the interface address and mask if --localnet was specified, or * otherwise from the remaining command line arguments. */ if (filename_flag) { /* Populate list from file */ FILE *fp; char line[MAXLINE]; char *cp; if ((strcmp(filename, "-")) == 0) { /* Filename "-" means stdin */ fp = stdin; } else { if ((fp = fopen(filename, "r")) == NULL) { err_sys("fopen"); } } while (fgets(line, MAXLINE, fp)) { for (cp = line; !isspace((unsigned char)*cp) && *cp != '\0'; cp++) ; *cp = '\0'; add_host_pattern(line, timeout); } if (fp != stdin) { fclose(fp); } } else if (localnet_flag) { /* Populate list from i/f addr & mask */ struct in_addr if_network; struct in_addr if_netmask; char *c_network; char *c_netmask; const char *cp; char localnet_descr[32]; if_network.s_addr = localnet; if_netmask.s_addr = netmask; cp = my_ntoa(if_network); c_network = make_message("%s", cp); cp = my_ntoa(if_netmask); c_netmask = make_message("%s", cp); snprintf(localnet_descr, 32, "%s:%s", c_network, c_netmask); free(c_network); free(c_netmask); if (verbose) { warn_msg("Using %s for localnet", localnet_descr); } add_host_pattern(localnet_descr, timeout); } else { /* Populate list from command line arguments */ argv=&argv[optind]; while (*argv) { add_host_pattern(*argv, timeout); argv++; } } /* * Check that we have at least one entry in the list. */ if (!num_hosts) err_msg("ERROR: No hosts to process."); /* * If --writepkttofile was specified, open the specified output file. */ if (pkt_write_file_flag) { write_pkt_to_file = open(pkt_filename, O_WRONLY|O_CREAT|O_TRUNC, 0666); if (write_pkt_to_file == -1) err_sys("open %s", pkt_filename); } /* * Create and initialise array of pointers to host entries. */ helistptr = Malloc(num_hosts * sizeof(host_entry *)); for (i=0; i0; i--) { r = (int)(genrand_real2() * i); /* 0<=r 1) { warn_msg("DEBUG: pkt len=%u bytes, bandwidth=%u bps, interval=%u us", packet_out_len, bandwidth, interval); } } /* * Display initial message. */ printf("Starting %s with %u hosts (http://www.nta-monitor.com/tools/arp-scan/)\n", PACKAGE_STRING, num_hosts); /* * Display the lists if verbose setting is 3 or more. */ if (verbose > 2) dump_list(); /* * Main loop: send packets to all hosts in order until a response * has been received or the host has exhausted its retry limit. * * The loop exits when all hosts have either responded or timed out. */ reset_cum_err = 1; req_interval = interval; while (live_count) { if (debug) {print_times(); printf("main: Top of loop.\n");} /* * Obtain current time and calculate deltas since last packet and * last packet to this host. */ Gettimeofday(&now); /* * If the last packet was sent more than interval us ago, then we can * potentially send a packet to the current host. */ timeval_diff(&now, &last_packet_time, &diff); loop_timediff = (ARP_UINT64)1000000*diff.tv_sec + diff.tv_usec; if (loop_timediff >= (unsigned)req_interval) { if (debug) {print_times(); printf("main: Can send packet now. loop_timediff=" ARP_UINT64_FORMAT ", req_interval=%d, cum_err=%d\n", loop_timediff, req_interval, cum_err);} /* * If the last packet to this host was sent more than the current * timeout for this host us ago, then we can potentially send a packet * to it. */ timeval_diff(&now, &((*cursor)->last_send_time), &diff); host_timediff = (ARP_UINT64)1000000*diff.tv_sec + diff.tv_usec; if (host_timediff >= (*cursor)->timeout) { if (reset_cum_err) { if (debug) {print_times(); printf("main: Reset cum_err\n");} cum_err = 0; req_interval = interval; reset_cum_err = 0; } else { cum_err += loop_timediff - interval; if (req_interval >= cum_err) { req_interval = req_interval - cum_err; } else { req_interval = 0; } } if (debug) {print_times(); printf("main: Can send packet to host %s now. host_timediff=" ARP_UINT64_FORMAT ", timeout=%u, req_interval=%d, cum_err=%d\n", my_ntoa((*cursor)->addr), host_timediff, (*cursor)->timeout, req_interval, cum_err);} select_timeout = req_interval; /* * If we've exceeded our retry limit, then this host has timed out so * remove it from the list. Otherwise, increase the timeout by the * backoff factor if this is not the first packet sent to this host * and send a packet. */ if (verbose && (*cursor)->num_sent > pass_no) { warn_msg("---\tPass %d complete", pass_no+1); pass_no = (*cursor)->num_sent; } if ((*cursor)->num_sent >= retry) { if (verbose > 1) warn_msg("---\tRemoving host %s - Timeout", my_ntoa((*cursor)->addr)); if (debug) {print_times(); printf("main: Timing out host %s.\n", my_ntoa((*cursor)->addr));} remove_host(cursor); /* Automatically calls advance_cursor() */ if (first_timeout) { timeval_diff(&now, &((*cursor)->last_send_time), &diff); host_timediff = (ARP_UINT64)1000000*diff.tv_sec + diff.tv_usec; while (host_timediff >= (*cursor)->timeout && live_count) { if ((*cursor)->live) { if (verbose > 1) warn_msg("---\tRemoving host %s - Catch-Up Timeout", my_ntoa((*cursor)->addr)); remove_host(cursor); } else { advance_cursor(); } timeval_diff(&now, &((*cursor)->last_send_time), &diff); host_timediff = (ARP_UINT64)1000000*diff.tv_sec + diff.tv_usec; } first_timeout=0; } Gettimeofday(&last_packet_time); } else { /* Retry limit not reached for this host */ if ((*cursor)->num_sent) (*cursor)->timeout *= backoff_factor; send_packet(link_handle, *cursor, &last_packet_time); advance_cursor(); } } else { /* We can't send a packet to this host yet */ /* * Note that there is no point calling advance_cursor() here because if * host n is not ready to send, then host n+1 will not be ready either. */ select_timeout = (*cursor)->timeout - host_timediff; reset_cum_err = 1; /* Zero cumulative error */ if (debug) {print_times(); printf("main: Can't send packet to host %s yet. host_timediff=" ARP_UINT64_FORMAT "\n", my_ntoa((*cursor)->addr), host_timediff);} } /* End If */ } else { /* We can't send a packet yet */ select_timeout = req_interval - loop_timediff; if (debug) {print_times(); printf("main: Can't send packet yet. loop_timediff=" ARP_UINT64_FORMAT "\n", loop_timediff);} } /* End If */ recvfrom_wto(pcap_fd, select_timeout); } /* End While */ printf("\n"); /* Ensure we have a blank line */ if (link_handle) link_close(link_handle); clean_up(); if (write_pkt_to_file) close(write_pkt_to_file); Gettimeofday(&end_time); timeval_diff(&end_time, &start_time, &elapsed_time); elapsed_seconds = (elapsed_time.tv_sec*1000 + elapsed_time.tv_usec/1000) / 1000.0; printf("Ending %s: %u hosts scanned in %.3f seconds (%.2f hosts/sec). %u responded\n", PACKAGE_STRING, num_hosts, elapsed_seconds, num_hosts/elapsed_seconds, responders); if (debug) {print_times(); printf("main: End\n");} return 0; } /* * display_packet -- Check and display received packet * * Inputs: * * he The host entry corresponding to the received packet * arpei ARP packet structure * extra_data Extra data after ARP packet (padding) * extra_data_len Length of extra data * framing Framing type (e.g. Ethernet II, LLC) * vlan_id 802.1Q VLAN identifier, or -1 if not 802.1Q * frame_hdr The Ethernet frame header * * Returns: * * None. * * This checks the received packet and displays details of what * was received in the format:
. */ void display_packet(host_entry *he, arp_ether_ipv4 *arpei, const unsigned char *extra_data, size_t extra_data_len, int framing, int vlan_id, ether_hdr *frame_hdr) { char *msg; char *cp; char *cp2; int nonzero=0; /* * Set msg to the IP address of the host entry and a tab. */ msg = make_message("%s\t", my_ntoa(he->addr)); /* * Decode ARP packet */ cp = msg; msg = make_message("%s%.2x:%.2x:%.2x:%.2x:%.2x:%.2x", cp, arpei->ar_sha[0], arpei->ar_sha[1], arpei->ar_sha[2], arpei->ar_sha[3], arpei->ar_sha[4], arpei->ar_sha[5]); free(cp); /* * Check that the source address in the Ethernet frame header is the same * as ar$sha in the ARP packet, and display the Ethernet source address * if it is different. */ if ((memcmp(arpei->ar_sha, frame_hdr->src_addr, ETH_ALEN)) != 0) { cp = msg; msg = make_message("%s (%.2x:%.2x:%.2x:%.2x:%.2x:%.2x)", cp, frame_hdr->src_addr[0], frame_hdr->src_addr[1], frame_hdr->src_addr[2], frame_hdr->src_addr[3], frame_hdr->src_addr[4], frame_hdr->src_addr[5]); free(cp); } /* * Find vendor from hash table and add to message if quiet if not in * effect. * * We start with more specific matches (against larger parts of the * hardware address), and work towards less specific matches until * we find a match or exhaust all possible matches. */ if (!quiet_flag) { char oui_string[13]; /* Space for full hw addr plus NULL */ const char *vendor=NULL; int oui_end=12; snprintf(oui_string, 13, "%.2X%.2X%.2X%.2X%.2X%.2X", arpei->ar_sha[0], arpei->ar_sha[1], arpei->ar_sha[2], arpei->ar_sha[3], arpei->ar_sha[4], arpei->ar_sha[5]); while (vendor == NULL && oui_end > 1) { oui_string[oui_end] = '\0'; /* Truncate oui string */ vendor = hash_find(hash_table, oui_string); oui_end--; } cp = msg; if (vendor) msg = make_message("%s\t%s", cp, vendor); else msg = make_message("%s\t%s", cp, "(Unknown)"); free(cp); /* * Check that any data after the ARP packet is zero. * If it is non-zero, and verbose is selected, then print the padding. */ if (extra_data_len > 0) { unsigned i; const unsigned char *ucp = extra_data; for (i=0; iar_pro) != 0x0800) { cp = msg; msg = make_message("%s (ARP Proto=0x%04x)", cp, ntohs(arpei->ar_pro)); free(cp); } /* * If the host entry is not live, then flag this as a duplicate. */ if (!he->live) { cp = msg; msg = make_message("%s (DUP: %u)", cp, he->num_recv); free(cp); } } /* End if (!quiet_flag) */ /* * Print the message. */ printf("%s\n", msg); free(msg); } /* * send_packet -- Construct and send a packet to the specified host * * Inputs: * * link_handle Link layer handle * he Host entry to send to. If NULL, then no packet is sent * last_packet_time Time when last packet was sent * * Returns: * * The size of the packet that was sent. * * This constructs an appropriate packet and sends it to the host * identified by "he" using the socket "s". It also updates the * "last_send_time" field for the host entry. * * If link_handle is NULL, then don't attempt to send any packets. This * is typically when we are reading packets from a pcap file. */ int send_packet(link_t *link_handle, host_entry *he, struct timeval *last_packet_time) { unsigned char buf[MAX_FRAME]; size_t buflen; ether_hdr frame_hdr; arp_ether_ipv4 arpei; int nsent = 0; /* * Construct Ethernet frame header */ memcpy(frame_hdr.dest_addr, target_mac, ETH_ALEN); memcpy(frame_hdr.src_addr, source_mac, ETH_ALEN); frame_hdr.frame_type = htons(eth_pro); /* * Construct the ARP Header. */ memset(&arpei, '\0', sizeof(arp_ether_ipv4)); arpei.ar_hrd = htons(arp_hrd); arpei.ar_pro = htons(arp_pro); arpei.ar_hln = arp_hln; arpei.ar_pln = arp_pln; arpei.ar_op = htons(arp_op); memcpy(arpei.ar_sha, arp_sha, ETH_ALEN); memcpy(arpei.ar_tha, arp_tha, ETH_ALEN); if (arp_spa_is_tpa) { if (he) { arpei.ar_sip = he->addr.s_addr; } } else { arpei.ar_sip = arp_spa; } if (he) arpei.ar_tip = he->addr.s_addr; /* * Copy the required data into the output buffer "buf" and set "buflen" * to the number of bytes in this buffer. */ marshal_arp_pkt(buf, &frame_hdr, &arpei, &buflen, padding, padding_len); /* * If he is NULL, just return with the packet length. */ if (he == NULL) return buflen; /* * Check that the host is live. Complain if not. */ if (!he->live) { warn_msg("***\tsend_packet called on non-live host: SHOULDN'T HAPPEN"); return 0; } /* * Update the last send times for this host. */ Gettimeofday(last_packet_time); he->last_send_time.tv_sec = last_packet_time->tv_sec; he->last_send_time.tv_usec = last_packet_time->tv_usec; he->num_sent++; /* * Send the packet. */ if (debug) {print_times(); printf("send_packet: #%u to host %s tmo %d\n", he->num_sent, my_ntoa(he->addr), he->timeout);} if (verbose > 1) warn_msg("---\tSending packet #%u to host %s tmo %d", he->num_sent, my_ntoa(he->addr), he->timeout); if (write_pkt_to_file) { nsent = write(write_pkt_to_file, buf, buflen); } else { if (link_handle) { /* Don't send if reading packets from file */ nsent = link_send(link_handle, buf, buflen); } } if (nsent < 0) err_sys("ERROR: failed to send packet"); return buflen; } /* * clean_up -- Protocol-specific Clean-Up routine. * * Inputs: * * None. * * Returns: * * None. * * This is called once after all hosts have been processed. It can be * used to perform any tidying-up or statistics-displaying required. * It does not have to do anything. */ void clean_up(void) { struct pcap_stat stats; if (pcap_handle && !pkt_read_file_flag) { if ((pcap_stats(pcap_handle, &stats)) < 0) err_msg("pcap_stats: %s", pcap_geterr(pcap_handle)); printf("%u packets received by filter, %u packets dropped by kernel\n", stats.ps_recv, stats.ps_drop); } if (pcap_dump_handle) { pcap_dump_close(pcap_dump_handle); } if (pcap_handle) { pcap_close(pcap_handle); } } /* * usage -- display usage message and exit * * Inputs: * * status Status code to pass to exit() * detailed zero for brief output, non-zero for detailed output * * Returns: * * None (this function never returns). */ void usage(int status, int detailed) { fprintf(stderr, "Usage: arp-scan [options] [hosts...]\n"); fprintf(stderr, "\n"); fprintf(stderr, "Target hosts must be specified on the command line unless the --file option is\n"); fprintf(stderr, "given, in which case the targets are read from the specified file instead, or\n"); fprintf(stderr, "the --localnet option is used, in which case the targets are generated from\n"); fprintf(stderr, "the network interface IP address and netmask.\n"); fprintf(stderr, "\n"); fprintf(stderr, "You will need to be root, or arp-scan must be SUID root, in order to run\n"); fprintf(stderr, "arp-scan, because the functions that it uses to read and write packets\n"); fprintf(stderr, "require root privilege.\n"); fprintf(stderr, "\n"); fprintf(stderr, "The target hosts can be specified as IP addresses or hostnames. You can also\n"); fprintf(stderr, "specify the target as IPnetwork/bits (e.g. 192.168.1.0/24) to specify all hosts\n"); fprintf(stderr, "in the given network (network and broadcast addresses included), or\n"); fprintf(stderr, "IPstart-IPend (e.g. 192.168.1.3-192.168.1.27) to specify all hosts in the\n"); fprintf(stderr, "inclusive range, or IPnetwork:NetMask (e.g. 192.168.1.0:255.255.255.0) to\n"); fprintf(stderr, "specify all hosts in the given network and mask.\n"); fprintf(stderr, "\n"); fprintf(stderr, "These different options for specifying target hosts may be used both on the\n"); fprintf(stderr, "command line, and also in the file specified with the --file option.\n"); fprintf(stderr, "\n"); if (detailed) { fprintf(stderr, "Options:\n"); fprintf(stderr, "\n"); fprintf(stderr, "Note: where an option takes a value, that value is specified as a letter in\n"); fprintf(stderr, "angle brackets. The letter indicates the type of data that is expected:\n"); fprintf(stderr, "\n"); fprintf(stderr, " A character string, e.g. --file=hostlist.txt.\n"); fprintf(stderr, "\n"); fprintf(stderr, " An integer, which can be specified as a decimal number or as a hexadecimal\n"); fprintf(stderr, " number if preceeded with 0x, e.g. --arppro=2048 or --arpro=0x0800.\n"); fprintf(stderr, "\n"); fprintf(stderr, " A floating point decimal number, e.g. --backoff=1.5.\n"); fprintf(stderr, "\n"); fprintf(stderr, " An Ethernet MAC address, which can be specified either in the format\n"); fprintf(stderr, " 01:23:45:67:89:ab, or as 01-23-45-67-89-ab. The alphabetic hex characters\n"); fprintf(stderr, " may be either upper or lower case. E.g. --arpsha=01:23:45:67:89:ab.\n"); fprintf(stderr, "\n"); fprintf(stderr, " An IPv4 address, e.g. --arpspa=10.0.0.1\n"); fprintf(stderr, "\n"); fprintf(stderr, " Binary data specified as a hexadecimal string, which should not\n"); fprintf(stderr, " include a leading 0x. The alphabetic hex characters may be either\n"); fprintf(stderr, " upper or lower case. E.g. --padding=aaaaaaaaaaaa\n"); fprintf(stderr, "\n"); fprintf(stderr, " Something else. See the description of the option for details.\n"); fprintf(stderr, "\n--help or -h\t\tDisplay this usage message and exit.\n"); fprintf(stderr, "\n--file= or -f \tRead hostnames or addresses from the specified file\n"); fprintf(stderr, "\t\t\tinstead of from the command line. One name or IP\n"); fprintf(stderr, "\t\t\taddress per line. Use \"-\" for standard input.\n"); fprintf(stderr, "\n--localnet or -l\tGenerate addresses from network interface configuration.\n"); fprintf(stderr, "\t\t\tUse the network interface IP address and network mask\n"); fprintf(stderr, "\t\t\tto generate the list of target host addresses.\n"); fprintf(stderr, "\t\t\tThe list will include the network and broadcast\n"); fprintf(stderr, "\t\t\taddresses, so an interface address of 10.0.0.1 with\n"); fprintf(stderr, "\t\t\tnetmask 255.255.255.0 would generate 256 target\n"); fprintf(stderr, "\t\t\thosts from 10.0.0.0 to 10.0.0.255 inclusive.\n"); fprintf(stderr, "\t\t\tIf you use this option, you cannot specify the --file\n"); fprintf(stderr, "\t\t\toption or specify any target hosts on the command line.\n"); fprintf(stderr, "\t\t\tThe interface specifications are taken from the\n"); fprintf(stderr, "\t\t\tinterface that arp-scan will use, which can be\n"); fprintf(stderr, "\t\t\tchanged with the --interface option.\n"); fprintf(stderr, "\n--retry= or -r \tSet total number of attempts per host to ,\n"); fprintf(stderr, "\t\t\tdefault=%d.\n", DEFAULT_RETRY); fprintf(stderr, "\n--timeout= or -t \tSet initial per host timeout to ms, default=%d.\n", DEFAULT_TIMEOUT); fprintf(stderr, "\t\t\tThis timeout is for the first packet sent to each host.\n"); fprintf(stderr, "\t\t\tsubsequent timeouts are multiplied by the backoff\n"); fprintf(stderr, "\t\t\tfactor which is set with --backoff.\n"); fprintf(stderr, "\n--interval= or -i Set minimum packet interval to .\n"); fprintf(stderr, "\t\t\tThis controls the outgoing bandwidth usage by limiting\n"); fprintf(stderr, "\t\t\tthe rate at which packets can be sent. The packet\n"); fprintf(stderr, "\t\t\tinterval will be no smaller than this number.\n"); fprintf(stderr, "\t\t\tIf you want to use up to a given bandwidth, then it is\n"); fprintf(stderr, "\t\t\teasier to use the --bandwidth option instead.\n"); fprintf(stderr, "\t\t\tThe interval specified is in milliseconds by default,\n"); fprintf(stderr, "\t\t\tor in microseconds if \"u\" is appended to the value.\n"); fprintf(stderr, "\n--bandwidth= or -B Set desired outbound bandwidth to , default=%d.\n", DEFAULT_BANDWIDTH); fprintf(stderr, "\t\t\tThe value is in bits per second by default. If you\n"); fprintf(stderr, "\t\t\tappend \"K\" to the value, then the units are kilobits\n"); fprintf(stderr, "\t\t\tper sec; and if you append \"M\" to the value, the\n"); fprintf(stderr, "\t\t\tunits are megabits per second.\n"); fprintf(stderr, "\t\t\tThe \"K\" and \"M\" suffixes represent the decimal, not\n"); fprintf(stderr, "\t\t\tbinary, multiples. So 64K is 64000, not 65536.\n"); fprintf(stderr, "\t\t\tYou cannot specify both --interval and --bandwidth\n"); fprintf(stderr, "\t\t\tbecause they are just different ways to change the\n"); fprintf(stderr, "\t\t\tsame underlying parameter.\n"); fprintf(stderr, "\n--backoff= or -b \tSet timeout backoff factor to , default=%.2f.\n", DEFAULT_BACKOFF_FACTOR); fprintf(stderr, "\t\t\tThe per-host timeout is multiplied by this factor\n"); fprintf(stderr, "\t\t\tafter each timeout. So, if the number of retries\n"); fprintf(stderr, "\t\t\tis 3, the initial per-host timeout is 500ms and the\n"); fprintf(stderr, "\t\t\tbackoff factor is 1.5, then the first timeout will be\n"); fprintf(stderr, "\t\t\t500ms, the second 750ms and the third 1125ms.\n"); fprintf(stderr, "\n--verbose or -v\t\tDisplay verbose progress messages.\n"); fprintf(stderr, "\t\t\tUse more than once for greater effect:\n"); fprintf(stderr, "\t\t\t1 - Display the network address and mask used when the\n"); fprintf(stderr, "\t\t\t --localnet option is specified, display any\n"); fprintf(stderr, "\t\t\t nonzero packet padding, display packets received\n"); fprintf(stderr, "\t\t\t from unknown hosts, and show when each pass through\n"); fprintf(stderr, "\t\t\t the list completes.\n"); fprintf(stderr, "\t\t\t2 - Show each packet sent and received, when entries\n"); fprintf(stderr, "\t\t\t are removed from the list, the pcap filter string,\n"); fprintf(stderr, "\t\t\t and counts of MAC/Vendor mapping entries.\n"); fprintf(stderr, "\t\t\t3 - Display the host list before scanning starts.\n"); fprintf(stderr, "\n--version or -V\t\tDisplay program version and exit.\n"); fprintf(stderr, "\n--random or -R\t\tRandomise the host list.\n"); fprintf(stderr, "\t\t\tThis option randomises the order of the hosts in the\n"); fprintf(stderr, "\t\t\thost list, so the ARP packets are sent to the hosts in\n"); fprintf(stderr, "\t\t\ta random order. It uses the Knuth shuffle algorithm.\n"); fprintf(stderr, "\n--numeric or -N\t\tIP addresses only, no hostnames.\n"); fprintf(stderr, "\t\t\tWith this option, all hosts must be specified as\n"); fprintf(stderr, "\t\t\tIP addresses. Hostnames are not permitted. No DNS\n"); fprintf(stderr, "\t\t\tlookups will be performed.\n"); fprintf(stderr, "\n--snap= or -n \tSet the pcap snap length to . Default=%d.\n", SNAPLEN); fprintf(stderr, "\t\t\tThis specifies the frame capture length. This\n"); fprintf(stderr, "\t\t\tlength includes the data-link header.\n"); fprintf(stderr, "\t\t\tThe default is normally sufficient.\n"); fprintf(stderr, "\n--interface= or -I Use network interface .\n"); fprintf(stderr, "\t\t\tIf this option is not specified, arp-scan will search\n"); fprintf(stderr, "\t\t\tthe system interface list for the lowest numbered,\n"); fprintf(stderr, "\t\t\tconfigured up interface (excluding loopback).\n"); fprintf(stderr, "\t\t\tThe interface specified must support ARP.\n"); fprintf(stderr, "\n--quiet or -q\t\tOnly display minimal output.\n"); fprintf(stderr, "\t\t\tIf this option is specified, then only the minimum\n"); fprintf(stderr, "\t\t\tinformation is displayed. With this option, the\n"); fprintf(stderr, "\t\t\tOUI files are not used.\n"); fprintf(stderr, "\n--ignoredups or -g\tDon't display duplicate packets.\n"); fprintf(stderr, "\t\t\tBy default, duplicate packets are displayed and are\n"); fprintf(stderr, "\t\t\tflagged with \"(DUP: n)\".\n"); fprintf(stderr, "\n--ouifile= or -O \tUse OUI file , default=%s/%s\n", DATADIR, OUIFILENAME); fprintf(stderr, "\t\t\tThis file provides the IEEE Ethernet OUI to vendor\n"); fprintf(stderr, "\t\t\tstring mapping.\n"); fprintf(stderr, "\n--iabfile= or -F \tUse IAB file , default=%s/%s\n", DATADIR, IABFILENAME); fprintf(stderr, "\t\t\tThis file provides the IEEE Ethernet IAB to vendor\n"); fprintf(stderr, "\t\t\tstring mapping.\n"); fprintf(stderr, "\n--macfile= or -m \tUse MAC/Vendor file , default=%s/%s\n", DATADIR, MACFILENAME); fprintf(stderr, "\t\t\tThis file provides the custom Ethernet MAC to vendor\n"); fprintf(stderr, "\t\t\tstring mapping.\n"); fprintf(stderr, "\n--srcaddr= or -S Set the source Ethernet MAC address to .\n"); fprintf(stderr, "\t\t\tThis sets the 48-bit hardware address in the Ethernet\n"); fprintf(stderr, "\t\t\tframe header for outgoing ARP packets. It does not\n"); fprintf(stderr, "\t\t\tchange the hardware address in the ARP packet, see\n"); fprintf(stderr, "\t\t\t--arpsha for details on how to change that address.\n"); fprintf(stderr, "\t\t\tThe default is the Ethernet address of the outgoing\n"); fprintf(stderr, "\t\t\tinterface.\n"); fprintf(stderr, "\n--destaddr= or -T Send the packets to Ethernet MAC address \n"); fprintf(stderr, "\t\t\tThis sets the 48-bit destination address in the\n"); fprintf(stderr, "\t\t\tEthernet frame header.\n"); fprintf(stderr, "\t\t\tThe default is the broadcast address ff:ff:ff:ff:ff:ff.\n"); fprintf(stderr, "\t\t\tMost operating systems will also respond if the ARP\n"); fprintf(stderr, "\t\t\trequest is sent to their MAC address, or to a\n"); fprintf(stderr, "\t\t\tmulticast address that they are listening on.\n"); fprintf(stderr, "\n--arpsha= or -u \tUse as the ARP source Ethernet address\n"); fprintf(stderr, "\t\t\tThis sets the 48-bit ar$sha field in the ARP packet\n"); fprintf(stderr, "\t\t\tIt does not change the hardware address in the frame\n"); fprintf(stderr, "\t\t\theader, see --srcaddr for details on how to change\n"); fprintf(stderr, "\t\t\tthat address. The default is the Ethernet address of\n"); fprintf(stderr, "\t\t\tthe outgoing interface.\n"); fprintf(stderr, "\n--arptha= or -w \tUse as the ARP target Ethernet address\n"); fprintf(stderr, "\t\t\tThis sets the 48-bit ar$tha field in the ARP packet\n"); fprintf(stderr, "\t\t\tThe default is zero, because this field is not used\n"); fprintf(stderr, "\t\t\tfor ARP request packets.\n"); fprintf(stderr, "\n--prototype= or -y Set the Ethernet protocol type to , default=0x%.4x.\n", DEFAULT_ETH_PRO); fprintf(stderr, "\t\t\tThis sets the 16-bit protocol type field in the\n"); fprintf(stderr, "\t\t\tEthernet frame header.\n"); fprintf(stderr, "\t\t\tSetting this to a non-default value will result in the\n"); fprintf(stderr, "\t\t\tpacket being ignored by the target, or sent to the\n"); fprintf(stderr, "\t\t\twrong protocol stack.\n"); fprintf(stderr, "\n--arphrd= or -H \tUse for the ARP hardware type, default=%d.\n", DEFAULT_ARP_HRD); fprintf(stderr, "\t\t\tThis sets the 16-bit ar$hrd field in the ARP packet.\n"); fprintf(stderr, "\t\t\tThe normal value is 1 (ARPHRD_ETHER). Most, but not\n"); fprintf(stderr, "\t\t\tall, operating systems will also respond to 6\n"); fprintf(stderr, "\t\t\t(ARPHRD_IEEE802). A few systems respond to any value.\n"); fprintf(stderr, "\n--arppro= or -p \tUse for the ARP protocol type, default=0x%.4x.\n", DEFAULT_ARP_PRO); fprintf(stderr, "\t\t\tThis sets the 16-bit ar$pro field in the ARP packet.\n"); fprintf(stderr, "\t\t\tMost operating systems only respond to 0x0800 (IPv4)\n"); fprintf(stderr, "\t\t\tbut some will respond to other values as well.\n"); fprintf(stderr, "\n--arphln= or -a \tSet the hardware address length to , default=%d.\n", DEFAULT_ARP_HLN); fprintf(stderr, "\t\t\tThis sets the 8-bit ar$hln field in the ARP packet.\n"); fprintf(stderr, "\t\t\tIt sets the claimed length of the hardware address\n"); fprintf(stderr, "\t\t\tin the ARP packet. Setting it to any value other than\n"); fprintf(stderr, "\t\t\tthe default will make the packet non RFC compliant.\n"); fprintf(stderr, "\t\t\tSome operating systems may still respond to it though.\n"); fprintf(stderr, "\t\t\tNote that the actual lengths of the ar$sha and ar$tha\n"); fprintf(stderr, "\t\t\tfields in the ARP packet are not changed by this\n"); fprintf(stderr, "\t\t\toption; it only changes the ar$hln field.\n"); fprintf(stderr, "\n--arppln= or -P \tSet the protocol address length to , default=%d.\n", DEFAULT_ARP_PLN); fprintf(stderr, "\t\t\tThis sets the 8-bit ar$pln field in the ARP packet.\n"); fprintf(stderr, "\t\t\tIt sets the claimed length of the protocol address\n"); fprintf(stderr, "\t\t\tin the ARP packet. Setting it to any value other than\n"); fprintf(stderr, "\t\t\tthe default will make the packet non RFC compliant.\n"); fprintf(stderr, "\t\t\tSome operating systems may still respond to it though.\n"); fprintf(stderr, "\t\t\tNote that the actual lengths of the ar$spa and ar$tpa\n"); fprintf(stderr, "\t\t\tfields in the ARP packet are not changed by this\n"); fprintf(stderr, "\t\t\toption; it only changes the ar$pln field.\n"); fprintf(stderr, "\n--arpop= or -o \tUse for the ARP operation, default=%d.\n", DEFAULT_ARP_OP); fprintf(stderr, "\t\t\tThis sets the 16-bit ar$op field in the ARP packet.\n"); fprintf(stderr, "\t\t\tMost operating systems will only respond to the value 1\n"); fprintf(stderr, "\t\t\t(ARPOP_REQUEST). However, some systems will respond\n"); fprintf(stderr, "\t\t\tto other values as well.\n"); fprintf(stderr, "\n--arpspa= or -s \tUse as the source IP address.\n"); fprintf(stderr, "\t\t\tThe address should be specified in dotted quad format;\n"); fprintf(stderr, "\t\t\tor the literal string \"dest\", which sets the source\n"); fprintf(stderr, "\t\t\taddress to be the same as the target host address.\n"); fprintf(stderr, "\t\t\tThis sets the 32-bit ar$spa field in the ARP packet.\n"); fprintf(stderr, "\t\t\tSome operating systems check this, and will only\n"); fprintf(stderr, "\t\t\trespond if the source address is within the network\n"); fprintf(stderr, "\t\t\tof the receiving interface. Others don't care, and\n"); fprintf(stderr, "\t\t\twill respond to any source address.\n"); fprintf(stderr, "\t\t\tBy default, the outgoing interface address is used.\n"); fprintf(stderr, "\n\t\t\tWARNING: Setting ar$spa to the destination IP address\n"); fprintf(stderr, "\t\t\tcan disrupt some operating systems, as they assume\n"); fprintf(stderr, "\t\t\tthere is an IP address clash if they receive an ARP\n"); fprintf(stderr, "\t\t\trequest for their own address.\n"); fprintf(stderr, "\n--padding= or -A \tSpecify padding after packet data.\n"); fprintf(stderr, "\t\t\tSet the padding data to hex value . This data is\n"); fprintf(stderr, "\t\t\tappended to the end of the ARP packet, after the data.\n"); fprintf(stderr, "\t\t\tMost, if not all, operating systems will ignore any\n"); fprintf(stderr, "\t\t\tpadding. The default is no padding, although the\n"); fprintf(stderr, "\t\t\tEthernet driver on the sending system may pad the\n"); fprintf(stderr, "\t\t\tpacket to the minimum Ethernet frame length.\n"); fprintf(stderr, "\n--llc or -L\t\tUse RFC 1042 LLC framing with SNAP.\n"); fprintf(stderr, "\t\t\tThis option causes the outgoing ARP packets to use\n"); fprintf(stderr, "\t\t\tIEEE 802.2 framing with a SNAP header as described\n"); fprintf(stderr, "\t\t\tin RFC 1042. The default is to use Ethernet-II\n"); fprintf(stderr, "\t\t\tframing.\n"); fprintf(stderr, "\t\t\tarp-scan will decode and display received ARP packets\n"); fprintf(stderr, "\t\t\tin either Ethernet-II or IEEE 802.2 formats\n"); fprintf(stderr, "\t\t\tirrespective of this option.\n"); fprintf(stderr, "\n--vlan= or -Q \tUse 802.1Q tagging with VLAN id .\n"); fprintf(stderr, "\t\t\tThis option causes the outgoing ARP packets to use\n"); fprintf(stderr, "\t\t\t802.1Q VLAN tagging with a VLAN ID of , which should\n"); fprintf(stderr, "\t\t\tbe in the range 0 to 4095 inclusive.\n"); fprintf(stderr, "\t\t\tarp-scan will always decode and display received ARP\n"); fprintf(stderr, "\t\t\tpackets in 802.1Q format irrespective of this option.\n"); fprintf(stderr, "\n--pcapsavefile= or -W \tWrite received packets to pcap savefile .\n"); fprintf(stderr, "\t\t\tThis option causes received ARP responses to be written\n"); fprintf(stderr, "\t\t\tto the specified pcap savefile as well as being decoded\n"); fprintf(stderr, "\t\t\tand displayed. This savefile can be analysed with\n"); fprintf(stderr, "\t\t\tprograms that understand the pcap file format, such as\n"); fprintf(stderr, "\t\t\t\"tcpdump\" and \"wireshark\".\n"); } else { fprintf(stderr, "use \"arp-scan --help\" for detailed information on the available options.\n"); } fprintf(stderr, "\n"); fprintf(stderr, "Report bugs or send suggestions to %s\n", PACKAGE_BUGREPORT); fprintf(stderr, "See the arp-scan homepage at http://www.nta-monitor.com/tools/arp-scan/\n"); exit(status); } /* * add_host_pattern -- Add one or more new host to the list. * * Inputs: * * pattern = The host pattern to add. * host_timeout = Per-host timeout in ms. * * Returns: None * * This adds one or more new hosts to the list. The pattern argument * can either be a single host or IP address, in which case one host * will be added to the list, or it can specify a number of hosts with * the IPnet/bits or IPstart-IPend formats. * * The host_timeout and num_hosts arguments are passed unchanged to * add_host(). */ void add_host_pattern(const char *pattern, unsigned host_timeout) { char *patcopy; struct in_addr in_val; struct in_addr mask_val; unsigned numbits; char *cp; uint32_t ipnet_val; uint32_t network; uint32_t mask; unsigned long hoststart; unsigned long hostend; unsigned i; uint32_t x; static int first_call=1; static regex_t iprange_pat; static regex_t ipslash_pat; static regex_t ipmask_pat; static const char *iprange_pat_str = "[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+-[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+"; static const char *ipslash_pat_str = "[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+/[0-9]+"; static const char *ipmask_pat_str = "[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+:[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+"; /* * Compile regex patterns if this is the first time we've been called. */ if (first_call) { int result; first_call = 0; if ((result=regcomp(&iprange_pat, iprange_pat_str, REG_EXTENDED|REG_NOSUB))) { char errbuf[MAXLINE]; size_t errlen; errlen=regerror(result, &iprange_pat, errbuf, MAXLINE); err_msg("ERROR: cannot compile regex pattern \"%s\": %s", iprange_pat_str, errbuf); } if ((result=regcomp(&ipslash_pat, ipslash_pat_str, REG_EXTENDED|REG_NOSUB))) { char errbuf[MAXLINE]; size_t errlen; errlen=regerror(result, &ipslash_pat, errbuf, MAXLINE); err_msg("ERROR: cannot compile regex pattern \"%s\": %s", ipslash_pat_str, errbuf); } if ((result=regcomp(&ipmask_pat, ipmask_pat_str, REG_EXTENDED|REG_NOSUB))) { char errbuf[MAXLINE]; size_t errlen; errlen=regerror(result, &ipmask_pat, errbuf, MAXLINE); err_msg("ERROR: cannot compile regex pattern \"%s\": %s", ipmask_pat_str, errbuf); } } /* * Make a copy of pattern because we don't want to modify our argument. */ patcopy = dupstr(pattern); if (!(regexec(&ipslash_pat, patcopy, 0, NULL, 0))) { /* IPnet/bits */ /* * Get IPnet and bits as integers. Perform basic error checking. */ cp=strchr(patcopy, '/'); *(cp++)='\0'; /* patcopy points to IPnet, cp points to bits */ if (!(inet_aton(patcopy, &in_val))) err_msg("ERROR: %s is not a valid IP address", patcopy); ipnet_val=ntohl(in_val.s_addr); /* We need host byte order */ numbits=Strtoul(cp, 10); if (numbits<3 || numbits>32) err_msg("ERROR: Number of bits in %s must be between 3 and 32", pattern); /* * Construct 32-bit network bitmask from number of bits. */ mask=0; for (i=0; i> 24; b2 = (hostip & 0x00ff0000) >> 16; b3 = (hostip & 0x0000ff00) >> 8; b4 = (hostip & 0x000000ff); snprintf(ipstr, sizeof(ipstr), "%d.%d.%d.%d", b1,b2,b3,b4); add_host(ipstr, host_timeout, 1); } } else if (!(regexec(&ipmask_pat, patcopy, 0, NULL, 0))) { /* IPnet:netmask */ /* * Get IPnet and bits as integers. Perform basic error checking. */ cp=strchr(patcopy, ':'); *(cp++)='\0'; /* patcopy points to IPnet, cp points to netmask */ if (!(inet_aton(patcopy, &in_val))) err_msg("ERROR: %s is not a valid IP address", patcopy); ipnet_val=ntohl(in_val.s_addr); /* We need host byte order */ if (!(inet_aton(cp, &mask_val))) err_msg("ERROR: %s is not a valid netmask", patcopy); mask=ntohl(mask_val.s_addr); /* We need host byte order */ /* * Calculate the number of bits in the network. */ x = mask; for (numbits=0; x != 0; x>>=1) { if (x & 0x01) { numbits++; } } /* * Mask off the network. Warn if the host bits were non-zero. */ network=ipnet_val & mask; if (network != ipnet_val) warn_msg("WARNING: host part of %s is non-zero", pattern); /* * Determine maximum and minimum host values. We include the host * and broadcast. */ hoststart=0; hostend=(1<<(32-numbits))-1; /* * Calculate all host addresses in the range and feed to add_host() * in dotted-quad format. */ for (i=hoststart; i<=hostend; i++) { uint32_t hostip; int b1, b2, b3, b4; char ipstr[16]; hostip = network+i; b1 = (hostip & 0xff000000) >> 24; b2 = (hostip & 0x00ff0000) >> 16; b3 = (hostip & 0x0000ff00) >> 8; b4 = (hostip & 0x000000ff); snprintf(ipstr, sizeof(ipstr), "%d.%d.%d.%d", b1,b2,b3,b4); add_host(ipstr, host_timeout, 1); } } else if (!(regexec(&iprange_pat, patcopy, 0, NULL, 0))) { /* IPstart-IPend */ /* * Get IPstart and IPend as integers. */ cp=strchr(patcopy, '-'); *(cp++)='\0'; /* patcopy points to IPstart, cp points to IPend */ if (!(inet_aton(patcopy, &in_val))) err_msg("ERROR: %s is not a valid IP address", patcopy); hoststart=ntohl(in_val.s_addr); /* We need host byte order */ if (!(inet_aton(cp, &in_val))) err_msg("ERROR: %s is not a valid IP address", cp); hostend=ntohl(in_val.s_addr); /* We need host byte order */ /* * Calculate all host addresses in the range and feed to add_host() * in dotted-quad format. */ for (i=hoststart; i<=hostend; i++) { int b1, b2, b3, b4; char ipstr[16]; b1 = (i & 0xff000000) >> 24; b2 = (i & 0x00ff0000) >> 16; b3 = (i & 0x0000ff00) >> 8; b4 = (i & 0x000000ff); snprintf(ipstr, sizeof(ipstr), "%d.%d.%d.%d", b1,b2,b3,b4); add_host(ipstr, host_timeout, 1); } } else { /* Single host or IP address */ add_host(patcopy, host_timeout, numeric_flag); } free(patcopy); } /* * add_host -- Add a new host to the list. * * Inputs: * * host_name = The Name or IP address of the host. * host_timeout = The initial host timeout in ms. * numeric_only = 1 if the host name is definitely an IP address in * dotted quad format, or 0 if it may be a hostname or * IP address. * * Returns: * * None. * * This function is called before the helistptr array is created, so * we use the helist array directly. */ void add_host(const char *host_name, unsigned host_timeout, int numeric_only) { struct in_addr *hp=NULL; struct in_addr addr; host_entry *he; static int num_left=0; /* Number of free entries left */ int result; char *ga_err_msg; if (numeric_only) { result = inet_pton(AF_INET, host_name, &addr); if (result < 0) { err_sys("ERROR: inet_pton failed for %s", host_name); } else if (result == 0) { warn_msg("WARNING: \"%s\" is not a valid IPv4 address - target ignored"); return; } } else { hp = get_host_address(host_name, AF_INET, &addr, &ga_err_msg); if (hp == NULL) { warn_msg("WARNING: get_host_address failed for \"%s\": %s - target ignored", host_name, ga_err_msg); return; } } if (!num_left) { /* No entries left, allocate some more */ if (helist) helist=Realloc(helist, (num_hosts * sizeof(host_entry)) + REALLOC_COUNT*sizeof(host_entry)); else helist=Malloc(REALLOC_COUNT*sizeof(host_entry)); num_left = REALLOC_COUNT; } he = helist + num_hosts; /* Would array notation be better? */ num_hosts++; num_left--; memcpy(&(he->addr), &addr, sizeof(struct in_addr)); he->live = 1; he->timeout = host_timeout * 1000; /* Convert from ms to us */ he->num_sent = 0; he->num_recv = 0; he->last_send_time.tv_sec=0; he->last_send_time.tv_usec=0; } /* * remove_host -- Remove the specified host from the list * * inputs: * * he = Pointer to host entry to remove. * * Returns: * * None. * * If the host being removed is the one pointed to by the cursor, this * function updates cursor so that it points to the next entry. */ void remove_host(host_entry **he) { if ((*he)->live) { (*he)->live = 0; live_count--; if (*he == *cursor) advance_cursor(); if (debug) {print_times(); printf("remove_host: live_count now %d\n", live_count);} } else { if (verbose > 1) warn_msg("***\tremove_host called on non-live host: SHOULDN'T HAPPEN"); } } /* * advance_cursor -- Advance the cursor to point at next live entry * * Inputs: * * None. * * Returns: * * None. * * Does nothing if there are no live entries in the list. */ void advance_cursor(void) { if (live_count) { do { if (cursor == (helistptr+(num_hosts-1))) cursor = helistptr; /* Wrap round to beginning */ else cursor++; } while (!(*cursor)->live); } /* End If */ if (debug) {print_times(); printf("advance_cursor: host now %s\n", my_ntoa((*cursor)->addr));} } /* * find_host -- Find a host in the list * * Inputs: * * he Pointer to the current position in the list. Search runs * backwards starting from this point. * addr The source IP address that the packet came from. * * Returns a pointer to the host entry associated with the specified IP * or NULL if no match found. * * This routine finds the host by IP address by comparing "addr" against * "he->addr" for each entry in the list. */ host_entry * find_host(host_entry **he, struct in_addr *addr) { host_entry **p; int found = 0; unsigned iterations = 0; /* Used for debugging */ /* * Don't try to match if host ptr is NULL. * This should never happen, but we check just in case. */ if (*he == NULL) { return NULL; } /* * Try to match against out host list. */ p = he; do { iterations++; if ((*p)->addr.s_addr == addr->s_addr) { found = 1; } else { if (p == helistptr) { p = helistptr + (num_hosts-1); /* Wrap round to end */ } else { p--; } } } while (!found && p != he); if (debug) {print_times(); printf("find_host: found=%d, iterations=%u\n", found, iterations);} if (found) return *p; else return NULL; } /* * recvfrom_wto -- Receive packet with timeout * * Inputs: * * s = Socket file descriptor. * tmo = Select timeout in us. * * Returns: * * None. * * If the socket file descriptor is -1, this indicates that we are * reading packets from a pcap file and there is no associated network * device. */ void recvfrom_wto(int s, int tmo) { fd_set readset; struct timeval to; int n; FD_ZERO(&readset); if (s >= 0) FD_SET(s, &readset); to.tv_sec = tmo/1000000; to.tv_usec = (tmo - 1000000*to.tv_sec); n = select(s+1, &readset, NULL, NULL, &to); if (debug) {print_times(); printf("recvfrom_wto: select end, tmo=%d, n=%d\n", tmo, n);} if (n < 0) { err_sys("select"); } else if (n == 0 && s >= 0) { /* * For the BPF pcap implementation, we call pcap_dispatch() even if select * times out. This is because on many BPF implementations, select() doesn't * indicate if there is input waiting on a BPF device. */ #ifdef ARP_PCAP_BPF if ((pcap_dispatch(pcap_handle, -1, callback, NULL)) == -1) err_sys("pcap_dispatch: %s\n", pcap_geterr(pcap_handle)); #endif return; /* Timeout */ } /* * Call pcap_dispatch() to process the packet if we are reading packets. */ if (pcap_handle) { if ((pcap_dispatch(pcap_handle, -1, callback, NULL)) == -1) err_sys("pcap_dispatch: %s\n", pcap_geterr(pcap_handle)); } } /* * dump_list -- Display contents of host list for debugging * * Inputs: * * None. * * Returns: * * None. */ void dump_list(void) { unsigned i; printf("Host List:\n\n"); printf("Entry\tIP Address\n"); for (i=0; iaddr)); printf("\nTotal of %u host entries.\n\n", num_hosts); } /* * callback -- pcap callback function * * Inputs: * * args Special args (not used) * header pcap header structure * packet_in The captured packet * * Returns: * * None */ void callback(u_char *args ATTRIBUTE_UNUSED, const struct pcap_pkthdr *header, const u_char *packet_in) { arp_ether_ipv4 arpei; ether_hdr frame_hdr; int n = header->caplen; struct in_addr source_ip; host_entry *temp_cursor; unsigned char extra_data[MAX_FRAME]; size_t extra_data_len; int vlan_id; int framing; /* * Check that the packet is large enough to decode. */ if (n < ETHER_HDR_SIZE + ARP_PKT_SIZE) { printf("%d byte packet too short to decode\n", n); return; } /* * Unmarshal packet buffer into structures and determine framing type */ framing = unmarshal_arp_pkt(packet_in, n, &frame_hdr, &arpei, extra_data, &extra_data_len, &vlan_id); /* * Determine source IP address. */ source_ip.s_addr = arpei.ar_sip; /* * We've received a response. Try to match up the packet by IP address * * We should really start searching at the host before the cursor, as we * know that the host to match cannot be the one at the cursor position * because we call advance_cursor() after sending each packet. However, * the time saved is minimal, and it's not worth the extra complexity. */ temp_cursor=find_host(cursor, &source_ip); if (temp_cursor) { /* * We found an IP match for the packet. */ /* * Display the packet and increment the number of responders if * the entry is "live" or we are not ignoring duplicates. */ temp_cursor->num_recv++; if (verbose > 1) warn_msg("---\tReceived packet #%u from %s", temp_cursor->num_recv ,my_ntoa(source_ip)); if ((temp_cursor->live || !ignore_dups)) { if (pcap_dump_handle) { pcap_dump((unsigned char *)pcap_dump_handle, header, packet_in); } display_packet(temp_cursor, &arpei, extra_data, extra_data_len, framing, vlan_id, &frame_hdr); responders++; } if (verbose > 1) warn_msg("---\tRemoving host %s - Received %d bytes", my_ntoa(source_ip), n); remove_host(&temp_cursor); } else { /* * The received packet is not from an IP address in the list * Issue a message to that effect and ignore the packet. */ if (verbose) warn_msg("---\tIgnoring %d bytes from unknown host %s", n, my_ntoa(source_ip)); } } /* * process_options -- Process options and arguments. * * Inputs: * * argc Command line arg count * argv Command line args * * Returns: * * None. */ void process_options(int argc, char *argv[]) { struct option long_options[] = { {"file", required_argument, 0, 'f'}, {"help", no_argument, 0, 'h'}, {"retry", required_argument, 0, 'r'}, {"timeout", required_argument, 0, 't'}, {"interval", required_argument, 0, 'i'}, {"backoff", required_argument, 0, 'b'}, {"verbose", no_argument, 0, 'v'}, {"version", no_argument, 0, 'V'}, {"debug", no_argument, 0, 'd'}, {"snap", required_argument, 0, 'n'}, {"interface", required_argument, 0, 'I'}, {"quiet", no_argument, 0, 'q'}, {"ignoredups", no_argument, 0, 'g'}, {"random", no_argument, 0, 'R'}, {"numeric", no_argument, 0, 'N'}, {"bandwidth", required_argument, 0, 'B'}, {"ouifile", required_argument, 0, 'O'}, {"iabfile", required_argument, 0, 'F'}, {"macfile", required_argument, 0, 'm'}, {"arpspa", required_argument, 0, 's'}, {"arpop", required_argument, 0, 'o'}, {"arphrd", required_argument, 0, 'H'}, {"arppro", required_argument, 0, 'p'}, {"destaddr", required_argument, 0, 'T'}, {"arppln", required_argument, 0, 'P'}, {"arphln", required_argument, 0, 'a'}, {"padding", required_argument, 0, 'A'}, {"prototype", required_argument, 0, 'y'}, {"arpsha", required_argument, 0, 'u'}, {"arptha", required_argument, 0, 'w'}, {"srcaddr", required_argument, 0, 'S'}, {"localnet", no_argument, 0, 'l'}, {"llc", no_argument, 0, 'L'}, {"vlan", required_argument, 0, 'Q'}, {"pcapsavefile", required_argument, 0, 'W'}, {"writepkttofile", required_argument, 0, OPT_WRITEPKTTOFILE}, {"readpktfromfile", required_argument, 0, OPT_READPKTFROMFILE}, {0, 0, 0, 0} }; const char *short_options = "f:hr:t:i:b:vVdn:I:qgRNB:O:s:o:H:p:T:P:a:A:y:u:w:S:F:m:lLQ:W:"; int arg; int options_index=0; while ((arg=getopt_long_only(argc, argv, short_options, long_options, &options_index)) != -1) { switch (arg) { struct in_addr source_ip_address; int result; case 'f': /* --file */ strlcpy(filename, optarg, sizeof(filename)); filename_flag=1; break; case 'h': /* --help */ usage(EXIT_SUCCESS, 1); break; /* NOTREACHED */ case 'r': /* --retry */ retry=Strtoul(optarg, 10); break; case 't': /* --timeout */ timeout=Strtoul(optarg, 10); break; case 'i': /* --interval */ interval=str_to_interval(optarg); break; case 'b': /* --backoff */ backoff_factor=atof(optarg); break; case 'v': /* --verbose */ verbose++; break; case 'V': /* --version */ arp_scan_version(); exit(0); break; /* NOTREACHED */ case 'd': /* --debug */ debug++; break; case 'n': /* --snap */ snaplen=Strtol(optarg, 0); break; case 'I': /* --interface */ if_name = make_message("%s", optarg); break; case 'q': /* --quiet */ quiet_flag=1; break; case 'g': /* --ignoredups */ ignore_dups=1; break; case 'R': /* --random */ random_flag=1; break; case 'N': /* --numeric */ numeric_flag=1; break; case 'B': /* --bandwidth */ bandwidth=str_to_bandwidth(optarg); break; case 'O': /* --ouifile */ strlcpy(ouifilename, optarg, sizeof(ouifilename)); break; case 'F': /* --iabfile */ strlcpy(iabfilename, optarg, sizeof(iabfilename)); break; case 'm': /* --macfile */ strlcpy(macfilename, optarg, sizeof(macfilename)); break; case 's': /* --arpspa */ arp_spa_flag = 1; if ((strcmp(optarg,"dest")) == 0) { arp_spa_is_tpa = 1; } else { if ((inet_pton(AF_INET, optarg, &source_ip_address)) <= 0) err_sys("inet_pton failed for %s", optarg); memcpy(&arp_spa, &(source_ip_address.s_addr), sizeof(arp_spa)); } break; case 'o': /* --arpop */ arp_op=Strtol(optarg, 0); break; case 'H': /* --arphrd */ arp_hrd=Strtol(optarg, 0); break; case 'p': /* --arppro */ arp_pro=Strtol(optarg, 0); break; case 'T': /* --destaddr */ result = get_ether_addr(optarg, target_mac); if (result != 0) err_msg("Invalid target MAC address: %s", optarg); break; case 'P': /* --arppln */ arp_pln=Strtol(optarg, 0); break; case 'a': /* --arphln */ arp_hln=Strtol(optarg, 0); break; case 'A': /* --padding */ if (strlen(optarg) % 2) /* Length is odd */ err_msg("ERROR: Length of --padding argument must be even (multiple of 2)."); padding=hex2data(optarg, &padding_len); break; case 'y': /* --prototype */ eth_pro=Strtol(optarg, 0); break; case 'u': /* --arpsha */ result = get_ether_addr(optarg, arp_sha); if (result != 0) err_msg("Invalid source MAC address: %s", optarg); arp_sha_flag = 1; break; case 'w': /* --arptha */ result = get_ether_addr(optarg, arp_tha); if (result != 0) err_msg("Invalid target MAC address: %s", optarg); break; case 'S': /* --srcaddr */ result = get_ether_addr(optarg, source_mac); if (result != 0) err_msg("Invalid target MAC address: %s", optarg); source_mac_flag = 1; break; case 'l': /* --localnet */ localnet_flag = 1; break; case 'L': /* --llc */ llc_flag = 1; break; case 'Q': /* --vlan */ ieee_8021q_vlan = Strtol(optarg, 0); break; case 'W': /* --pcapsavefile */ strlcpy(pcap_savefile, optarg, sizeof(pcap_savefile)); break; case OPT_WRITEPKTTOFILE: /* --writepkttofile */ strlcpy(pkt_filename, optarg, sizeof(pkt_filename)); pkt_write_file_flag=1; break; case OPT_READPKTFROMFILE: /* --readpktfromfile */ strlcpy(pkt_filename, optarg, sizeof(pkt_filename)); pkt_read_file_flag=1; break; default: /* Unknown option */ usage(EXIT_FAILURE, 0); break; /* NOTREACHED */ } } } /* * arp_scan_version -- display version information * * Inputs: * * None. * * Returns: * * None. * * This displays the arp-scan version information. */ void arp_scan_version (void) { fprintf(stderr, "%s\n\n", PACKAGE_STRING); fprintf(stderr, "Copyright (C) 2005-2011 Roy Hills, NTA Monitor Ltd.\n"); fprintf(stderr, "arp-scan comes with NO WARRANTY to the extent permitted by law.\n"); fprintf(stderr, "You may redistribute copies of arp-scan under the terms of the GNU\n"); fprintf(stderr, "General Public License.\n"); fprintf(stderr, "For more information about these matters, see the file named COPYING.\n"); fprintf(stderr, "\n"); fprintf(stderr, "%s\n", pcap_lib_version()); /* We use rcsid here to prevent it being optimised away */ fprintf(stderr, "%s\n", rcsid); error_use_rcsid(); wrappers_use_rcsid(); utils_use_rcsid(); link_use_rcsid(); } /* * get_host_address -- Obtain target host IP address * * Inputs: * * name The name to lookup * af The address family * addr Pointer to the IP address buffer * error_msg The error message, or NULL if no problem. * * Returns: * * Pointer to the IP address, or NULL if an error occurred. * * This function is basically a wrapper for getaddrinfo(). */ struct in_addr * get_host_address(const char *name, int af, struct in_addr *addr, char **error_msg) { static char err[MAXLINE]; static struct in_addr ipa; struct addrinfo *res; struct addrinfo hints; struct sockaddr_in sa_in; int result; if (addr == NULL) /* Use static storage if no buffer specified */ addr = &ipa; memset(&hints, '\0', sizeof(hints)); if (af == AF_INET) { hints.ai_family = AF_INET; } else { err_msg("get_host_address: unknown address family: %d", af); } result = getaddrinfo(name, NULL, &hints, &res); if (result != 0) { /* Error occurred */ snprintf(err, MAXLINE, "%s", gai_strerror(result)); *error_msg = err; return NULL; } memcpy(&sa_in, res->ai_addr, sizeof(sa_in)); memcpy(addr, &sa_in.sin_addr, sizeof(struct in_addr)); freeaddrinfo(res); *error_msg = NULL; return addr; } /* * my_ntoa -- IPv6 compatible inet_ntoa replacement * * Inputs: * * addr The IP address * * Returns: * * Pointer to the string representation of the IP address. * * This currently only supports IPv4. */ const char * my_ntoa(struct in_addr addr) { static char ip_str[MAXLINE]; const char *cp; cp = inet_ntop(AF_INET, &addr, ip_str, MAXLINE); return cp; } /* * marshal_arp_pkt -- Marshal ARP packet from struct to buffer * * Inputs: * * buffer Pointer to the output buffer * frame_hdr The Ethernet frame header * arp_pkt The ARP packet * buf_siz The size of the output buffer * frame_padding Any padding to add after the ARP payload. * frame_padding_len The length of the padding. * * Returns: * * None */ void marshal_arp_pkt(unsigned char *buffer, ether_hdr *frame_hdr, arp_ether_ipv4 *arp_pkt, size_t *buf_siz, const unsigned char *frame_padding, size_t frame_padding_len) { unsigned char llc_snap[] = {0xAA, 0xAA, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00}; unsigned char vlan_tag[] = {0x81, 0x00, 0x00, 0x00}; unsigned char *cp; size_t packet_size; cp = buffer; /* * Set initial packet length to the size of an Ethernet frame using * Ethernet-II format plus the size of the ARP data. This may be * increased later by LLC/SNAP frame format or padding after the * ARP data. */ packet_size = sizeof(frame_hdr->dest_addr) + sizeof(frame_hdr->src_addr) + sizeof(frame_hdr->frame_type) + sizeof(arp_pkt->ar_hrd) + sizeof(arp_pkt->ar_pro) + sizeof(arp_pkt->ar_hln) + sizeof(arp_pkt->ar_pln) + sizeof(arp_pkt->ar_op) + sizeof(arp_pkt->ar_sha) + sizeof(arp_pkt->ar_sip) + sizeof(arp_pkt->ar_tha) + sizeof(arp_pkt->ar_tip); /* * Copy the Ethernet frame header to the buffer. */ memcpy(cp, &(frame_hdr->dest_addr), sizeof(frame_hdr->dest_addr)); cp += sizeof(frame_hdr->dest_addr); memcpy(cp, &(frame_hdr->src_addr), sizeof(frame_hdr->src_addr)); cp += sizeof(frame_hdr->src_addr); /* * Add 802.1Q tag if we are using VLAN tagging */ if (ieee_8021q_vlan != -1) { uint16_t tci; tci = htons(ieee_8021q_vlan); memcpy(cp, vlan_tag, sizeof(vlan_tag)); memcpy(cp+2, &tci, sizeof(tci)); cp += sizeof(vlan_tag); packet_size += sizeof(vlan_tag); } if (llc_flag) { /* With 802.2 LLC framing, type field is frame size */ uint16_t frame_size; frame_size=htons(packet_size + sizeof(llc_snap)); memcpy(cp, &(frame_size), sizeof(frame_size)); } else { /* Normal Ethernet-II framing */ memcpy(cp, &(frame_hdr->frame_type), sizeof(frame_hdr->frame_type)); } cp += sizeof(frame_hdr->frame_type); /* * Add IEEE 802.2 LLC and SNAP fields if we are using LLC frame format. */ if (llc_flag) { memcpy(cp, llc_snap, sizeof(llc_snap)); memcpy(cp+6, &(frame_hdr->frame_type), sizeof(frame_hdr->frame_type)); cp += sizeof(llc_snap); packet_size += sizeof(llc_snap); } /* * Add the ARP data. */ memcpy(cp, &(arp_pkt->ar_hrd), sizeof(arp_pkt->ar_hrd)); cp += sizeof(arp_pkt->ar_hrd); memcpy(cp, &(arp_pkt->ar_pro), sizeof(arp_pkt->ar_pro)); cp += sizeof(arp_pkt->ar_pro); memcpy(cp, &(arp_pkt->ar_hln), sizeof(arp_pkt->ar_hln)); cp += sizeof(arp_pkt->ar_hln); memcpy(cp, &(arp_pkt->ar_pln), sizeof(arp_pkt->ar_pln)); cp += sizeof(arp_pkt->ar_pln); memcpy(cp, &(arp_pkt->ar_op), sizeof(arp_pkt->ar_op)); cp += sizeof(arp_pkt->ar_op); memcpy(cp, &(arp_pkt->ar_sha), sizeof(arp_pkt->ar_sha)); cp += sizeof(arp_pkt->ar_sha); memcpy(cp, &(arp_pkt->ar_sip), sizeof(arp_pkt->ar_sip)); cp += sizeof(arp_pkt->ar_sip); memcpy(cp, &(arp_pkt->ar_tha), sizeof(arp_pkt->ar_tha)); cp += sizeof(arp_pkt->ar_tha); memcpy(cp, &(arp_pkt->ar_tip), sizeof(arp_pkt->ar_tip)); cp += sizeof(arp_pkt->ar_tip); /* * Add padding if specified */ if (frame_padding != NULL) { size_t safe_padding_len; safe_padding_len = frame_padding_len; if (packet_size + frame_padding_len > MAX_FRAME) { safe_padding_len = MAX_FRAME - packet_size; } memcpy(cp, frame_padding, safe_padding_len); cp += safe_padding_len; packet_size += safe_padding_len; } *buf_siz = packet_size; } /* * unmarshal_arp_pkt -- Un Marshal ARP packet from buffer to struct * * Inputs: * * buffer Pointer to the input buffer * buf_len Length of input buffer * frame_hdr The ethernet frame header * arp_pkt The arp packet data * extra_data Any extra data after the ARP data (typically padding) * extra_data_len Length of extra data * vlan_id 802.1Q VLAN identifier * * Returns: * * An integer representing the data link framing: * 0 = Ethernet-II * 1 = 802.3 with LLC/SNAP * * extra_data and extra_data_len are only calculated and returned if * extra_data is not NULL. * * vlan_id is set to -1 if the packet does not use 802.1Q tagging. */ int unmarshal_arp_pkt(const unsigned char *buffer, size_t buf_len, ether_hdr *frame_hdr, arp_ether_ipv4 *arp_pkt, unsigned char *extra_data, size_t *extra_data_len, int *vlan_id) { const unsigned char *cp; int framing=FRAMING_ETHERNET_II; cp = buffer; /* * Extract the Ethernet frame header data */ memcpy(&(frame_hdr->dest_addr), cp, sizeof(frame_hdr->dest_addr)); cp += sizeof(frame_hdr->dest_addr); memcpy(&(frame_hdr->src_addr), cp, sizeof(frame_hdr->src_addr)); cp += sizeof(frame_hdr->src_addr); /* * Check for 802.1Q VLAN tagging, indicated by a type code of * 0x8100 (TPID). */ if (*cp == 0x81 && *(cp+1) == 0x00) { uint16_t tci; cp += 2; /* Skip TPID */ memcpy(&tci, cp, sizeof(tci)); cp += 2; /* Skip TCI */ *vlan_id = ntohs(tci); *vlan_id &= 0x0fff; /* Mask off PRI and CFI */ } else { *vlan_id = -1; } memcpy(&(frame_hdr->frame_type), cp, sizeof(frame_hdr->frame_type)); cp += sizeof(frame_hdr->frame_type); /* * Check for an LLC header with SNAP. If this is present, the 802.2 LLC * header will contain DSAP=0xAA, SSAP=0xAA, Control=0x03. * If this 802.2 LLC header is present, skip it and the SNAP header */ if (*cp == 0xAA && *(cp+1) == 0xAA && *(cp+2) == 0x03) { cp += 8; /* Skip eight bytes */ framing = FRAMING_LLC_SNAP; } /* * Extract the ARP packet data */ memcpy(&(arp_pkt->ar_hrd), cp, sizeof(arp_pkt->ar_hrd)); cp += sizeof(arp_pkt->ar_hrd); memcpy(&(arp_pkt->ar_pro), cp, sizeof(arp_pkt->ar_pro)); cp += sizeof(arp_pkt->ar_pro); memcpy(&(arp_pkt->ar_hln), cp, sizeof(arp_pkt->ar_hln)); cp += sizeof(arp_pkt->ar_hln); memcpy(&(arp_pkt->ar_pln), cp, sizeof(arp_pkt->ar_pln)); cp += sizeof(arp_pkt->ar_pln); memcpy(&(arp_pkt->ar_op), cp, sizeof(arp_pkt->ar_op)); cp += sizeof(arp_pkt->ar_op); memcpy(&(arp_pkt->ar_sha), cp, sizeof(arp_pkt->ar_sha)); cp += sizeof(arp_pkt->ar_sha); memcpy(&(arp_pkt->ar_sip), cp, sizeof(arp_pkt->ar_sip)); cp += sizeof(arp_pkt->ar_sip); memcpy(&(arp_pkt->ar_tha), cp, sizeof(arp_pkt->ar_tha)); cp += sizeof(arp_pkt->ar_tha); memcpy(&(arp_pkt->ar_tip), cp, sizeof(arp_pkt->ar_tip)); cp += sizeof(arp_pkt->ar_tip); if (extra_data != NULL) { int length; length = buf_len - (cp - buffer); if (length > 0) { /* Extra data after ARP packet */ memcpy(extra_data, cp, length); } *extra_data_len = length; } return framing; } /* * add_mac_vendor -- Add MAC/Vendor mappings to the hash table * * Inputs: * * table The handle of the hash table * map_filename The name of the file containing the mappings * * Returns: * * The number of entries added to the hash table. */ int add_mac_vendor(struct hash_control *table, const char *map_filename) { static int first_call=1; FILE *fp; /* MAC/Vendor file handle */ static const char *oui_pat_str = "([^\t]+)\t[\t ]*([^\t\r\n]+)"; static regex_t oui_pat; regmatch_t pmatch[3]; size_t key_len; size_t data_len; char *key; char *data; char line[MAXLINE]; int line_count; int result; const char *result_str; /* * Compile the regex pattern if this is the first time we * have been called. */ if (first_call) { first_call=0; if ((result=regcomp(&oui_pat, oui_pat_str, REG_EXTENDED))) { char reg_errbuf[MAXLINE]; size_t errlen; errlen=regerror(result, &oui_pat, reg_errbuf, MAXLINE); err_msg("ERROR: cannot compile regex pattern \"%s\": %s", oui_pat_str, reg_errbuf); } } /* * Open the file. */ if ((fp = fopen(map_filename, "r")) == NULL) { warn_sys("WARNING: Cannot open MAC/Vendor file %s", map_filename); return 0; } line_count=0; /* * */ while (fgets(line, MAXLINE, fp)) { if (line[0] == '#' || line[0] == '\n' || line[0] == '\r') continue; /* Skip blank lines and comments */ result = regexec(&oui_pat, line, 3, pmatch, 0); if (result == REG_NOMATCH || pmatch[1].rm_so < 0 || pmatch[2].rm_so < 0) { warn_msg("WARNING: Could not parse oui: %s", line); } else if (result != 0) { char reg_errbuf[MAXLINE]; size_t errlen; errlen=regerror(result, &oui_pat, reg_errbuf, MAXLINE); err_msg("ERROR: oui regexec failed: %s", reg_errbuf); } else { key_len = pmatch[1].rm_eo - pmatch[1].rm_so; data_len = pmatch[2].rm_eo - pmatch[2].rm_so; key=Malloc(key_len+1); data=Malloc(data_len+1); /* * We cannot use strlcpy because the source is not guaranteed to be null * terminated. Therefore we use strncpy, specifying one less that the total * length, and manually null terminate the destination. */ strncpy(key, line+pmatch[1].rm_so, key_len); key[key_len] = '\0'; strncpy(data, line+pmatch[2].rm_so, data_len); data[data_len] = '\0'; if ((result_str = hash_insert(table, key, data)) != NULL) { /* Ignore "exists" because there are a few duplicates in the IEEE list */ if ((strcmp(result_str, "exists")) != 0) { warn_msg("hash_insert(%s, %s): %s", key, data, result_str); } } else { line_count++; } } } fclose(fp); return line_count; } arp-scan-1.8.1/getopt.h0000664000175000017500000001447211505114412011625 00000000000000/* Declarations for getopt. Copyright (C) 1989-1994, 1996-1999, 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ #ifndef _GETOPT_H #ifndef __need_getopt # define _GETOPT_H 1 #endif /* If __GNU_LIBRARY__ is not already defined, either we are being used standalone, or this is the first header included in the source file. If we are being used with glibc, we need to include , but that does not exist if we are standalone. So: if __GNU_LIBRARY__ is not defined, include , which will pull in for us if it's from glibc. (Why ctype.h? It's guaranteed to exist and it doesn't flood the namespace with stuff the way some other headers do.) */ #if !defined __GNU_LIBRARY__ # include #endif #ifdef __cplusplus extern "C" { #endif /* For communication from `getopt' to the caller. When `getopt' finds an option that takes an argument, the argument value is returned here. Also, when `ordering' is RETURN_IN_ORDER, each non-option ARGV-element is returned here. */ extern char *optarg; /* Index in ARGV of the next element to be scanned. This is used for communication to and from the caller and for communication between successive calls to `getopt'. On entry to `getopt', zero means this is the first call; initialize. When `getopt' returns -1, this is the index of the first of the non-option elements that the caller should itself scan. Otherwise, `optind' communicates from one call to the next how much of ARGV has been scanned so far. */ extern int optind; /* Callers store zero here to inhibit the error message `getopt' prints for unrecognized options. */ extern int opterr; /* Set to an option character which was unrecognized. */ extern int optopt; #ifndef __need_getopt /* Describe the long-named options requested by the application. The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector of `struct option' terminated by an element containing a name which is zero. The field `has_arg' is: no_argument (or 0) if the option does not take an argument, required_argument (or 1) if the option requires an argument, optional_argument (or 2) if the option takes an optional argument. If the field `flag' is not NULL, it points to a variable that is set to the value given in the field `val' when the option is found, but left unchanged if the option is not found. To have a long-named option do something other than set an `int' to a compiled-in constant, such as set a value from `optarg', set the option's `flag' field to zero and its `val' field to a nonzero value (the equivalent single-letter option character, if there is one). For long options that have a zero `flag' field, `getopt' returns the contents of the `val' field. */ struct option { # if (defined __STDC__ && __STDC__) || defined __cplusplus const char *name; # else char *name; # endif /* has_arg can't be an enum because some compilers complain about type mismatches in all the code that assumes it is an int. */ int has_arg; int *flag; int val; }; /* Names for the values of the `has_arg' field of `struct option'. */ # define no_argument 0 # define required_argument 1 # define optional_argument 2 #endif /* need getopt */ /* Get definitions and prototypes for functions to process the arguments in ARGV (ARGC of them, minus the program name) for options given in OPTS. Return the option character from OPTS just read. Return -1 when there are no more options. For unrecognized options, or options missing arguments, `optopt' is set to the option letter, and '?' is returned. The OPTS string is a list of characters which are recognized option letters, optionally followed by colons, specifying that that letter takes an argument, to be placed in `optarg'. If a letter in OPTS is followed by two colons, its argument is optional. This behavior is specific to the GNU `getopt'. The argument `--' causes premature termination of argument scanning, explicitly telling `getopt' that there are no more options. If OPTS begins with `--', then non-option arguments are treated as arguments to the option '\0'. This behavior is specific to the GNU `getopt'. */ #if (defined __STDC__ && __STDC__) || defined __cplusplus # ifdef __GNU_LIBRARY__ /* Many other libraries have conflicting prototypes for getopt, with differences in the consts, in stdlib.h. To avoid compilation errors, only prototype getopt for the GNU C library. */ extern int getopt (int ___argc, char *const *___argv, const char *__shortopts); # else /* not __GNU_LIBRARY__ */ extern int getopt (); # endif /* __GNU_LIBRARY__ */ # ifndef __need_getopt extern int getopt_long (int ___argc, char *const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind); extern int getopt_long_only (int ___argc, char *const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind); /* Internal only. Users should not call this directly. */ extern int _getopt_internal (int ___argc, char *const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind, int __long_only); # endif #else /* not __STDC__ */ extern int getopt (); # ifndef __need_getopt extern int getopt_long (); extern int getopt_long_only (); extern int _getopt_internal (); # endif #endif /* __STDC__ */ #ifdef __cplusplus } #endif /* Make sure we later can get all the definitions and declarations. */ #undef __need_getopt #endif /* getopt.h */ arp-scan-1.8.1/TODO0000664000175000017500000000343311604415111010635 00000000000000$Id: TODO 18259 2011-07-04 19:53:43Z rsh $ Code tidy up: reduce the number of global variables. Additional ARP fingerprinting options, e.g. arpsha != srcaddr. Some OSes, e.g. OpenBSD and NetBSD, don't run man pages through tbl. There is disagreement about what the first line in the manpage should be. Solaris 9 says in man(1): '\" X Linux sarge says in groff_man(7): .\" word In all cases, the letters in word are "e" for eqn, "r" for refer, "t" for tbl. Why does darwin 7.9 not have prototypes for pcap_datalink_val_to_name(), pcap_datalink_val_to_description() and pcap_setnonblock() even though the pcap library contains these functions? arp-scan compiles with warnings, but runs OK. This is on MacOS 10.3 (Panther) with Xcode tools 1.5 Add support for win32 link-layer send and receive. Add support for Token Ring. Support the libpcap sending function pcap_sendpacket() or pcap_inject() when they are supported by the pcap library. These two functions are essentially the same, but pcap_sendpacket() came from WinPcap whereas pcap_inject() came from OpenBSD. Need to find portable functions to get interface IP address and MAC address. pcap_lookupnet() gets the network address and mask, but not the IP address. Investigate response packets >60 bytes long, e.g. Windows 2003 Server and some Cisco. Add XML output format. ./configure gives warnings on OS X Snow Leopard: checking for ANSI C header files... rm: conftest.dSYM: is a directory rm: conftest.dSYM: is a directory yes It is suspected that an upgrade to autoconf, automake and libtools will fix this. Build failures on Debian GNU/Hurd and Debian kFreeBSD. Test with other compilers: pcc, clang/llvm Try to open MAC/Vendor files from current directory if the open attempt from the standard location fails with ENOENT. MPLS tag support. arp-scan-1.8.1/link-dlpi.c0000664000175000017500000002254511521516021012201 00000000000000/* * The ARP Scanner (arp-scan) is Copyright (C) 2005-2011 Roy Hills, * NTA Monitor Ltd. * * This file is part of arp-scan. * * arp-scan is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * arp-scan is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with arp-scan. If not, see . * * $Id: link-dlpi.c 18090 2011-01-31 11:25:04Z rsh $ * * link-dlpi.c -- DLPI link layer send functions for arp-scan * * Author: Roy Hills * Date: 22 July 2006 * * Description: * * This contains the link layer sending functions using the DLPI (Data Link * Provider Interface) implementation. DLPI is typically used on SysV systems * such as Solaris. * */ #include "arp-scan.h" #ifdef HAVE_SYS_STAT_H #include #endif #ifdef HAVE_FCNTL_H #include #endif #ifdef HAVE_STROPTS_H #include #endif #ifdef HAVE_SYS_DLPI_H #include #endif #ifdef HAVE_SYS_DLPIHDR_H #include #endif #ifdef HAVE_SYS_IOCTL_H #include #endif #ifdef HAVE_SYS_SOCKIO_H #include #endif #ifdef HAVE_NET_IF_H #include #endif /* Neal Nuckolls' sample code defines MAXDLBUF as 8192 longwords, but we use * unsigned char for our buffers and so must multiply by four */ #define MAXDLBUF 8192*4 static char const rcsid[] = "$Id: link-dlpi.c 18090 2011-01-31 11:25:04Z rsh $"; /* RCS ID for ident(1) */ /* * Link layer handle structure for DLPI. * This is typedef'ed as link_t. */ struct link_handle { int fd; int sap_first; struct ifreq ifr; }; #if defined(DLIOCRAW) || defined(HAVE_SYS_DLPIHDR_H) static int strioctl(int fd, int cmd, int len, char *dp) { struct strioctl str; str.ic_cmd = cmd; str.ic_timout = INFTIM; str.ic_len = len; str.ic_dp = dp; if (ioctl(fd, I_STR, &str) < 0) return -1; return str.ic_len; } #endif #ifdef HAVE_SYS_DLPIHDR_H #define ND_BASE ('N' << 8) #define ND_GET (ND_BASE + 0) static int link_match_ppa(link_t *handle, const char *device) { char *p; char dev[16]; char buf[256]; int len; int ppa; strlcpy(buf, "dl_ifnames", sizeof(buf)); if ((len = strioctl(handle->fd, ND_GET, sizeof(buf), buf)) < 0) return -1; for (p = buf; p < buf + len; p += strlen(p) + 1) { ppa = -1; if (sscanf(p, "%s (PPA %d)\n", dev, &ppa) != 2) break; if (strcmp(dev, device) == 0) break; } return ppa; } #endif static int dlpi_msg(int fd, union DL_primitives *dlp, int rlen, int flags, unsigned ack, int alen, int size) { struct strbuf ctl; ctl.maxlen = 0; ctl.len = rlen; ctl.buf = (caddr_t)dlp; if (putmsg(fd, &ctl, NULL, flags) < 0) return -1; ctl.maxlen = size; ctl.len = 0; flags = 0; if (getmsg(fd, &ctl, NULL, &flags) < 0) return -1; if (dlp->dl_primitive != ack || ctl.len < alen) return -1; return 0; } /* * link_open -- Open the specified link-level device * * Inputs: * * device The name of the device to open * * Returns: * * A pointer to a link handle structure. */ link_t * link_open(const char *device) { union DL_primitives *dlp; unsigned char buf[MAXDLBUF]; char *p; char dev[16]; link_t *handle; int ppa; handle = Malloc(sizeof(*handle)); memset(handle, '\0', sizeof(*handle)); #ifdef HAVE_SYS_DLPIHDR_H if ((handle->fd = open("/dev/streams/dlb", O_RDWR)) < 0) { free(handle); return NULL; } if ((ppa = link_match_ppa(handle, device)) < 0) { link_close(handle); return NULL; } #else handle->fd = -1; snprintf(dev, sizeof(dev), "/dev/%s", device); if ((p = strpbrk(dev, "0123456789")) == NULL) { link_close(handle); return NULL; } ppa = atoi(p); *p = '\0'; if ((handle->fd = open(dev, O_RDWR)) < 0) { snprintf(dev, sizeof(dev), "/dev/%s", device); if ((handle->fd = open(dev, O_RDWR)) < 0) { link_close(handle); return NULL; } } #endif memset(&(handle->ifr), 0, sizeof(struct ifreq)); strlcpy(handle->ifr.ifr_name, device, sizeof(handle->ifr.ifr_name)); dlp = (union DL_primitives *)buf; dlp->info_req.dl_primitive = DL_INFO_REQ; if (dlpi_msg(handle->fd, dlp, DL_INFO_REQ_SIZE, RS_HIPRI, DL_INFO_ACK, DL_INFO_ACK_SIZE, sizeof(buf)) < 0) { link_close(handle); return NULL; } handle->sap_first = (dlp->info_ack.dl_sap_length > 0); if (dlp->info_ack.dl_provider_style == DL_STYLE2) { dlp->attach_req.dl_primitive = DL_ATTACH_REQ; dlp->attach_req.dl_ppa = ppa; if (dlpi_msg(handle->fd, dlp, DL_ATTACH_REQ_SIZE, 0, DL_OK_ACK, DL_OK_ACK_SIZE, sizeof(buf)) < 0) { link_close(handle); return NULL; } } memset(&dlp->bind_req, 0, DL_BIND_REQ_SIZE); dlp->bind_req.dl_primitive = DL_BIND_REQ; #ifdef DL_HP_RAWDLS dlp->bind_req.dl_sap = 24; /* from HP-UX DLPI programmers guide */ dlp->bind_req.dl_service_mode = DL_HP_RAWDLS; #else dlp->bind_req.dl_sap = DL_ETHER; dlp->bind_req.dl_service_mode = DL_CLDLS; #endif if (dlpi_msg(handle->fd, dlp, DL_BIND_REQ_SIZE, 0, DL_BIND_ACK, DL_BIND_ACK_SIZE, sizeof(buf)) < 0) { link_close(handle); return NULL; } #ifdef DLIOCRAW if (strioctl(handle->fd, DLIOCRAW, 0, NULL) < 0) { link_close(handle); return NULL; } #endif return (handle); } /* * link_send -- Send a packet * * Inputs: * * handle The handle for the link interface * buf Pointer to the data to send * buflen Number of bytes to send * * Returns: * * The number of bytes sent, or -1 for error. */ ssize_t link_send(link_t *handle, const unsigned char *buf, size_t buflen) { #if defined(DLIOCRAW) return write(handle->fd, buf, buflen); #else union DL_primitives *dlp; struct strbuf ctl; struct strbuf data; struct eth_hdr *eth; unsigned char ctlbuf[MAXDLBUF]; int dlen; dlp = (union DL_primitives *)ctlbuf; #ifdef DL_HP_RAWDATA_REQ dlp->dl_primitive = DL_HP_RAWDATA_REQ; dlen = DL_HP_RAWDATA_REQ_SIZE; #else dlp->unitdata_req.dl_primitive = DL_UNITDATA_REQ; dlp->unitdata_req.dl_dest_addr_length = ETH_ALEN; dlp->unitdata_req.dl_dest_addr_offset = DL_UNITDATA_REQ_SIZE; dlp->unitdata_req.dl_priority.dl_min = 0; dlp->unitdata_req.dl_priority.dl_max = 0; dlen = DL_UNITDATA_REQ_SIZE; #endif ctl.maxlen = 0; ctl.len = dlen + ETH_ALEN + sizeof(eth->eth_type); ctl.buf = (char *)ctlbuf; eth = (struct eth_hdr *)buf; if (handle->sap_first) { memcpy(ctlbuf + dlen, ð->eth_type, sizeof(eth->eth_type)); memcpy(ctlbuf + dlen + sizeof(eth->eth_type), eth->eth_dst.data, ETH_ALEN); } else { memcpy(ctlbuf + dlen, eth->eth_dst.data, ETH_ALEN); memcpy(ctlbuf + dlen + ETH_ALEN, ð->eth_type, sizeof(eth->eth_type)); } data.maxlen = 0; data.len = buflen; data.buf = (char *)buf; if (putmsg(handle->fd, &ctl, &data, 0) < 0) return -1; return buflen; #endif } /* * link_close -- Close the link * * Inputs: * * handle The handle for the link interface * * Returns: * * None */ void link_close(link_t *handle) { if (handle != NULL) { if (handle->fd >= 0) { close(handle->fd); } free(handle); } } /* * get_hardware_address -- Get the Ethernet MAC address associated * with the given device. * Inputs: * * handle The link layer handle * hw_address (output) the Ethernet MAC address * * Returns: * * None */ void get_hardware_address(link_t *handle, unsigned char hw_address[]) { union DL_primitives *dlp; unsigned char buf[MAXDLBUF]; dlp = (union DL_primitives*) buf; dlp->physaddr_req.dl_primitive = DL_PHYS_ADDR_REQ; dlp->physaddr_req.dl_addr_type = DL_CURR_PHYS_ADDR; if (dlpi_msg(handle->fd, dlp, DL_PHYS_ADDR_REQ_SIZE, 0, DL_PHYS_ADDR_ACK, DL_PHYS_ADDR_ACK_SIZE, sizeof(buf)) < 0) { err_msg("dlpi_msg failed"); } memcpy(hw_address, buf + dlp->physaddr_ack.dl_addr_offset, ETH_ALEN); } /* * get_source_ip -- Get address and mask associated with given interface * * Inputs: * * handle The link level handle * ip_addr (output) The IP Address associated with the device * * Returns: * * Zero on success, or -1 on failure. */ int get_source_ip(link_t *handle, uint32_t *ip_addr) { int fd; struct sockaddr_in sa_addr; if ((fd = socket(PF_INET, SOCK_DGRAM, 0)) < 0) { warn_sys("Socket"); return -1; } /* Obtain IP address for specified interface */ if ((ioctl(fd, SIOCGIFADDR, &(handle->ifr))) != 0) { warn_sys("ioctl"); return -1; } memcpy(&sa_addr, &(handle->ifr.ifr_ifru.ifru_addr), sizeof(sa_addr)); *ip_addr = sa_addr.sin_addr.s_addr; close(fd); return 0; } /* * Use rcsid to prevent the compiler optimising it away. */ void link_use_rcsid(void) { fprintf(stderr, "%s\n", rcsid); /* Use rcsid to stop compiler optimising away */ } arp-scan-1.8.1/mac-vendor.50000664000175000017500000000432110734723540012276 00000000000000.\" Copyright (C) Roy Hills, NTA Monitor Ltd. .\" .\" Copying and distribution of this file, with or without modification, .\" are permitted in any medium without royalty provided the copyright .\" notice and this notice are preserved. .\" .\" $Id: mac-vendor.5 12365 2007-12-27 13:23:40Z rsh $ .TH MAC-VENDOR 5 "March 30, 2007" .\" Please adjust this date whenever revising the man page. .SH NAME mac-vendor \- Ethernet vendor file for arp-scan .SH SYNOPSIS .I mac-vendor.txt .SH DESCRIPTION The .I mac-vendor.txt contains Ethernet MAC to vendor string mappings for .BR arp-scan . It is used in addition to the IEEE OUI and IAB listings in .I ieee-oui.txt and .IR ieee-iab.txt . It is for MAC-vendor mappings that are not covered by the IEEE manufacturer listings. .PP Each line in the .I mac-vendor.txt file contains a MAC-vendor mapping in the form: .PP .nf .fi .PP Where is the prefix of the MAC address in hex, and is the name of the vendor. The prefix can be of any length from two hex digits (one octet) to twelve hex digits (six octets, the entire Ethernet hardware address). The alphabetic hex characters [A-F] must be entered in upper case. .PP For example: .nf 012345 would match 01:23:45:xx:xx:xx, where xx represents any value; 0123456 would match 01:23:45:6x:xx:xx; and 01234567 would match 01:23:45:67:xx:xx. .fi .PP Blank lines and lines beginning with "#" are ignored. .PP The order of entries in the file is not important. .B arp-scan will attempt to match larger prefixes before trying to match smaller ones, and will stop at the first match. .SH FILES .I /usr/local/share/arp-scan/mac-vendor.txt .SH EXAMPLE .nf # From nmap Debian bug report #369681 dated 31 May 2006 525400 QEMU B0C420 Bochs # From RFC 2338: 00-00-5E-00-01-{VRID} 00005E0001 VRRP (last octet is VRID) # Microsoft WLBS (Windows NT Load Balancing Service) # http://www.microsoft.com/technet/prodtechnol/acs/reskit/acrkappb.mspx 02BF Microsoft WLBS (last four octets are IP address) .fi .SH AUTHOR Roy Hills .SH "SEE ALSO" .TP .BR arp-scan (1) .TP .BR get-oui (1) .TP .BR get-iab (1) .TP .BR arp-fingerprint (1) .PP .I http://www.nta-monitor.com/wiki/ The arp-scan wiki page. arp-scan-1.8.1/wrappers.c0000664000175000017500000000572011512307725012166 00000000000000/* * The ARP Scanner (arp-scan) is Copyright (C) 2005-2011 Roy Hills, * NTA Monitor Ltd. * * This file is part of arp-scan. * * arp-scan is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * arp-scan is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with arp-scan. If not, see . * * $Id: wrappers.c 18078 2011-01-09 10:37:07Z rsh $ * * Author: Roy Hills * Date: 8 November 2003 * * This file contains wrapper functions for system and library calls that * are not expected to fail. If they do fail, then it calls err_sys to * print a diagnostic and terminate the program. This removed the tedious * "if ((function()) == NULL) err_sys("function");" logic thus making the * code easier to read. * * The wrapper functions have the same name as the system or library function * but with an initial capital letter. E.g. Gethostbyname(). This convention * if from Richard Steven's UNIX Network Programming book. * */ #include "arp-scan.h" static char rcsid[] = "$Id: wrappers.c 18078 2011-01-09 10:37:07Z rsh $"; /* RCS ID for ident(1) */ /* * We omit the timezone arg from this wrapper since it's obsolete and we never * use it. */ int Gettimeofday(struct timeval *tv) { int result; result = gettimeofday(tv, NULL); if (result != 0) err_sys("gettimeofday"); return result; } void *Malloc(size_t size) { void *result; result = malloc(size); if (result == NULL) err_sys("malloc"); return result; } void *Realloc(void *ptr, size_t size) { void *result; result=realloc(ptr, size); if (result == NULL) err_sys("realloc"); return result; } unsigned long int Strtoul(const char *nptr, int base) { char *endptr; unsigned long int result; result=strtoul(nptr, &endptr, base); if (endptr == nptr) /* No digits converted */ err_msg("ERROR: \"%s\" is not a valid numeric value", nptr); if (*endptr != '\0' && !isspace((unsigned char)*endptr)) err_msg("ERROR: \"%s\" is not a valid numeric value", nptr); return result; } long int Strtol(const char *nptr, int base) { char *endptr; long int result; result=strtol(nptr, &endptr, base); if (endptr == nptr) /* No digits converted */ err_msg("ERROR: \"%s\" is not a valid numeric value", nptr); if (*endptr != '\0' && !isspace((unsigned char)*endptr)) err_msg("ERROR: \"%s\" is not a valid numeric value", nptr); return result; } void wrappers_use_rcsid(void) { fprintf(stderr, "%s\n", rcsid); /* Use rcsid to stop compiler optimising away */ } arp-scan-1.8.1/strlcat.c0000664000175000017500000000355210605407626012003 00000000000000/* from http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/string/ */ /* * Copyright (c) 1998 Todd C. Miller * * 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. */ #include #include /* * Appends src to string dst of size siz (unlike strncat, siz is the * full size of dst, not space left). At most siz-1 characters * will be copied. Always NUL terminates (unless siz <= strlen(dst)). * Returns strlen(src) + MIN(siz, strlen(initial dst)). * If retval >= siz, truncation occurred. */ size_t strlcat(char *dst, const char *src, size_t siz) { char *d = dst; const char *s = src; size_t n = siz; size_t dlen; /* Find the end of dst and adjust bytes left but don't go past end */ while (n-- != 0 && *d != '\0') d++; dlen = d - dst; n = siz - dlen; if (n == 0) return(dlen + strlen(s)); while (*s != '\0') { if (n != 1) { *d++ = *s; n--; } s++; } *d = '\0'; return(dlen + (s - src)); /* count does not include NUL */ } arp-scan-1.8.1/pkt-llc-response.pcap0000644000175000017500000000014411522045224014211 00000000000000Ôò¡`çGM[ <<+$ªª+arp-scan-1.8.1/acinclude.m40000664000175000017500000002371711530032705012347 00000000000000dnl $Id: acinclude.m4 18119 2011-02-19 21:27:31Z rsh $ dnl NTA Monitor autoconf macros dnl AC_NTA_CHECK_TYPE -- See if a type exists using reasonable includes dnl dnl Although there is a standard macro AC_CHECK_TYPE, we can't always dnl use this because it doesn't include enough header files. dnl AC_DEFUN([AC_NTA_CHECK_TYPE], [AC_MSG_CHECKING([for $1 using $CC]) AC_CACHE_VAL(ac_cv_nta_have_$1, AC_TRY_COMPILE([ # include "confdefs.h" # include # if HAVE_SYS_TYPES_H # include # endif # if HAVE_SYS_STAT_H # include # endif # ifdef STDC_HEADERS # include # include # endif # if HAVE_INTTYPES_H # include # else # if HAVE_STDINT_H # include # endif # endif # if HAVE_UNISTD_H # include # endif # ifdef HAVE_ARPA_INET_H # include # endif # ifdef HAVE_NETDB_H # include # endif # ifdef HAVE_NETINET_IN_H # include # endif # ifdef SYS_SOCKET_H # include # endif ], [$1 i], ac_cv_nta_have_$1=yes, ac_cv_nta_have_$1=no)) AC_MSG_RESULT($ac_cv_nta_have_$1) if test $ac_cv_nta_have_$1 = no ; then AC_DEFINE($1, $2, [Define to required type if we don't have $1]) fi]) dnl AC_NTA_NET_SIZE_T -- Determine type of 3rd argument to accept dnl dnl This type is normally socklen_t but is sometimes size_t or int instead. dnl We try, in order: socklen_t, int, size_t until we find one that compiles dnl AC_DEFUN([AC_NTA_NET_SIZE_T], [AC_MSG_CHECKING([for socklen_t or equivalent using $CC]) ac_nta_net_size_t=no AC_TRY_COMPILE([ # include "confdefs.h" # include # ifdef HAVE_SYS_SOCKET_H # include # endif], [int s; struct sockaddr addr; socklen_t addrlen; int result; result=accept(s, &addr, &addrlen)], ac_nta_net_size_t=socklen_t,ac_nta_net_size_t=no) if test $ac_nta_net_size_t = no; then AC_TRY_COMPILE([ # include "confdefs.h" # include # ifdef HAVE_SYS_SOCKET_H # include # endif], [int s; struct sockaddr addr; int addrlen; int result; result=accept(s, &addr, &addrlen)], ac_nta_net_size_t=int,ac_nta_net_size_t=no) fi if test $ac_nta_net_size_t = no; then AC_TRY_COMPILE([ # include "confdefs.h" # include # ifdef HAVE_SYS_SOCKET_H # include # endif], [int s; struct sockaddr addr; size_t addrlen; int result; result=accept(s, &addr, &addrlen)], ac_nta_net_size_t=size_t,ac_nta_net_size_t=no) fi if test $ac_nta_net_size_t = no; then AC_MSG_ERROR([Cannot find acceptable type for 3rd arg to accept()]) else AC_MSG_RESULT($ac_nta_net_size_t) AC_DEFINE_UNQUOTED(NET_SIZE_T, $ac_nta_net_size_t, [Define required type for 3rd arg to accept()]) fi ]) dnl PGAC_TYPE_64BIT_INT(TYPE) dnl ------------------------- dnl Check if TYPE is a working 64 bit integer type. Set HAVE_TYPE_64 to dnl yes or no respectively, and define HAVE_TYPE_64 if yes. dnl dnl This function comes from the Postgresql file: dnl pgsql/config/c-compiler.m4,v 1.13 dnl AC_DEFUN([PGAC_TYPE_64BIT_INT], [define([Ac_define], [translit([have_$1_64], [a-z *], [A-Z_P])])dnl define([Ac_cachevar], [translit([pgac_cv_type_$1_64], [ *], [_p])])dnl AC_CACHE_CHECK([whether $1 is 64 bits], [Ac_cachevar], [AC_TRY_RUN( [typedef $1 int64; /* * These are globals to discourage the compiler from folding all the * arithmetic tests down to compile-time constants. */ int64 a = 20000001; int64 b = 40000005; int does_int64_work() { int64 c,d; if (sizeof(int64) != 8) return 0; /* definitely not the right size */ /* Do perfunctory checks to see if 64-bit arithmetic seems to work */ c = a * b; d = (c + b) / b; if (d != a+1) return 0; return 1; } main() { exit(! does_int64_work()); }], [Ac_cachevar=yes], [Ac_cachevar=no], [# If cross-compiling, check the size reported by the compiler and # trust that the arithmetic works. AC_COMPILE_IFELSE([AC_LANG_BOOL_COMPILE_TRY([], [sizeof($1) == 8])], Ac_cachevar=yes, Ac_cachevar=no)])]) Ac_define=$Ac_cachevar if test x"$Ac_cachevar" = xyes ; then AC_DEFINE(Ac_define,, [Define to 1 if `]$1[' works and is 64 bits.]) fi undefine([Ac_define])dnl undefine([Ac_cachevar])dnl ])# PGAC_TYPE_64BIT_INT dnl PGAC_FUNC_SNPRINTF_LONG_LONG_INT_FORMAT dnl --------------------------------------- dnl Determine which format snprintf uses for long long int. We handle dnl %lld, %qd, %I64d. The result is in shell variable dnl LONG_LONG_INT_FORMAT. dnl dnl MinGW uses '%I64d', though gcc throws an warning with -Wall, dnl while '%lld' doesn't generate a warning, but doesn't work. dnl dnl This function comes from the Postgresql file: dnl pgsql/config/c-library.m4,v 1.28 dnl AC_DEFUN([PGAC_FUNC_SNPRINTF_LONG_LONG_INT_FORMAT], [AC_MSG_CHECKING([snprintf format for long long int]) AC_CACHE_VAL(pgac_cv_snprintf_long_long_int_format, [for pgac_format in '%lld' '%qd' '%I64d'; do AC_TRY_RUN([#include typedef long long int int64; #define INT64_FORMAT "$pgac_format" int64 a = 20000001; int64 b = 40000005; int does_int64_snprintf_work() { int64 c; char buf[100]; if (sizeof(int64) != 8) return 0; /* doesn't look like the right size */ c = a * b; snprintf(buf, 100, INT64_FORMAT, c); if (strcmp(buf, "800000140000005") != 0) return 0; /* either multiply or snprintf is busted */ return 1; } main() { exit(! does_int64_snprintf_work()); }], [pgac_cv_snprintf_long_long_int_format=$pgac_format; break], [], [pgac_cv_snprintf_long_long_int_format=cross; break]) done])dnl AC_CACHE_VAL LONG_LONG_INT_FORMAT='' case $pgac_cv_snprintf_long_long_int_format in cross) AC_MSG_RESULT([cannot test (not on host machine)]);; ?*) AC_MSG_RESULT([$pgac_cv_snprintf_long_long_int_format]) LONG_LONG_INT_FORMAT=$pgac_cv_snprintf_long_long_int_format;; *) AC_MSG_RESULT(none);; esac])# PGAC_FUNC_SNPRINTF_LONG_LONG_INT_FORMAT dnl dnl Useful macros for autoconf to check for ssp-patched gcc dnl 1.0 - September 2003 - Tiago Sousa dnl dnl About ssp: dnl GCC extension for protecting applications from stack-smashing attacks dnl http://www.research.ibm.com/trl/projects/security/ssp/ dnl dnl Usage: dnl After calling the correct AC_LANG_*, use the corresponding macro: dnl dnl GCC_STACK_PROTECT_CC dnl checks -fstack-protector with the C compiler, if it exists then updates dnl CFLAGS and defines ENABLE_SSP_CC dnl dnl GCC_STACK_PROTECT_CXX dnl checks -fstack-protector with the C++ compiler, if it exists then updates dnl CXXFLAGS and defines ENABLE_SSP_CXX dnl AC_DEFUN([GCC_STACK_PROTECT_CC],[ ssp_cc=yes if test "X$CC" != "X"; then AC_MSG_CHECKING([whether ${CC} accepts -fstack-protector]) ssp_old_cflags="$CFLAGS" CFLAGS="$CFLAGS -fstack-protector" AC_TRY_COMPILE(,,, ssp_cc=no) echo $ssp_cc if test "X$ssp_cc" = "Xno"; then CFLAGS="$ssp_old_cflags" else AC_DEFINE([ENABLE_SSP_CC], 1, [Define if SSP C support is enabled.]) fi fi ]) AC_DEFUN([GCC_STACK_PROTECT_CXX],[ ssp_cxx=yes if test "X$CXX" != "X"; then AC_MSG_CHECKING([whether ${CXX} accepts -fstack-protector]) ssp_old_cxxflags="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -fstack-protector" AC_TRY_COMPILE(,,, ssp_cxx=no) echo $ssp_cxx if test "X$ssp_cxx" = "Xno"; then CXXFLAGS="$ssp_old_cxxflags" else AC_DEFINE([ENABLE_SSP_CXX], 1, [Define if SSP C++ support is enabled.]) fi fi ]) dnl Check whether GCC accepts -D_FORTIFY_SOURCE dnl dnl This was introduced in GCC 4.1 and glibc 2.4, but was present in earlier dnl versions on redhat systems (specifically GCC 3.4.3 and above). dnl dnl We define the GNUC_PREREQ macro to the same definition as __GNUC_PREREQ dnl in . We don't use __GNUC_PREREQ directly because dnl is not present on all the operating systems that we support, e.g. OpenBSD. dnl AC_DEFUN([GCC_FORTIFY_SOURCE],[ if test "x$CC" != "X"; then AC_MSG_CHECKING([whether ${CC} accepts -D_FORTIFY_SOURCE]) AC_TRY_COMPILE(,[ #define GNUC_PREREQ(maj, min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) #if !(GNUC_PREREQ (4, 1) \ || (defined __GNUC_RH_RELEASE__ && GNUC_PREREQ (4, 0)) \ || (defined __GNUC_RH_RELEASE__ && GNUC_PREREQ (3, 4) \ && __GNUC_MINOR__ == 4 \ && (__GNUC_PATCHLEVEL__ > 2 \ || (__GNUC_PATCHLEVEL__ == 2 && __GNUC_RH_RELEASE__ >= 8)))) #error No FORTIFY_SOURCE support #endif ], [ AC_MSG_RESULT(yes) CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2" ], [ AC_MSG_RESULT(no) ]) fi ]) dnl Check for support of the GCC -Wformat-security option. dnl This option was introduced in GCC 3.0. dnl dnl Note that in this test, the test compilation fails if the option is dnl supported, and succeeds if it is not supported. dnl dnl If this option is supported, then the test program will produce a dnl warning like "format not a string literal and no format arguments". dnl If it is not supported, then the test program will compile without dnl warnings. dnl AC_DEFUN([GCC_FORMAT_SECURITY],[ if test "x$CC" != "X"; then AC_MSG_CHECKING([whether ${CC} accepts -Wformat-security]) wfs_old_cflags="$CFLAGS" CFLAGS="$CFLAGS -Wall -Werror -Wformat -Wformat-security" AC_TRY_COMPILE([#include ], [ char *fmt=NULL; printf(fmt); return 0; ], [ AC_MSG_RESULT(no) CFLAGS="$wfs_old_cflags" ], [ AC_MSG_RESULT(yes) CFLAGS="$wfs_old_cflags -Wformat -Wformat-security" ]) fi ]) dnl Check for support of the GCC -Wextra option, which enables extra warnings. dnl Support for this option was added in gcc 3.4.0. dnl AC_DEFUN([GCC_WEXTRA],[ gcc_wextra=yes if test "X$CC" != "X"; then AC_MSG_CHECKING([whether ${CC} accepts -Wextra]) gcc_old_cflags="$CFLAGS" CFLAGS="$CFLAGS -Wextra" AC_TRY_COMPILE(,,[ AC_MSG_RESULT(yes) ],[ AC_MSG_RESULT(no) gcc_wextra=no CFLAGS="$ssp_old_cflags" ]) fi ]) arp-scan-1.8.1/config.h.in0000664000175000017500000001220311546362400012172 00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* Define to the appropriate type for 64-bit ints. */ #undef ARP_INT64 /* Define to the appropriate snprintf format for 64-bit ints. */ #undef ARP_INT64_FORMAT /* Define to 1 if pcap uses BPF */ #undef ARP_PCAP_BPF /* Define to 1 if pcap uses DLPI */ #undef ARP_PCAP_DLPI /* Define to the appropriate type for unsigned 64-bit ints. */ #undef ARP_UINT64 /* Define to the appropriate snprintf format for unsigned 64-bit ints. */ #undef ARP_UINT64_FORMAT /* Define to the compiler's unused pragma */ #undef ATTRIBUTE_UNUSED /* Define if SSP C support is enabled. */ #undef ENABLE_SSP_CC /* Define to 1 if you have the header file. */ #undef HAVE_ARPA_INET_H /* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H /* Define to 1 if you have the `gethostbyname' function. */ #undef HAVE_GETHOSTBYNAME /* Define to 1 if you have the header file. */ #undef HAVE_GETOPT_H /* Define to 1 if you have the `gettimeofday' function. */ #undef HAVE_GETTIMEOFDAY /* Define to 1 if you have the `inet_ntoa' function. */ #undef HAVE_INET_NTOA /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if `long int' works and is 64 bits. */ #undef HAVE_LONG_INT_64 /* Define to 1 if `long long int' works and is 64 bits. */ #undef HAVE_LONG_LONG_INT_64 /* Define to 1 if you have the `malloc' function. */ #undef HAVE_MALLOC /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `memset' function. */ #undef HAVE_MEMSET /* Define to 1 if you have the header file. */ #undef HAVE_NETDB_H /* Define to 1 if you have the header file. */ #undef HAVE_NETINET_IN_H /* Define to 1 if you have the header file. */ #undef HAVE_NETPACKET_PACKET_H /* Define to 1 if you have the header file. */ #undef HAVE_NET_BPF_H /* Define to 1 if you have the header file. */ #undef HAVE_NET_IF_DL_H /* Define to 1 if you have the header file. */ #undef HAVE_NET_IF_H /* Define to 1 if you have the header file. */ #undef HAVE_NET_ROUTE_H /* Define to 1 if you have the header file. */ #undef HAVE_PCAP_H /* Define to 1 if you have posix regex support */ #undef HAVE_REGEX_H /* Define to 1 if you have the `select' function. */ #undef HAVE_SELECT /* Define to 1 if you have the `socket' function. */ #undef HAVE_SOCKET /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the `strerror' function. */ #undef HAVE_STRERROR /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if the C library includes the strlcat function */ #undef HAVE_STRLCAT /* Define to 1 if the C library includes the strlcpy function */ #undef HAVE_STRLCPY /* Define to 1 if you have the header file. */ #undef HAVE_STROPTS_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_BUFMOD_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_DLPIHDR_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_DLPI_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_IOCTL_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_PARAM_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SOCKET_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SOCKIO_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SYSCTL_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIME_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define to 1 if you can safely include both and . */ #undef TIME_WITH_SYS_TIME /* Version number of package */ #undef VERSION /* Define to empty if `const' does not conform to ANSI C. */ #undef const /* Define to `unsigned int' if does not define. */ #undef size_t /* Define to required type if we don't have uint16_t */ #undef uint16_t /* Define to required type if we don't have uint32_t */ #undef uint32_t /* Define to required type if we don't have uint8_t */ #undef uint8_t arp-scan-1.8.1/config.sub0000755000175000017500000007730010466646770012160 00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, # Inc. timestamp='2006-07-02' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray) os= basic_machine=$1 ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64vr | mips64vrel \ | mips64orion | mips64orionel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64vr-* | mips64vrel-* \ | mips64orion-* | mips64orionel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa-* \ | ymp-* \ | z8k-*) ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; c90) basic_machine=c90-cray os=-unicos ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16c) basic_machine=cr16c-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tic55x | c55x*) basic_machine=tic55x-unknown os=-coff ;; tic6x | c6x*) basic_machine=tic6x-unknown os=-coff ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: arp-scan-1.8.1/arp-fingerprint.10000664000175000017500000001106410734723537013356 00000000000000.\" Copyright (C) Roy Hills, NTA Monitor Ltd. .\" .\" Copying and distribution of this file, with or without modification, .\" are permitted in any medium without royalty provided the copyright .\" notice and this notice are preserved. .\" .\" $Id: arp-fingerprint.1 12365 2007-12-27 13:23:40Z rsh $ .TH ARP-FINGERPRINT 1 "April 5, 2007" .\" Please adjust this date whenever revising the man page. .SH NAME arp-fingerprint \- Fingerprint a system using ARP .SH SYNOPSIS .B arp-fingerprint .RI [ options ] .I target .PP The target should be specified as a single IP address or hostname. You cannot specify multiple targets, IP networks or ranges. .PP If you use an IP address for the target, you can use the .B -o option to pass the .B --numeric option to .BR arp-scan , which will prevent it from attempting DNS lookups. This can speed up the fingerprinting process, especially on systems with a slow or faulty DNS configuration. .SH DESCRIPTION .B arp-fingerprint fingerprints the specified target host using the ARP protocol. .PP It sends various different types of ARP request to the target, and records which types it responds to. From this, it constructs a fingerprint string consisting of "1" where the target responded and "0" where it did not. An example of a fingerprint string is .IR 01000100000 . This fingerprint string is then used to lookup the likely target operating system. .PP Many of the fingerprint strings are shared by several operating systems, so there is not always a one-to-one mapping between fingerprint strings and operating systems. Also the fact that a system's fingerprint matches a certain operating system (or list of operating systems) does not necessarily mean that the system being fingerprinted is that operating system, although it is quite likely. This is because the list of operating systems is not exhaustive; it is just what I have discovered to date, and there are bound to be operating systems that are not listed. .PP The ARP fingerprint of a system is generally a function of that system's kernel (although it is possible for the ARP function to be implemented in user space, it almost never is). .PP Sometimes, an operating system can give different fingerprints depending on the configuration. An example is Linux, which will respond to a non-local source IP address if that IP is routed through the interface being tested. This is both good and bad: on one hand it makes the fingerprinting task more complex; but on the other, it can allow some aspects of the system configuration to be determined. .PP Sometimes the fact that two different operating systems share a common ARP fingerprint string points to a re-use of networking code. One example of this is Windows NT and FreeBSD. .PP .B arp-fingerprint uses .B arp-scan to send the ARP requests and receive the replies. .PP There are other methods that can be used to fingerprint a system using .B arp-scan which can be used in addition to .BR arp-fingerprint . These additional methods are not included in .B arp-fingerprint either because they are likely to cause disruption to the target system, or because they require knowledge of the target's configuration that may not always be available. .PP .B arp-fingerprint is still being developed, and the results should not be relied on. As most of the ARP requests that it sends are non-standard, it is possible that it may disrupt some systems, so caution is advised. .PP If you find a system that .B arp-fingerprint reports as .IR UNKNOWN , and you know what operating system it is running, could you please send details of the operating system and fingerprint to .I arp-scan@nta-monitor.com so I can include it in future versions. Please include the exact version of the operating system if you know it, as fingerprints sometimes change between versions. .SH OPTIONS .TP .B -h Display a brief usage message and exit. .TP .B -v Display verbose progress messages. .TP .B -o Pass specified options to arp-scan. You need to enclose the options string in quotes if it contains spaces. e.g. -o "-I eth1". The commonly used options are --interface (-I) and --numeric (-N). .SH EXAMPLES .nf $ arp-fingerprint 192.168.0.1 192.168.0.1 01000100000 Linux 2.2, 2.4, 2.6 .fi .PP .nf $ arp-fingerprint -o "-N -I eth1" 192.168.0.202 192.168.0.202 11110100000 FreeBSD 5.3, Win98, WinME, NT4, 2000, XP, 2003 .fi .SH NOTES .B arp-fingerprint is implemented in Perl, so you need to have the Perl interpreter installed on your system to use it. .SH AUTHOR Roy Hills .SH "SEE ALSO" .TP .BR arp-scan (1) .PP .I http://www.nta-monitor.com/wiki/ The arp-scan wiki page. arp-scan-1.8.1/pkt-vlan-llc-response.pcap0000644000175000017500000000015011532015667015155 00000000000000Ôò¡`"eMË@@+d$ªª+arp-scan-1.8.1/hash.c0000644000175000017500000003504511504447376011257 00000000000000/* hash.c -- gas hash table code Copyright 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2007, 2008, 2009 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. GAS is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GAS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GAS; see the file COPYING. If not, write to the Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ /* This version of the hash table code is a wholescale replacement of the old hash table code, which was fairly bad. This is based on the hash table code in BFD, but optimized slightly for the assembler. The assembler does not need to derive structures that are stored in the hash table. Instead, it always stores a pointer. The assembler uses the hash table mostly to store symbols, and we don't need to confuse the symbol structure with a hash table structure. */ /* rsh changes start */ #include "arp-scan.h" #include "obstack.h" #define xmalloc Malloc #define obstack_chunk_alloc Malloc #define obstack_chunk_free free /* The default obstack chunk size. If we set this to zero, the obstack code will use whatever will fit in a 4096 byte block. */ int chunksize = 0; /* #include "as.h" #include "safe-ctype.h" */ /* rsh changes end */ /* An entry in a hash table. */ struct hash_entry { /* Next entry for this hash code. */ struct hash_entry *next; /* String being hashed. */ const char *string; /* Hash code. This is the full hash code, not the index into the table. */ unsigned long hash; /* Pointer being stored in the hash table. */ void *data; }; /* A hash table. */ struct hash_control { /* The hash array. */ struct hash_entry **table; /* The number of slots in the hash table. */ unsigned int size; /* An obstack for this hash table. */ struct obstack memory; #ifdef HASH_STATISTICS /* Statistics. */ unsigned long lookups; unsigned long hash_compares; unsigned long string_compares; unsigned long insertions; unsigned long replacements; unsigned long deletions; #endif /* HASH_STATISTICS */ }; /* The default number of entries to use when creating a hash table. Note this value can be reduced to 4051 by using the command line switch --reduce-memory-overheads, or set to other values by using the --hash-size= switch. */ static unsigned long gas_hash_table_size = 65537; void set_gas_hash_table_size (unsigned long size) { gas_hash_table_size = size; } /* FIXME: This function should be amalgmated with bfd/hash.c:bfd_hash_set_default_size(). */ static unsigned long get_gas_hash_table_size (void) { /* Extend this prime list if you want more granularity of hash table size. */ static const unsigned long hash_size_primes[] = { 1021, 4051, 8599, 16699, 65537 }; unsigned int hindex; /* Work out the best prime number near the hash_size. FIXME: This could be a more sophisticated algorithm, but is it really worth implementing it ? */ for (hindex = 0; hindex < ARRAY_SIZE (hash_size_primes) - 1; ++ hindex) if (gas_hash_table_size <= hash_size_primes[hindex]) break; return hash_size_primes[hindex]; } /* Create a hash table. This return a control block. */ struct hash_control * hash_new (void) { unsigned long size; unsigned long alloc; struct hash_control *ret; size = get_gas_hash_table_size (); ret = (struct hash_control *) xmalloc (sizeof *ret); obstack_begin (&ret->memory, chunksize); alloc = size * sizeof (struct hash_entry *); ret->table = (struct hash_entry **) obstack_alloc (&ret->memory, alloc); memset (ret->table, 0, alloc); ret->size = size; #ifdef HASH_STATISTICS ret->lookups = 0; ret->hash_compares = 0; ret->string_compares = 0; ret->insertions = 0; ret->replacements = 0; ret->deletions = 0; #endif return ret; } /* Delete a hash table, freeing all allocated memory. */ void hash_die (struct hash_control *table) { obstack_free (&table->memory, 0); free (table); } /* Look up a string in a hash table. This returns a pointer to the hash_entry, or NULL if the string is not in the table. If PLIST is not NULL, this sets *PLIST to point to the start of the list which would hold this hash entry. If PHASH is not NULL, this sets *PHASH to the hash code for KEY. Each time we look up a string, we move it to the start of the list for its hash code, to take advantage of referential locality. */ static struct hash_entry * hash_lookup (struct hash_control *table, const char *key, size_t len, struct hash_entry ***plist, unsigned long *phash) { unsigned long hash; size_t n; unsigned int c; unsigned int hindex; struct hash_entry **list; struct hash_entry *p; struct hash_entry *prev; #ifdef HASH_STATISTICS ++table->lookups; #endif hash = 0; for (n = 0; n < len; n++) { c = key[n]; hash += c + (c << 17); hash ^= hash >> 2; } hash += len + (len << 17); hash ^= hash >> 2; if (phash != NULL) *phash = hash; hindex = hash % table->size; list = table->table + hindex; if (plist != NULL) *plist = list; prev = NULL; for (p = *list; p != NULL; p = p->next) { #ifdef HASH_STATISTICS ++table->hash_compares; #endif if (p->hash == hash) { #ifdef HASH_STATISTICS ++table->string_compares; #endif if (strncmp (p->string, key, len) == 0 && p->string[len] == '\0') { if (prev != NULL) { prev->next = p->next; p->next = *list; *list = p; } return p; } } prev = p; } return NULL; } /* Insert an entry into a hash table. This returns NULL on success. On error, it returns a printable string indicating the error. It is considered to be an error if the entry already exists in the hash table. */ const char * hash_insert (struct hash_control *table, const char *key, void *val) { struct hash_entry *p; struct hash_entry **list; unsigned long hash; p = hash_lookup (table, key, strlen (key), &list, &hash); if (p != NULL) return "exists"; #ifdef HASH_STATISTICS ++table->insertions; #endif p = (struct hash_entry *) obstack_alloc (&table->memory, sizeof (*p)); p->string = key; p->hash = hash; p->data = val; p->next = *list; *list = p; return NULL; } /* Insert or replace an entry in a hash table. This returns NULL on success. On error, it returns a printable string indicating the error. If an entry already exists, its value is replaced. */ const char * hash_jam (struct hash_control *table, const char *key, void *val) { struct hash_entry *p; struct hash_entry **list; unsigned long hash; p = hash_lookup (table, key, strlen (key), &list, &hash); if (p != NULL) { #ifdef HASH_STATISTICS ++table->replacements; #endif p->data = val; } else { #ifdef HASH_STATISTICS ++table->insertions; #endif p = (struct hash_entry *) obstack_alloc (&table->memory, sizeof (*p)); p->string = key; p->hash = hash; p->data = val; p->next = *list; *list = p; } return NULL; } /* Replace an existing entry in a hash table. This returns the old value stored for the entry. If the entry is not found in the hash table, this does nothing and returns NULL. */ void * hash_replace (struct hash_control *table, const char *key, void *value) { struct hash_entry *p; void *ret; p = hash_lookup (table, key, strlen (key), NULL, NULL); if (p == NULL) return NULL; #ifdef HASH_STATISTICS ++table->replacements; #endif ret = p->data; p->data = value; return ret; } /* Find an entry in a hash table, returning its value. Returns NULL if the entry is not found. */ void * hash_find (struct hash_control *table, const char *key) { struct hash_entry *p; p = hash_lookup (table, key, strlen (key), NULL, NULL); if (p == NULL) return NULL; return p->data; } /* As hash_find, but KEY is of length LEN and is not guaranteed to be NUL-terminated. */ void * hash_find_n (struct hash_control *table, const char *key, size_t len) { struct hash_entry *p; p = hash_lookup (table, key, len, NULL, NULL); if (p == NULL) return NULL; return p->data; } /* Delete an entry from a hash table. This returns the value stored for that entry, or NULL if there is no such entry. */ void * hash_delete (struct hash_control *table, const char *key, int freeme) { struct hash_entry *p; struct hash_entry **list; p = hash_lookup (table, key, strlen (key), &list, NULL); if (p == NULL) return NULL; if (p != *list) abort (); #ifdef HASH_STATISTICS ++table->deletions; #endif *list = p->next; if (freeme) obstack_free (&table->memory, p); return p->data; } /* Traverse a hash table. Call the function on every entry in the hash table. */ void hash_traverse (struct hash_control *table, void (*pfn) (const char *key, void *value)) { unsigned int i; for (i = 0; i < table->size; ++i) { struct hash_entry *p; for (p = table->table[i]; p != NULL; p = p->next) (*pfn) (p->string, p->data); } } /* Print hash table statistics on the specified file. NAME is the name of the hash table, used for printing a header. */ void hash_print_statistics (FILE *f ATTRIBUTE_UNUSED, const char *name ATTRIBUTE_UNUSED, struct hash_control *table ATTRIBUTE_UNUSED) { #ifdef HASH_STATISTICS unsigned int i; unsigned long total; unsigned long empty; fprintf (f, "%s hash statistics:\n", name); fprintf (f, "\t%lu lookups\n", table->lookups); fprintf (f, "\t%lu hash comparisons\n", table->hash_compares); fprintf (f, "\t%lu string comparisons\n", table->string_compares); fprintf (f, "\t%lu insertions\n", table->insertions); fprintf (f, "\t%lu replacements\n", table->replacements); fprintf (f, "\t%lu deletions\n", table->deletions); total = 0; empty = 0; for (i = 0; i < table->size; ++i) { struct hash_entry *p; if (table->table[i] == NULL) ++empty; else { for (p = table->table[i]; p != NULL; p = p->next) ++total; } } fprintf (f, "\t%g average chain length\n", (double) total / table->size); fprintf (f, "\t%lu empty slots\n", empty); #endif } #ifdef TEST /* This test program is left over from the old hash table code. */ /* Number of hash tables to maintain (at once) in any testing. */ #define TABLES (6) /* We can have 12 statistics. */ #define STATBUFSIZE (12) /* Display statistics here. */ int statbuf[STATBUFSIZE]; /* Human farts here. */ char answer[100]; /* We test many hash tables at once. */ char *hashtable[TABLES]; /* Points to current hash_control. */ char *h; char **pp; char *p; char *name; char *value; int size; int used; char command; /* Number 0:TABLES-1 of current hashed symbol table. */ int number; int main () { void applicatee (); void destroy (); char *what (); int *ip; number = 0; h = 0; printf ("type h for help\n"); for (;;) { printf ("hash_test command: "); gets (answer); command = answer[0]; command = TOLOWER (command); /* Ecch! */ switch (command) { case '#': printf ("old hash table #=%d.\n", number); whattable (); break; case '?': for (pp = hashtable; pp < hashtable + TABLES; pp++) { printf ("address of hash table #%d control block is %xx\n", pp - hashtable, *pp); } break; case 'a': hash_traverse (h, applicatee); break; case 'd': hash_traverse (h, destroy); hash_die (h); break; case 'f': p = hash_find (h, name = what ("symbol")); printf ("value of \"%s\" is \"%s\"\n", name, p ? p : "NOT-PRESENT"); break; case 'h': printf ("# show old, select new default hash table number\n"); printf ("? display all hashtable control block addresses\n"); printf ("a apply a simple display-er to each symbol in table\n"); printf ("d die: destroy hashtable\n"); printf ("f find value of nominated symbol\n"); printf ("h this help\n"); printf ("i insert value into symbol\n"); printf ("j jam value into symbol\n"); printf ("n new hashtable\n"); printf ("r replace a value with another\n"); printf ("s say what %% of table is used\n"); printf ("q exit this program\n"); printf ("x delete a symbol from table, report its value\n"); break; case 'i': p = hash_insert (h, name = what ("symbol"), value = what ("value")); if (p) { printf ("symbol=\"%s\" value=\"%s\" error=%s\n", name, value, p); } break; case 'j': p = hash_jam (h, name = what ("symbol"), value = what ("value")); if (p) { printf ("symbol=\"%s\" value=\"%s\" error=%s\n", name, value, p); } break; case 'n': h = hashtable[number] = (char *) hash_new (); break; case 'q': exit (EXIT_SUCCESS); case 'r': p = hash_replace (h, name = what ("symbol"), value = what ("value")); printf ("old value was \"%s\"\n", p ? p : "{}"); break; case 's': hash_say (h, statbuf, STATBUFSIZE); for (ip = statbuf; ip < statbuf + STATBUFSIZE; ip++) { printf ("%d ", *ip); } printf ("\n"); break; case 'x': p = hash_delete (h, name = what ("symbol")); printf ("old value was \"%s\"\n", p ? p : "{}"); break; default: printf ("I can't understand command \"%c\"\n", command); break; } } } char * what (description) char *description; { printf (" %s : ", description); gets (answer); return xstrdup (answer); } void destroy (string, value) char *string; char *value; { free (string); free (value); } void applicatee (string, value) char *string; char *value; { printf ("%.20s-%.20s\n", string, value); } /* Determine number: what hash table to use. Also determine h: points to hash_control. */ void whattable () { for (;;) { printf (" what hash table (%d:%d) ? ", 0, TABLES - 1); gets (answer); sscanf (answer, "%d", &number); if (number >= 0 && number < TABLES) { h = hashtable[number]; if (!h) { printf ("warning: current hash-table-#%d. has no hash-control\n", number); } return; } else { printf ("invalid hash table number: %d\n", number); } } } #endif /* TEST */ arp-scan-1.8.1/hash.h0000644000175000017500000000605611504445261011253 00000000000000/* hash.h -- header file for gas hash table routines Copyright 1987, 1992, 1993, 1995, 1999, 2003, 2005, 2007, 2008 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. GAS is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GAS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GAS; see the file COPYING. If not, write to the Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef HASH_H #define HASH_H struct hash_control; /* Set the size of the hash table used. */ void set_gas_hash_table_size (unsigned long); /* Create a hash table. This return a control block. */ extern struct hash_control *hash_new (void); /* Delete a hash table, freeing all allocated memory. */ extern void hash_die (struct hash_control *); /* Insert an entry into a hash table. This returns NULL on success. On error, it returns a printable string indicating the error. It is considered to be an error if the entry already exists in the hash table. */ extern const char *hash_insert (struct hash_control *, const char *key, void *value); /* Insert or replace an entry in a hash table. This returns NULL on success. On error, it returns a printable string indicating the error. If an entry already exists, its value is replaced. */ extern const char *hash_jam (struct hash_control *, const char *key, void *value); /* Replace an existing entry in a hash table. This returns the old value stored for the entry. If the entry is not found in the hash table, this does nothing and returns NULL. */ extern void *hash_replace (struct hash_control *, const char *key, void *value); /* Find an entry in a hash table, returning its value. Returns NULL if the entry is not found. */ extern void *hash_find (struct hash_control *, const char *key); /* As hash_find, but KEY is of length LEN and is not guaranteed to be NUL-terminated. */ extern void *hash_find_n (struct hash_control *, const char *key, size_t len); /* Delete an entry from a hash table. This returns the value stored for that entry, or NULL if there is no such entry. */ extern void *hash_delete (struct hash_control *, const char *key, int); /* Traverse a hash table. Call the function on every entry in the hash table. */ extern void hash_traverse (struct hash_control *, void (*pfn) (const char *key, void *value)); /* Print hash table statistics on the specified file. NAME is the name of the hash table, used for printing a header. */ extern void hash_print_statistics (FILE *, const char *name, struct hash_control *); #endif /* HASH_H */ arp-scan-1.8.1/strlcpy.c0000664000175000017500000000341210605407746012025 00000000000000/* from http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/string/ */ /* * Copyright (c) 1998 Todd C. Miller * * 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. */ #include #include /* * Copy src to string dst of size siz. At most siz-1 characters * will be copied. Always NUL terminates (unless siz == 0). * Returns strlen(src); if retval >= siz, truncation occurred. */ size_t strlcpy(char *dst, const char *src, size_t siz) { char *d = dst; const char *s = src; size_t n = siz; /* Copy as many bytes as will fit */ if (n != 0) { while (--n != 0) { if ((*d++ = *s++) == '\0') break; } } /* Not enough room in dst, add NUL and traverse rest of src */ if (n == 0) { if (siz != 0) *d = '\0'; /* NUL-terminate dst */ while (*s++) ; } return(s - src - 1); /* count does not include NUL */ } arp-scan-1.8.1/configure.ac0000664000175000017500000002015511546362350012446 00000000000000dnl $Id: configure.ac 18169 2011-04-04 15:33:58Z rsh $ dnl Process this file with autoconf to produce a configure script. AC_INIT([arp-scan],[1.8.1],[arp-scan@nta-monitor.com]) AC_PREREQ(2.61) AC_REVISION($Revision: 18169 $) AC_CONFIG_SRCDIR([arp-scan.c]) AM_INIT_AUTOMAKE AC_CONFIG_HEADERS([config.h]) AC_CANONICAL_HOST dnl Checks for programs. AC_PROG_CC if test -n "$GCC"; then AC_DEFINE([ATTRIBUTE_UNUSED], [__attribute__ ((__unused__))], [Define to the compiler's unused pragma]) CFLAGS="$CFLAGS -Wall -Wshadow -Wwrite-strings" GCC_WEXTRA GCC_STACK_PROTECT_CC GCC_FORTIFY_SOURCE GCC_FORMAT_SECURITY dnl Uncomment the line below to compile with additional warnings enabled. dnl CFLAGS="$CFLAGS -pedantic -Wpointer-arith -Wcast-qual -Wcast-align -Wconversion -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs" dnl Uncomment the line below to compile with gcov support. dnl CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage" else AC_DEFINE([ATTRIBUTE_UNUSED], [], [Define to the compiler's unused pragma]) fi AC_PROG_INSTALL AC_PROG_LN_S dnl Checks for libraries. dnl Solaris 8 needs nsl and socket. Linux and {Free,Open}BSD do not. dnl Just about everything will need pcap. AC_SEARCH_LIBS([gethostbyname], [nsl]) AC_SEARCH_LIBS([socket], [socket]) AC_SEARCH_LIBS([pcap_open_live], [pcap], , [ AC_MSG_NOTICE([Cannot find pcap library containing pcap_open_live]) AC_MSG_ERROR([Check that you have libpcap version 0.8 or later installed]) ]) dnl Check that the pcap library contains pcap_lib_version dnl This was introduced in version 0.8, and our application requires it. dnl dnl We perform this check as a seperate step, rather than just checking for dnl pcap_lib_version in the earlier AC_SEARCH_LIBS call, because it dnl allows us to provide different error messages for missing pcap and non dnl functional pcap and so avoids confusing generic error messages. dnl AC_MSG_CHECKING([for a compatible pcap library]) AC_LINK_IFELSE([AC_LANG_CALL([], [pcap_lib_version])], [AC_MSG_RESULT([yes])], [ AC_MSG_RESULT([no]) AC_MSG_NOTICE([Cannot find pcap_lib_version in pcap library]) AC_MSG_ERROR([Check that the pcap library is at least version 0.8]) ]) dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h sys/socket.h sys/time.h unistd.h getopt.h pcap.h sys/ioctl.h sys/stat.h fcntl.h]) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_SIZE_T AC_HEADER_TIME dnl Check for the uint{8,16,32}_t types and, if we don't have them, define dnl them using types which will work on most systems. AC_NTA_CHECK_TYPE(uint8_t, unsigned char) AC_NTA_CHECK_TYPE(uint16_t, unsigned short) AC_NTA_CHECK_TYPE(uint32_t, unsigned int) dnl Checks for 64-bit integer types. These checks are from postgresql. dnl Check to see if we have a working 64-bit integer type. dnl This breaks down into two steps: dnl (1) figure out if the compiler has a 64-bit int type with working dnl arithmetic, and if so dnl (2) see whether snprintf() can format the type correctly. PGAC_TYPE_64BIT_INT([long int]) if test x"$HAVE_LONG_INT_64" = x"yes" ; then INT64_TYPE="long int" UINT64_TYPE="unsigned long int" else PGAC_TYPE_64BIT_INT([long long int]) if test x"$HAVE_LONG_LONG_INT_64" = x"yes" ; then INT64_TYPE="long long int" UINT64_TYPE="unsigned long long int" else AC_MSG_ERROR([cannot determine 64-bit integer type]) fi fi AC_DEFINE_UNQUOTED(ARP_INT64, $INT64_TYPE, [Define to the appropriate type for 64-bit ints.]) AC_DEFINE_UNQUOTED(ARP_UINT64, $UINT64_TYPE, [Define to the appropriate type for unsigned 64-bit ints.]) dnl If we found "long int" is 64 bits, assume snprintf handles it. If dnl we found we need to use "long long int", better check. We cope with dnl snprintfs that use %lld, %qd, or %I64d as the format. dnl if test "$HAVE_LONG_LONG_INT_64" = yes ; then PGAC_FUNC_SNPRINTF_LONG_LONG_INT_FORMAT if test "$LONG_LONG_INT_FORMAT" = ""; then AC_MSG_ERROR([cannot determine snprintf format string for long long int]) fi LONG_LONG_UINT_FORMAT=`echo "$LONG_LONG_INT_FORMAT" | sed 's/d$/u/'` INT64_FORMAT="\"$LONG_LONG_INT_FORMAT\"" UINT64_FORMAT="\"$LONG_LONG_UINT_FORMAT\"" else # Here if we are not using 'long long int' at all INT64_FORMAT='"%ld"' UINT64_FORMAT='"%lu"' fi AC_DEFINE_UNQUOTED(ARP_INT64_FORMAT, $INT64_FORMAT, [Define to the appropriate snprintf format for 64-bit ints.]) AC_DEFINE_UNQUOTED(ARP_UINT64_FORMAT, $UINT64_FORMAT, [Define to the appropriate snprintf format for unsigned 64-bit ints.]) dnl Checks for library functions. AC_CHECK_FUNCS([malloc gethostbyname gettimeofday inet_ntoa memset select socket strerror]) dnl Check if the Posix regular expression functions "regcomp" and "regexec" dnl and the header file "regex.h" are present. AC_MSG_CHECKING([for posix regular expression support]) AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include #include ]], [[regcomp(0, 0, 0); regexec(0, 0, 0, 0, 0)]])], [ac_nta_posix_regex=yes], [ac_nta_posic_regex=no]) AC_MSG_RESULT([$ac_nta_posix_regex]) if test $ac_nta_posix_regex = no; then AC_MSG_ERROR([You don't seem to have posix regular expression support]) else AC_DEFINE(HAVE_REGEX_H, 1, [Define to 1 if you have posix regex support]) fi dnl Determine which link-layer sending functions to use dnl We base our choice on the operating system in $host_os case $host_os in *linux* ) AC_MSG_NOTICE([Using packet socket link layer implementation.]); AC_CHECK_HEADERS([netpacket/packet.h net/if.h]) AC_LIBOBJ([link-packet-socket]) ;; *freebsd* | *darwin* | *openbsd* | *netbsd* ) AC_MSG_NOTICE([Using BPF link layer implementation.]); dnl We need to specify additional headers to include here, because several dnl BSD variants require certain headers to be included before others will dnl work. dnl FreeBSD 5.2 needs sys/socket.h included for net/if, and dnl needs sys/types.h for sys/sysctl.h and net/bpf.h dnl OpenBSD 3.9 needs sys/param.h included for sys/sysctl.h AC_CHECK_HEADERS([net/if.h net/bpf.h sys/param.h sys/sysctl.h net/route.h net/if_dl.h],,, [ #include #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_SYS_PARAM_H #include #endif ]) AC_DEFINE(ARP_PCAP_BPF, 1, [Define to 1 if pcap uses BPF]) AC_LIBOBJ([link-bpf]) ;; *solaris* ) AC_MSG_NOTICE([Using DLPI link layer implementation.]); dnl Solaris 9 needs sys/types.h and sys/socket.h included before net/if.h. AC_CHECK_HEADERS([sys/dlpi.h sys/dlpihdr.h stropts.h sys/ioctl.h sys/sockio.h net/if.h sys/bufmod.h],,, [ #include #ifdef HAVE_SYS_SOCKET_H #include #endif ]) AC_DEFINE(ARP_PCAP_DLPI, 1, [Define to 1 if pcap uses DLPI]) AC_LIBOBJ([link-dlpi]) ;; dnl *cygwin* ) * ) AC_MSG_ERROR([Host operating system $host_os is not supported]) ;; esac dnl GNU systems e.g. Linux have getopt_long_only, but many other systems dnl e.g. FreeBSD 4.3 and Solaris 8 do not. For systems that don't have it, dnl use the GNU getopt sources (obtained from glibc). AC_CHECK_FUNC([getopt_long_only], , [ AC_LIBOBJ(getopt) AC_LIBOBJ(getopt1) AC_LIBSOURCE(getopt.h) ]) dnl Do we have inet_aton? Most systems do, but some e.g. Solaris don't dnl If we don't have it, then use Russ Allbery's implementation as a dnl replacement function. AC_CHECK_FUNC(inet_aton, , [ AC_LIBOBJ(inet_aton) ]) dnl Check for strlcat and strlcpy. If we don't have them, use the replacement dnl functions from OpenBSD. Most modern C libraries have these functions, dnl but some such as as glibc don't. AC_CHECK_FUNC([strlcat], [AC_DEFINE(HAVE_STRLCAT, 1, [Define to 1 if the C library includes the strlcat function])], [AC_LIBOBJ(strlcat)]) AC_CHECK_FUNC([strlcpy], [AC_DEFINE(HAVE_STRLCPY, 1, [Define to 1 if the C library includes the strlcpy function])], [AC_LIBOBJ(strlcpy)]) AC_CONFIG_FILES([Makefile]) AC_OUTPUT arp-scan-1.8.1/depcomp0000755000175000017500000004224610515602102011523 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2006-10-15.18 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software # Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by `PROGRAMS ARGS'. object Object file output by `PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputing dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ## The second -e expression handles DOS-style file names with drive letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the `deleted header file' problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. tr ' ' ' ' < "$tmpdepfile" | ## Some versions of gcc put a space before the `:'. On the theory ## that the space means something, we add a space to the output as ## well. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like `#:fec' to the end of the # dependency line. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr ' ' ' ' >> $depfile echo >> $depfile # The second pass generates a dummy entry for each header file. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> $depfile else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts `$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` tmpdepfile="$stripped.u" if test "$libtool" = yes; then "$@" -Wc,-M else "$@" -M fi stat=$? if test -f "$tmpdepfile"; then : else stripped=`echo "$stripped" | sed 's,^.*/,,'` tmpdepfile="$stripped.u" fi if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi if test -f "$tmpdepfile"; then outname="$stripped.o" # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; icc) # Intel's C compiler understands `-MD -MF file'. However on # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c # ICC 7.0 will fill foo.d with something like # foo.o: sub/foo.c # foo.o: sub/foo.h # which is wrong. We want: # sub/foo.o: sub/foo.c # sub/foo.o: sub/foo.h # sub/foo.c: # sub/foo.h: # ICC 7.1 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using \ : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" # Add `dependent.h:' lines. sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in `foo.d' instead, so we check for that too. # Subdirectories are respected. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then # With Tru64 cc, shared objects can also be used to make a # static library. This mechanism is used in libtool 1.4 series to # handle both shared and static libraries in a single compilation. # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. # # With libtool 1.5 this exception was removed, and libtool now # generates 2 separate objects for the 2 libraries. These two # compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 tmpdepfile2=$dir$base.o.d # libtool 1.5 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.o.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d tmpdepfile4=$dir$base.d "$@" -MD fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for `:' # in the target name. This is to cope with DOS-style filenames: # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. "$@" $dashmflag | sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' ' < "$tmpdepfile" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # X makedepend shift cleared=no for arg in "$@"; do case $cleared in no) set ""; shift cleared=yes ;; esac case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix="`echo $object | sed 's/^.*\././'`" touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o, # because we must use -o when running libtool. "$@" || exit $? IFS=" " for arg do case "$arg" in "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: arp-scan-1.8.1/pkt-padding-response.pcap0000644000175000017500000000014411522044443015047 00000000000000Ôò¡`çGM[ <<++UªUªUªUªUªUªUªUªUªarp-scan-1.8.1/get-iab0000774000175000017500000001113111512307725011405 00000000000000#!/usr/bin/env perl # # Copyright 2006-2011 Roy Hills # # This file is part of arp-scan. # # arp-scan is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # arp-scan is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with arp-scan. If not, see . # # $Id: get-iab 18078 2011-01-09 10:37:07Z rsh $ # # get-iab -- Fetch the IAB file from the IEEE website # # Author: Roy Hills # Date: 16 March 2006 # # This script downloads the Ethernet IAB file from the IEEE website, and # converts it to the format needed by arp-scan. # # This script assumes that all the IAB entries start with 00-50-C2. This # is currently the case, and will probably be so for the foreseeable # future. # use warnings; use strict; use Getopt::Std; use LWP::Simple; # my $default_url = 'http://standards.ieee.org/regauth/oui/iab.txt'; my $default_filename='ieee-iab.txt'; # my $usage = qq/Usage: get-iab [options] Fetch the Ethernet IAB file from the IEEE website, and save it in the format used by arp-scan. 'options' is one or more of: -h Display this usage message. -f FILE Specify the output IAB file. Default=$default_filename -u URL Specify the URL to fetch the IAB data from. Default=$default_url -v Give verbose progress messages. /; my %opts; my $verbose; my $filename; my $url; my $lineno = 0; my $iab_var; my $vendor; # # Process options # die "$usage\n" unless getopts('hf:v',\%opts); if ($opts{h}) { print "$usage\n"; exit(0); } if (defined $opts{f}) { $filename=$opts{f}; } else { $filename=$default_filename; } if (defined $opts{u}) { $url=$opts{u}; } else { $url=$default_url; } $verbose=$opts{v} ? 1 : 0; # # If the output filename already exists, rename it to filename.bak before # we create the new output file. # if (-f $filename) { print "Renaming $filename to $filename.bak\n" if $verbose; rename $filename, "$filename.bak" || die "Could not rename $filename to $filename.bak\n"; } # # Fetch the content from the URL # print "Fetching IAB data from $url\n" if $verbose; my $content = get $url; die "Could not get IAB data from $url\n" unless defined $content; my $content_length = length($content); die "Zero-sized response from from $url\n" unless ($content_length > 0); print "Fetched $content_length bytes\n" if $verbose; # # Open the output file for writing. # print "Opening output file $filename\n" if $verbose; open OUTPUT, ">$filename" || die "Could not open $filename for writing"; # # Write the header comments to the output file. # my ($sec,$min,$hour,$mday,$mon,$year,undef,undef,undef) = localtime(); $year += 1900; $mon++; my $date_string = sprintf("%04d-%02d-%02d %02d:%02d:%02d", $year, $mon, $mday, $hour, $min, $sec); my $header_comments = qq/# ieee-iab.txt -- Ethernet vendor IAB file for arp-scan # # This file contains the Ethernet vendor IABs for arp-scan. These are used # to determine the vendor for a give Ethernet interface given the MAC address. # # Each line of this file contains an IAB-vendor mapping in the form: # # # # Where is the first 36 bits of the MAC address in hex, and # is the name of the vendor. # # Blank lines and lines beginning with "#" are ignored. # # This file was automatically generated by get-iab at $date_string # using data from $url # # Do not edit this file. If you want to add additional MAC-Vendor mappings, # edit the file mac-vendor.txt instead. # /; print OUTPUT $header_comments; # # Parse the content received from the URL, and write the IAB entries to the # output file. Match lines that look like this: # 000000-000FFF (base 16) T.L.S. Corp. # and write them to the output file looking like this: # 0050C2000 T.L.S. Corp. # # Note that the 0050C2 bit is a constant, and we take # the next three hex digits from the IEEE data. # while ($content =~ m/^(\w+)-\w+\s+\(base 16\)[ ]+(.*)$/gm) { $iab_var = substr($1,0,3); $vendor = $2; $vendor = "PRIVATE" if length($vendor) == 0; print OUTPUT "0050C2$iab_var\t$vendor\n"; $lineno++; } # # All done. Close the output file and print IAB entry count # close OUTPUT || die "Error closing output file\n"; print "$lineno IAB entries written to file $filename\n" if $verbose; arp-scan-1.8.1/inet_aton.c0000664000175000017500000001117610555603366012313 00000000000000/* $Id: inet_aton.c 8003 2006-07-03 16:23:39Z rsh $ ** ** Replacement for a missing inet_aton. ** ** Written by Russ Allbery ** This work is hereby placed in the public domain by its author. ** ** Provides the same functionality as the standard library routine ** inet_aton for those platforms that don't have it. inet_aton is ** thread-safe. */ #include "config.h" #ifdef HAVE_NETINET_IN_H #include #endif /* If we're running the test suite, rename inet_ntoa to avoid conflicts with the system version. */ #if TESTING # define inet_aton test_inet_aton int test_inet_aton(const char *, struct in_addr *); #endif int inet_aton(const char *s, struct in_addr *addr) { unsigned long octet[4], address; const char *p; int base, i; int part = 0; if (s == NULL) return 0; /* Step through each period-separated part of the address. If we see more than four parts, the address is invalid. */ for (p = s; *p != 0; part++) { if (part > 3) return 0; /* Determine the base of the section we're looking at. Numbers are represented the same as in C; octal starts with 0, hex starts with 0x, and anything else is decimal. */ if (*p == '0') { p++; if (*p == 'x') { p++; base = 16; } else { base = 8; } } else { base = 10; } /* Make sure there's actually a number. (A section of just "0" would set base to 8 and leave us pointing at a period; allow that.) */ if (*p == '.' && base != 8) return 0; octet[part] = 0; /* Now, parse this segment of the address. For each digit, multiply the result so far by the base and then add the value of the digit. Be careful of arithmetic overflow in cases where an unsigned long is 32 bits; we need to detect it *before* we multiply by the base since otherwise we could overflow and wrap and then not detect the error. */ for (; *p != 0 && *p != '.'; p++) { if (octet[part] > 0xffffffffUL / base) return 0; /* Use a switch statement to parse each digit rather than assuming ASCII. Probably pointless portability.... */ switch (*p) { case '0': i = 0; break; case '1': i = 1; break; case '2': i = 2; break; case '3': i = 3; break; case '4': i = 4; break; case '5': i = 5; break; case '6': i = 6; break; case '7': i = 7; break; case '8': i = 8; break; case '9': i = 9; break; case 'A': case 'a': i = 10; break; case 'B': case 'b': i = 11; break; case 'C': case 'c': i = 12; break; case 'D': case 'd': i = 13; break; case 'E': case 'e': i = 14; break; case 'F': case 'f': i = 15; break; default: return 0; } if (i >= base) return 0; octet[part] = (octet[part] * base) + i; } /* Advance over periods; the top of the loop will increment the count of parts we've seen. We need a check here to detect an illegal trailing period. */ if (*p == '.') { p++; if (*p == 0) return 0; } } if (part == 0) return 0; /* IPv4 allows three types of address specification: a.b a.b.c a.b.c.d If there are fewer than four segments, the final segment accounts for all of the remaining portion of the address. For example, in the a.b form, b is the final 24 bits of the address. We also allow a simple number, which is interpreted as the 32-bit number corresponding to the full IPv4 address. The first for loop below ensures that any initial segments represent only 8 bits of the address and builds the upper portion of the IPv4 address. Then, the remaining segment is checked to make sure it's no bigger than the remaining space in the address and then is added into the result. */ address = 0; for (i = 0; i < part - 1; i++) { if (octet[i] > 0xff) return 0; address |= octet[i] << (8 * (3 - i)); } if (octet[i] > (0xffffffffUL >> (i * 8))) return 0; address |= octet[i]; if (addr != NULL) addr->s_addr = htonl(address); return 1; } arp-scan-1.8.1/arp-scan.10000664000175000017500000005733011522467165011757 00000000000000'\" t .\" Copyright (C) Roy Hills, NTA Monitor Ltd. .\" .\" Copying and distribution of this file, with or without modification, .\" are permitted in any medium without royalty provided the copyright .\" notice and this notice are preserved. .\" .\" $Id: arp-scan.1 18104 2011-02-03 08:59:31Z rsh $ .TH ARP-SCAN 1 "January 31, 2011" .\" Please adjust this date whenever revising the man page. .SH NAME arp-scan \- The ARP scanner .SH SYNOPSIS .B arp-scan .RI [ options ] " " [ hosts ...] .PP Target hosts must be specified on the command line unless the .B --file option is given, in which case the targets are read from the specified file instead, or the .B --localnet option is used, in which case the targets are generated from the network interface IP address and netmask. .PP You will need to be root, or .B arp-scan must be SUID root, in order to run .BR arp-scan , because the functions that it uses to read and write packets require root privilege. .PP The target hosts can be specified as IP addresses or hostnames. You can also specify the target as .B IPnetwork/bits (e.g. 192.168.1.0/24) to specify all hosts in the given network (network and broadcast addresses included), .B IPstart-IPend (e.g. 192.168.1.3-192.168.1.27) to specify all hosts in the inclusive range, or .B IPnetwork:NetMask (e.g. 192.168.1.0:255.255.255.0) to specify all hosts in the given network and mask. .SH DESCRIPTION .B arp-scan sends ARP packets to hosts on the local network and displays any responses that are received. The network interface to use can be specified with the .B --interface option. If this option is not present, .B arp-scan will search the system interface list for the lowest numbered, configured up interface (excluding loopback). By default, the ARP packets are sent to the Ethernet broadcast address, ff:ff:ff:ff:ff:ff, but that can be changed with the .B --destaddr option. .PP The target hosts to scan may be specified in one of three ways: by specifying the targets on the command line; by specifying a file containing the targets with the .B --file option; or by specifying the .B --localnet option which causes all possible hosts on the network attached to the interface (as defined by the interface address and mask) to be scanned. For hosts specified on the command line, or with the .B --file option, you can use either IP addresses or hostnames. You can also use network specifications .BR IPnetwork/bits , .BR IPstart-IPend , or .BR IPnetwork:NetMask . .PP The list of target hosts is stored in memory. Each host in this list uses 28 bytes of memory, so scanning a Class-B network (65,536 hosts) requires about 1.75MB of memory for the list, and scanning a Class-A (16,777,216 hosts) requires about 448MB. .PP .B arp-scan supports Ethernet and 802.11 wireless networks. It could also support token ring and FDDI, but they have not been tested. It does not support serial links such as PPP or SLIP, because ARP is not supported on them. .PP The ARP protocol is a layer-2 (datalink layer) protocol that is used to determine a host's layer-2 address given its layer-3 (network layer) address. ARP was designed to work with any layer-2 and layer-3 address format, but the most common use is to map IP addresses to Ethernet hardware addresses, and this is what .B arp-scan supports. ARP only operates on the local network, and cannot be routed. Although the ARP protocol makes use of IP addresses, it is not an IP-based protocol and .B arp-scan can be used on an interface that is not configured for IP. .PP ARP is only used by IPv4 hosts. IPv6 uses NDP (neighbour discovery protocol) instead, which is a different protocol and is not supported by .BR arp-scan . .PP One ARP packet is sent for each for each target host, with the target protocol address (the ar$tpa field) set to the IP address of this host. If a host does not respond, then the ARP packet will be re-sent once more. The maximum number of retries can be changed with the .B --retry option. Reducing the number of retries will reduce the scanning time at the possible risk of missing some results due to packet loss. .PP You can specify the bandwidth that .B arp-scan will use for the outgoing ARP packets with the .B --bandwidth option. By default, it uses a bandwidth of 256000 bits per second. Increasing the bandwidth will reduce the scanning time, but setting the bandwidth too high may result in an ARP storm which can disrupt network operation. Also, setting the bandwidth too high can send packets faster than the network interface can transmit them, which will eventually fill the kernel's transmit buffer resulting in the error message: .IR "No buffer space available" . Another way to specify the outgoing ARP packet rate is with the .B --interval option, which is an alternative way to modify the same underlying parameter. .PP The time taken to perform a single-pass scan (i.e. with .BR --retry=1 ) is given by: .PP .nf time = n*i + t + o .fi .PP Where .I n is the number of hosts in the list, .I i is the time interval between packets (specified with .BR --interval , or calculated from .BR --bandwidth ), .I t is the timeout value (specified with .BR --timeout ) and .I o is the overhead time taken to load the targets into the list and read the MAC/Vendor mapping files. For small lists of hosts, the timeout value will dominate, but for large lists the packet interval is the most important value. .PP With 65,536 hosts, the default bandwidth of 256,000 bits/second (which results in a packet interval of 2ms), the default timeout of 100ms, and a single pass ( .BR --retry=1 ), and assuming an overhead of 1 second, the scan would take 65536*0.002 + 0.1 + 1 = 132.172 seconds, or about 2 minutes 12 seconds. .PP Any part of the outgoing ARP packet may be modified through the use of the various .B --arpXXX options. The use of some of these options may make the outgoing ARP packet non RFC compliant. Different operating systems handle the various non standard ARP packets in different ways, and this may be used to fingerprint these systems. See .BR arp-fingerprint (1) for information about a script which uses these options to fingerprint the target operating system. .PP The table below summarises the options that change the outgoing ARP packet. In this table, the .I Field column gives the ARP packet field name from RFC 826, .I Bits specifies the number of bits in the field, .I Option shows the .B arp-scan option to modify this field, and .I Notes gives the default value and any other notes. .TS box; cB S S S LB | LB | LB | LB L | L | L | L. Outgoing ARP Packet Options = Field Bits Option Notes = ar$hrd 16 --arphrd Default is 1 (ARPHRD_ETHER) ar$pro 16 --arppro Default is 0x0800 ar$hln 8 --arphln Default is 6 (ETH_ALEN) ar$pln 8 --arppln Default is 4 (IPv4) ar$op 16 --arpop Default is 1 (ARPOP_REQUEST) ar$sha 48 --arpsha Default is interface h/w address ar$spa 32 --arpspa Default is interface IP address ar$tha 48 --arptha Default is zero (00:00:00:00:00:00) ar$tpa 32 None Set to the target host IP address .TE .\" We need two paragraphs under the table to get the correct spacing. .PP .PP The most commonly used outgoing ARP packet option is .BR --arpspa , which sets the source IP address in the ARP packet. This option allows the outgoing ARP packet to use a different source IP address from the outgoing interface address. With this option it is possible to use .B arp-scan on an interface with no IP address configured, which can be useful if you want to ensure that the testing host does not interact with the network being tested. .PP .B Warning: Setting ar$spa to the destination IP address can disrupt some .B operating systems, as they assume there is an IP address clash if they .B receive an ARP request for their own address. .PP It is also possible to change the values in the Ethernet frame header that precedes the ARP packet in the outgoing packets. The table below summarises the options that change values in the Ethernet frame header. .TS box; cB S S S LB | LB | LB | LB L | L | L | L. Outgoing Ethernet Frame Options = Field Bits Option Notes = Dest Address 48 --destaddr Default is ff:ff:ff:ff:ff:ff Source Address 48 --srcaddr Default is interface address Protocol Type 16 --prototype Default is 0x0806 .TE .\" We need two paragraphs under the table to get the correct spacing. .PP .PP The most commonly used outgoing Ethernet frame option is .BR --destaddr , which sets the destination Ethernet address for the ARP packet. .B --prototype is not often used, because it will cause the packet to be interpreted as a different Ethernet protocol. .PP Any ARP responses that are received are displayed in the following format: .TS ; L L L. .TE .PP Where .B IP Address is the IP address of the responding target, .B Hardware Address is its Ethernet hardware address (also known as the MAC address) and .B Vendor Details are the vendor details, decoded from the hardware address. The output fields are separated by a single tab character. .PP The responses are displayed in the order they are received, which is not always the same order as the requests were sent because some hosts may respond faster than others. .PP The vendor decoding uses the files .IR ieee-oui.txt , .I ieee-iab.txt and .IR mac-vendor.txt , which are supplied with .BR arp-scan . The .I ieee-oui.txt and .I ieee-iab.txt files are generated from the OUI and IAB data on the IEEE website at .I http://standards.ieee.org/regauth/oui/ieee-oui.txt and .IR http://standards.ieee.org/regauth/oui/iab.txt . The Perl scripts .B get-oui and .BR get-iab , which are included in the .B arp-scan package, can be used to update these files with the latest data from the IEEE website. The .I mac-vendor.txt file contains other MAC to Vendor mappings that are not covered by the IEEE OUI and IAB files, and can be used to add custom mappings. .PP Almost all hosts that support IP will respond to .B arp-scan if they receive an ARP packet with the target protocol address (ar$tpa) set to their IP address. This includes firewalls and other hosts with IP filtering that drop all IP traffic from the testing system. For this reason, .B arp-scan is a useful tool to quickly determine all the active IP hosts on a given Ethernet network segment. .SH OPTIONS Where an option takes a value, that value is specified as a letter in angle brackets. The letter indicates the type of data that is expected: .TP .B A character string, e.g. --file=hostlist.txt. .TP .B An integer, which can be specified as a decimal number or as a hexadecimal number if preceeded with 0x, e.g. --arppro=2048 or --arpro=0x0800. .TP .B A floating point decimal number, e.g. --backoff=1.5. .TP .B An Ethernet MAC address, which can be specified either in the format 01:23:45:67:89:ab, or as 01-23-45-67-89-ab. The alphabetic hex characters may be either upper or lower case. E.g. --arpsha=01:23:45:67:89:ab. .TP .B An IPv4 address, e.g. --arpspa=10.0.0.1 .TP .B Binary data specified as a hexadecimal string, which should not include a leading 0x. The alphabetic hex characters may be either upper or lower case. E.g. --padding=aaaaaaaaaaaa .TP .B Something else. See the description of the option for details. .TP .B --help or -h Display this usage message and exit. .TP .B --file= or -f Read hostnames or addresses from the specified file instead of from the command line. One name or IP address per line. Use "-" for standard input. .TP .B --localnet or -l Generate addresses from network interface configuration. Use the network interface IP address and network mask to generate the list of target host addresses. The list will include the network and broadcast addresses, so an interface address of 10.0.0.1 with netmask 255.255.255.0 would generate 256 target hosts from 10.0.0.0 to 10.0.0.255 inclusive. If you use this option, you cannot specify the --file option or specify any target hosts on the command line. The interface specifications are taken from the interface that arp-scan will use, which can be changed with the --interface option. .TP .B --retry= or -r Set total number of attempts per host to , default=2. .TP .B --timeout= or -t Set initial per host timeout to ms, default=100. This timeout is for the first packet sent to each host. subsequent timeouts are multiplied by the backoff factor which is set with --backoff. .TP .B --interval= or -i Set minimum packet interval to . This controls the outgoing bandwidth usage by limiting the rate at which packets can be sent. The packet interval will be no smaller than this number. If you want to use up to a given bandwidth, then it is easier to use the --bandwidth option instead. The interval specified is in milliseconds by default, or in microseconds if "u" is appended to the value. .TP .B --bandwidth= or -B Set desired outbound bandwidth to , default=256000. The value is in bits per second by default. If you append "K" to the value, then the units are kilobits per sec; and if you append "M" to the value, the units are megabits per second. The "K" and "M" suffixes represent the decimal, not binary, multiples. So 64K is 64000, not 65536. You cannot specify both --interval and --bandwidth because they are just different ways to change the same underlying parameter. .TP .B --backoff= or -b Set timeout backoff factor to , default=1.50. The per-host timeout is multiplied by this factor after each timeout. So, if the number of retries is 3, the initial per-host timeout is 500ms and the backoff factor is 1.5, then the first timeout will be 500ms, the second 750ms and the third 1125ms. .TP .B --verbose or -v Display verbose progress messages. Use more than once for greater effect: .IP "" 1 - Display the network address and mask used when the --localnet option is specified, display any nonzero packet padding, display packets received from unknown hosts, and show when each pass through the list completes. .IP "" 2 - Show each packet sent and received, when entries are removed from the list, the pcap filter string, and counts of MAC/Vendor mapping entries. .IP "" 3 - Display the host list before scanning starts. .TP .B --version or -V Display program version and exit. .TP .B --random or -R Randomise the host list. This option randomises the order of the hosts in the host list, so the ARP packets are sent to the hosts in a random order. It uses the Knuth shuffle algorithm. .TP .B --numeric or -N IP addresses only, no hostnames. With this option, all hosts must be specified as IP addresses. Hostnames are not permitted. No DNS lookups will be performed. .TP .B --snap= or -n Set the pcap snap length to . Default=64. This specifies the frame capture length. This length includes the data-link header. The default is normally sufficient. .TP .B --interface= or -I Use network interface . If this option is not specified, arp-scan will search the system interface list for the lowest numbered, configured up interface (excluding loopback). The interface specified must support ARP. .TP .B --quiet or -q Only display minimal output. If this option is specified, then only the minimum information is displayed. With this option, the OUI files are not used. .TP .B --ignoredups or -g Don't display duplicate packets. By default, duplicate packets are displayed and are flagged with "(DUP: n)". .TP .B --ouifile= or -O Use OUI file , default=/usr/local/share/arp-scan/ieee-oui.txt This file provides the IEEE Ethernet OUI to vendor string mapping. .TP .B --iabfile= or -F Use IAB file , default=/usr/local/share/arp-scan/ieee-iab.txt This file provides the IEEE Ethernet IAB to vendor string mapping. .TP .B --macfile= or -m Use MAC/Vendor file , default=/usr/local/share/arp-scan/mac-vendor.txt This file provides the custom Ethernet MAC to vendor string mapping. .TP .B --srcaddr= or -S Set the source Ethernet MAC address to . This sets the 48-bit hardware address in the Ethernet frame header for outgoing ARP packets. It does not change the hardware address in the ARP packet, see --arpsha for details on how to change that address. The default is the Ethernet address of the outgoing interface. .TP .B --destaddr= or -T Send the packets to Ethernet MAC address This sets the 48-bit destination address in the Ethernet frame header. The default is the broadcast address ff:ff:ff:ff:ff:ff. Most operating systems will also respond if the ARP request is sent to their MAC address, or to a multicast address that they are listening on. .TP .B --arpsha= or -u Use as the ARP source Ethernet address This sets the 48-bit ar$sha field in the ARP packet It does not change the hardware address in the frame header, see --srcaddr for details on how to change that address. The default is the Ethernet address of the outgoing interface. .TP .B --arptha= or -w Use as the ARP target Ethernet address This sets the 48-bit ar$tha field in the ARP packet The default is zero, because this field is not used for ARP request packets. .TP .B --prototype= or -y Set the Ethernet protocol type to , default=0x0806. This sets the 16-bit protocol type field in the Ethernet frame header. Setting this to a non-default value will result in the packet being ignored by the target, or sent to the wrong protocol stack. .TP .B --arphrd= or -H Use for the ARP hardware type, default=1. This sets the 16-bit ar$hrd field in the ARP packet. The normal value is 1 (ARPHRD_ETHER). Most, but not all, operating systems will also respond to 6 (ARPHRD_IEEE802). A few systems respond to any value. .TP .B --arppro= or -p Use for the ARP protocol type, default=0x0800. This sets the 16-bit ar$pro field in the ARP packet. Most operating systems only respond to 0x0800 (IPv4) but some will respond to other values as well. .TP .B --arphln= or -a Set the hardware address length to , default=6. This sets the 8-bit ar$hln field in the ARP packet. It sets the claimed length of the hardware address in the ARP packet. Setting it to any value other than the default will make the packet non RFC compliant. Some operating systems may still respond to it though. Note that the actual lengths of the ar$sha and ar$tha fields in the ARP packet are not changed by this option; it only changes the ar$hln field. .TP .B --arppln= or -P Set the protocol address length to , default=4. This sets the 8-bit ar$pln field in the ARP packet. It sets the claimed length of the protocol address in the ARP packet. Setting it to any value other than the default will make the packet non RFC compliant. Some operating systems may still respond to it though. Note that the actual lengths of the ar$spa and ar$tpa fields in the ARP packet are not changed by this option; it only changes the ar$pln field. .TP .B --arpop= or -o Use for the ARP operation, default=1. This sets the 16-bit ar$op field in the ARP packet. Most operating systems will only respond to the value 1 (ARPOP_REQUEST). However, some systems will respond to other values as well. .TP .B --arpspa= or -s Use as the source IP address. The address should be specified in dotted quad format; or the literal string "dest", which sets the source address to be the same as the target host address. This sets the 32-bit ar$spa field in the ARP packet. Some operating systems check this, and will only respond if the source address is within the network of the receiving interface. Others don't care, and will respond to any source address. By default, the outgoing interface address is used. .IP "" WARNING: Setting ar$spa to the destination IP address can disrupt some operating systems, as they assume there is an IP address clash if they receive an ARP request for their own address. .TP .B --padding= or -A Specify padding after packet data. Set the padding data to hex value . This data is appended to the end of the ARP packet, after the data. Most, if not all, operating systems will ignore any padding. The default is no padding, although the Ethernet driver on the sending system may pad the packet to the minimum Ethernet frame length. .TP .B --llc or -L Use RFC 1042 LLC framing with SNAP. This option causes the outgoing ARP packets to use IEEE 802.2 framing with a SNAP header as described in RFC 1042. The default is to use Ethernet-II framing. arp-scan will decode and display received ARP packets in either Ethernet-II or IEEE 802.2 formats irrespective of this option. .TP .B --vlan= or -Q Use 802.1Q tagging with VLAN id . This option causes the outgoing ARP packets to use 802.1Q VLAN tagging with a VLAN ID of , which should be in the range 0 to 4095 inclusive. arp-scan will always decode and display received ARP packets in 802.1Q format irrespective of this option. .TP .B --pcapsavefile= or -W Write received packets to pcap savefile . This option causes received ARP responses to be written to the specified pcap savefile as well as being decoded and displayed. This savefile can be analysed with programs that understand the pcap file format, such as "tcpdump" and "wireshark". .SH FILES .TP .I /usr/local/share/arp-scan/ieee-oui.txt List of IEEE OUI (Organisationally Unique Identifier) to vendor mappings. .TP .I /usr/local/share/arp-scan/ieee-iab.txt List of IEEE IAB (Individual Address Block) to vendor mappings. .TP .I /usr/local/share/arp-scan/mac-vendor.txt List of other Ethernet MAC to vendor mappings. .SH EXAMPLES The example below shows .B arp-scan being used to scan the network .I 192.168.0.0/24 using the network interface .IR eth0 . .PP .nf $ arp-scan --interface=eth0 192.168.0.0/24 Interface: eth0, datalink type: EN10MB (Ethernet) Starting arp-scan 1.4 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/) 192.168.0.1 00:c0:9f:09:b8:db QUANTA COMPUTER, INC. 192.168.0.3 00:02:b3:bb:66:98 Intel Corporation 192.168.0.5 00:02:a5:90:c3:e6 Compaq Computer Corporation 192.168.0.6 00:c0:9f:0b:91:d1 QUANTA COMPUTER, INC. 192.168.0.12 00:02:b3:46:0d:4c Intel Corporation 192.168.0.13 00:02:a5:de:c2:17 Compaq Computer Corporation 192.168.0.87 00:0b:db:b2:fa:60 Dell ESG PCBA Test 192.168.0.90 00:02:b3:06:d7:9b Intel Corporation 192.168.0.105 00:13:72:09:ad:76 Dell Inc. 192.168.0.153 00:10:db:26:4d:52 Juniper Networks, Inc. 192.168.0.191 00:01:e6:57:8b:68 Hewlett-Packard Company 192.168.0.251 00:04:27:6a:5d:a1 Cisco Systems, Inc. 192.168.0.196 00:30:c1:5e:58:7d HEWLETT-PACKARD 13 packets received by filter, 0 packets dropped by kernel Ending arp-scan: 256 hosts scanned in 3.386 seconds (75.61 hosts/sec). 13 responded .fi .PP This next example shows .B arp-scan being used to scan the local network after configuring the network interface with DHCP using .IR pump . .PP .nf # pump # ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:D0:B7:0B:DD:C7 inet addr:10.0.84.178 Bcast:10.0.84.183 Mask:255.255.255.248 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:46335 errors:0 dropped:0 overruns:0 frame:0 TX packets:1542776 errors:0 dropped:0 overruns:0 carrier:0 collisions:1644 txqueuelen:1000 RX bytes:6184146 (5.8 MiB) TX bytes:348887835 (332.7 MiB) # arp-scan --localnet Interface: eth0, datalink type: EN10MB (Ethernet) Starting arp-scan 1.4 with 8 hosts (http://www.nta-monitor.com/tools/arp-scan/) 10.0.84.179 00:02:b3:63:c7:57 Intel Corporation 10.0.84.177 00:d0:41:08:be:e8 AMIGO TECHNOLOGY CO., LTD. 10.0.84.180 00:02:b3:bd:82:9b Intel Corporation 10.0.84.181 00:02:b3:1f:73:da Intel Corporation 4 packets received by filter, 0 packets dropped by kernel Ending arp-scan 1.4: 8 hosts scanned in 0.820 seconds (9.76 hosts/sec). 4 responded .fi .SH AUTHOR Roy Hills .SH "SEE ALSO" .BR get-oui (1) .PP .BR get-iab (1) .PP .BR arp-fingerprint (1) .PP .B RFC 826 - An Ethernet Address Resolution Protocol .PP .I http://www.nta-monitor.com/wiki/ The arp-scan wiki page. .PP .I http://www.nta-monitor.com/tools/arp-scan/ The arp-scan homepage. arp-scan-1.8.1/utils.c0000664000175000017500000002572511512307725011472 00000000000000/* * The ARP Scanner (arp-scan) is Copyright (C) 2005-2011 Roy Hills, * NTA Monitor Ltd. * * This file is part of arp-scan. * * arp-scan is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * arp-scan is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with arp-scan. If not, see . * * You are encouraged to send comments, improvements or suggestions to * me at arp-scan@nta-monitor.com. * * $Id: utils.c 18078 2011-01-09 10:37:07Z rsh $ * * Author: Roy Hills * Date: 5 April 2004 * * This file contains various utility functions used by arp-scan. */ #include "arp-scan.h" static char rcsid[] = "$Id: utils.c 18078 2011-01-09 10:37:07Z rsh $"; /* RCS ID for ident(1) */ /* * timeval_diff -- Calculates the difference between two timevals * and returns this difference in a third timeval. * * Inputs: * * a = First timeval * b = Second timeval * diff = Difference between timevals (a - b). * * Returns: * * None. */ void timeval_diff(const struct timeval *a, const struct timeval *b, struct timeval *diff) { struct timeval temp; temp.tv_sec = b->tv_sec; temp.tv_usec = b->tv_usec; /* Perform the carry for the later subtraction by updating b. */ if (a->tv_usec < temp.tv_usec) { int nsec = (temp.tv_usec - a->tv_usec) / 1000000 + 1; temp.tv_usec -= 1000000 * nsec; temp.tv_sec += nsec; } if (a->tv_usec - temp.tv_usec > 1000000) { int nsec = (a->tv_usec - temp.tv_usec) / 1000000; temp.tv_usec += 1000000 * nsec; temp.tv_sec -= nsec; } /* Compute the time difference tv_usec is certainly positive. */ diff->tv_sec = a->tv_sec - temp.tv_sec; diff->tv_usec = a->tv_usec - temp.tv_usec; } /* * hstr_i -- Convert two-digit hex string to unsigned integer * * Inputs: * * cptr Two-digit hex string * * Returns: * * Number corresponding to input hex value. * * An input of "0A" or "0a" would return 10. * Note that this function does no sanity checking, it's up to the * caller to ensure that *cptr points to at least two hex digits. * * This function is a modified version of hstr_i at www.snippets.org. */ unsigned int hstr_i(const char *cptr) { unsigned int i; unsigned int j = 0; int k; for (k=0; k<2; k++) { i = *cptr++ - '0'; if (9 < i) i -= 7; j <<= 4; j |= (i & 0x0f); } return j; } /* * hex2data -- Convert hex string to binary data * * Inputs: * * string The string to convert * data_len (output) The length of the resultant binary data * * Returns: * * Pointer to the binary data. * * The returned pointer points to malloc'ed storage which should be * free'ed by the caller when it's no longer needed. If the length of * the input string is not even, the function will return NULL and * set data_len to 0. */ unsigned char * hex2data(const char *string, size_t *data_len) { unsigned char *data; unsigned char *cp; unsigned i; size_t len; if (strlen(string) %2 ) { /* Length is odd */ *data_len = 0; return NULL; } len = strlen(string) / 2; data = Malloc(len); cp = data; for (i=0; i -1 && n < (int) size) return p; /* Else try again with more space. */ if (n > -1) /* glibc 2.1 */ size = n+1; /* precisely what is needed */ else /* glibc 2.0 */ size *= 2; /* twice the old size */ p = Realloc (p, size); } } /* * hexstring -- Convert data to printable hex string form * * Inputs: * * string Pointer to input data. * size Size of input data. * * Returns: * * Pointer to the printable hex string. * * Each byte in the input data will be represented by two hex digits * in the output string. Therefore the output string will be twice * as long as the input data plus one extra byte for the trailing NULL. * * The pointer returned points to malloc'ed storage which should be * free'ed by the caller when it's no longer needed. */ char * hexstring(const unsigned char *data, size_t size) { char *result; char *r; const unsigned char *cp; unsigned i; /* * If the input data is NULL, return an empty string. */ if (data == NULL) { result = Malloc(1); result[0] = '\0'; return result; } /* * Create and return hex string. */ result = Malloc(2*size + 1); cp = data; r = result; for (i=0; i$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && cd $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(dist_check_SCRIPTS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA) config.h installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(pkgdatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(DEPDIR) ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dist_pkgdataDATA install-man install-dvi: install-dvi-am install-exec-am: install-binPROGRAMS install-dist_binSCRIPTS install-html: install-html-am install-info: install-info-am install-man: install-man1 install-man5 install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -rf $(DEPDIR) ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-dist_binSCRIPTS \ uninstall-dist_pkgdataDATA uninstall-man uninstall-man: uninstall-man1 uninstall-man5 .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am am--refresh check check-TESTS check-am \ clean clean-binPROGRAMS clean-generic ctags dist dist-all \ dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip distcheck \ distclean distclean-compile distclean-generic distclean-hdr \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ install-binPROGRAMS install-data install-data-am \ install-dist_binSCRIPTS install-dist_pkgdataDATA install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-man1 install-man5 install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-binPROGRAMS uninstall-dist_binSCRIPTS \ uninstall-dist_pkgdataDATA uninstall-man uninstall-man1 \ uninstall-man5 # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: arp-scan-1.8.1/INSTALL0000644000175000017500000002231010515602102011165 00000000000000Installation Instructions ************************* Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc. This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. Basic Installation ================== Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. Running `configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package. 4. Type `make install' to install the programs and any data files and documentation. 5. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX'. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Optional Features ================= Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to an Autoconf bug. Until the bug is fixed you can use this workaround: CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of the options to `configure', and exit. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. arp-scan-1.8.1/mac-vendor.txt0000664000175000017500000000404711007375610012751 00000000000000# $Id: mac-vendor.txt 13068 2008-05-04 18:08:05Z rsh $ # mac-vendor.txt -- Ethernet vendor file for arp-scan # # This file contains Ethernet vendor mappings for arp-scan. These are used # to determine the vendor for a give Ethernet interface given the MAC address. # # Each line of this file contains a MAC-vendor mapping in the form: # # # # Where is the prefix of the MAC address in hex, and # is the name of the vendor. The prefix can be of any length from two hex # digits (one octet) to twelve hex digits (six octets, the entire Ethernet # hardware address). # # For example: # # 012345 would match 01:23:45:xx:xx:xx, where xx represents any value; # 0123456 would match 01:23:45:6x:xx:xx; and # 01234567 would match 01:23:45:67:xx:xx. # # Do not include entries from the IEEE OUI or IAB listings, as these are # already in the files ieee-oui.txt and ieee-iab.txt, which are automatically # used by arp-scan. See get-oui(1) and get-iab(1) for details of how to # update the OUI and IAB listings. This file is for MAC addresses that are # not present in the IEEE listings. # # The alphabetic hex characters [A-F] must be entered in upper case. # # The order of entries in this file are not important. # # arp-scan will attempt to match larger prefixes before trying to match # smaller ones, and will stop at the first match. # # Blank lines and lines beginning with "#" are ignored. # # Additional information is available on the arp-scan wiki at # http://www.nta-monitor.com/wiki # # From nmap Debian bug report #369681 dated 31 May 2006 525400 QEMU B0C420 Bochs # From RFC 2338: 00-00-5E-00-01-{VRID} 00005E0001 VRRP (last octet is VRID) # Microsoft WLBS (Windows NT Load Balancing Service) # http://www.microsoft.com/technet/prodtechnol/acs/reskit/acrkappb.mspx 02BF Microsoft WLBS (last four octets are IP address) # Cisco HSRP (Hot Standby Routing Protocol) # 00-00-0c-07-ac-XX, where XX is the HSRP group number (0 to 255) 00000C07AC HSRP (last octet is group number) # Ethernet broadcast address FFFFFFFFFFFF Broadcast arp-scan-1.8.1/install-sh0000755000175000017500000003160010515602102012142 00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2006-10-14.15 # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # 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 # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" posix_glob= posix_mkdir= # Desired mode of installed file. mode=0755 chmodcmd=$chmodprog chowncmd= chgrpcmd= stripcmd= rmcmd="$rmprog -f" mvcmd="$mvprog" src= dst= dir_arg= dstarg= no_target_directory= usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: -c (ignored) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. --help display this help and exit. --version display version info and exit. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) shift continue;; -d) dir_arg=true shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; --help) echo "$usage"; exit $?;; -m) mode=$2 shift shift case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -s) stripcmd=$stripprog shift continue;; -t) dstarg=$2 shift shift continue;; -T) no_target_directory=true shift continue;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac done if test $# -ne 0 && test -z "$dir_arg$dstarg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dstarg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dstarg" shift # fnord fi shift # arg dstarg=$arg done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src ;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dstarg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dstarg # Protect names starting with `-'. case $dst in -*) dst=./$dst ;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dstarg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix=/ ;; -*) prefix=./ ;; *) prefix= ;; esac case $posix_glob in '') if (set -f) 2>/dev/null; then posix_glob=true else posix_glob=false fi ;; esac oIFS=$IFS IFS=/ $posix_glob && set -f set fnord $dstdir shift $posix_glob && set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # Now rename the file to the real destination. { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \ || { # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { if test -f "$dst"; then $doit $rmcmd -f "$dst" 2>/dev/null \ || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \ && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\ || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } else : fi } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } } || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: arp-scan-1.8.1/AUTHORS0000664000175000017500000000017310605653500011221 00000000000000$Id: AUTHORS 10531 2007-04-07 08:33:02Z rsh $ The author of the arp-scan tool is: Roy Hills arp-scan-1.8.1/pkt-custom-request.dat0000644000175000017500000000005211521053155014427 00000000000000""""""33DDUUfwˆˆ™™™™™™ªªªª»»»»»»ÌÌÌÌ