Provides read/write access to driver settings and convenience features based on the request variable. 
 
 * `G_UTIL_TIMEOUT_OVERRIDE` See GTimeout(). Write/Read override timeout value. * `memory1` is input. If nonnull, value must be a pointer to a short which overrides the timeout. Write `G_USE_INITIAL_TIMEOUT` to use initial timeout. If null, no write occurs. * `memory2` is output. If nonnul, value must be a pointer to a short which will be filled with the current override. `G_USE_INITIAL_TIMEOUT` indicates initial timeout used. If null, no read occurs. `memory2` is processed before 'memory1`. * `G_UTIL_VERSION` See GVersion(). Returns the library version. A valid connection (g) is not necessary, e.g. g may be null. * `memory1` is output, and must be a `GCStringOut`. Data will be null terminated, even if the data must be truncated to do so. * `memory2` is input and must be a pointer to a `GSize` holding the length of the buffer in `memory1`. * `G_UTIL_INFO` See GInfo(). Returns information about the connection. * `memory1` is output and must be a `GCStringOut`. Data will be null terminated, even if the data must be truncated to do so. * `memory2` is input and must be a pointer to a `GSize` holding the length of the buffer in `memory1`. * `G_UTIL_SLEEP` See GSleep(). Platform-independent sleep. A valid connection (g) is not necessary, i.e. g may be null. * `memory1` is input and must be a pointer to an unsigned int, units are milliseconds. * `memory2` is ignored, use null. * `G_UTIL_ADDRESSES` Provides a \n delimited listing of all available IP addresses, PCI addresses, and COM ports. A valid connection (g) is not necessary, i.e. g may be null. * `memory1` is output and must be a `GCStringOut`. Data will be null terminated, even if the data must be truncated to do so. * `memory2` is input and must be a pointer to a `GSize` holding the length of the buffer in `memory1`. * `G_UTIL_IPREQUEST` Listens and returns a \n delimited listing of Galil MAC addresses sending BOOT-P or DHCP requests. The function will listen, and block, for roughly 5 seconds. A valid connection (g) is not necessary, i.e. g may be null. * `memory1` is output and must be a `GCStringOut`. Data will be null terminated, even if the data must be truncated to do so. * `memory2` is input and must be a pointer to a `GSize` holding the length of the buffer in `memory1`. * `G_UTIL_ASSIGN` Provides a method to assign an IP address given a Galil MAC address and optionally a host NIC IP address. A valid connection (g) is not necessary, i.e. g may be null. The address to assign will be pinged to ensure its availability before the assign packet is sent. `G_GCLIB_UTILITY_IP_TAKEN` will be returned by GUtility() if the ping returns a response. * `memory1` is input and must be a pointer to a `GCStringIn` containing the address that is to be assigned. e.g. `"192.168.0.43"` * `memory2` is input and must be a pointer to a `GCStringIn` containing a comma-separated list with the controller's MAC address, followed by the IP address of the host's network interface to dispatch the assign packet. e.g. `"00:50:4C:20:01:23, 192.168.0.42"` 
 
 See source of gclibo.c for examples of `G_UTIL_TIMEOUT`, `G_UTIL_TIMEOUT_OVERRIDE`, `G_UTIL_VERSION`, `G_UTIL_INFO`, `G_UTIL_SLEEP`. Except for serial ports, each line from `G_UTIL_ADDRESSES` will be of the form *address, revision report (^R^V)*.  {.unparsed}
  10.1.3.168, DMC30010 Rev 1.2d
  GALILPCI1, DMC1826 Rev 1.1a
  COM7
  COM8
See GAddresses() for an example of `G_UTIL_ADDRESSES`. 
 Each line from `G_UTIL_IPREQUEST` will be of the form *model, serial_number, mac*.  {.unparsed}
  DMC4000, 291, 00:50:4c:20:01:23
  DMC30000, 4184, 00:50:4c:40:10:58
 {.cpp}
  //example for getting controllers requesting IPs
  char buf[1024];
  GSize len = sizeof(buf);
  GUtility(0, G_UTIL_IPREQUEST, buf, &len);
  cout << buf << "\n";
  {.cpp}
  //example of assigning an IP address.
  GUtility(0, G_UTIL_ASSIGN, "10.1.3.178", "00:50:4c:40:10:58"); //Assign 10.1.3.178 TO 00:50:4c:40:10:58
Referenced by GAddresses(), GAssign(), GInfo(), GIpRequests(), GSleep(), GTimeout(), and GVersion().  | 
  
 1.6.1