static int do_test (void) { setup_interface (); static const char *test_addresses[] = { "::", "::1", "2001:db8::1", NULL }; for (int i = 0; test_addresses[i] != NULL; ++i) { expect_success (test_addresses[i], "0", 0); expect_success (test_addresses[i], "5555", 5555); expect_failure (test_addresses[i], ""); expect_failure (test_addresses[i], "-1"); expect_failure (test_addresses[i], "-99"); expect_failure (test_addresses[i], "037777777777"); expect_failure (test_addresses[i], "0x"); expect_failure (test_addresses[i], "0x1"); } if (interface_name != NULL) { expect_success ("fe80::1", interface_name, interface_index); expect_success ("ff02::1", interface_name, interface_index); expect_failure ("::", interface_name); expect_failure ("::1", interface_name); expect_failure ("ff01::1", interface_name); expect_failure ("2001:db8::1", interface_name); } return 0; }
int main( int argc, char **argv ) { int ret; gtk_init( &argc, &argv ); if( !(ret = setup_interface()) ) gtk_main(); return ret; }
/** . \n\b Arguments: \n\b Returns: ****************************************************************************/ struct open_gpib_mstr *open_gpib(uint32_t ctype, int gpib_addr, char *dev_path, int buf_size) { struct open_gpib_mstr *open_gpibm; char *buf; uint32_t debug=OPTION_EXTRACT_DEBUG(ctype); fprintf(stderr,"OpenGPIB Version %s\n",PACKAGE_VERSION); if(NULL == dev_path){ fprintf(stderr,"Device name is NULL. Must specify device.\n"); return NULL; } if(NULL == (open_gpibm=malloc(sizeof( struct open_gpib_mstr)) ) ){ fprintf(stderr,"Out of mem on gpib alloc\n"); return NULL; } memset(open_gpibm,0,sizeof( struct open_gpib_mstr)); open_gpibm->addr=gpib_addr; if(0>= buf_size) buf_size=8096; /**make sure it's a 8-byte multiple, so we stop on largest data boundry */ buf_size=((buf_size+7)/8)*8; if(NULL == (buf=malloc(buf_size) ) ){ fprintf(stderr,"Out of mem on buf size of %d\n",buf_size); free(open_gpibm); return NULL; } open_gpibm->buf=buf; open_gpibm->buf_len=buf_size; /*fprintf(stderr,"Using %d buf size\n",open_gpibp->buf_len); */ open_gpibm->type_ctl=ctype; /**set up the controller and interface. FIXME Replace with config file. */ switch(ctype&CONTROLLER_TYPEMASK){ case GPIB_CTL_PROLOGIXS: if(NULL == (open_gpibm->ctl=find_and_register_if("prologixs",OPEN_GPIB_REG_TYPE_CONTROLLER,debug,buf,buf_size)) ) goto err; if(NULL == (open_gpibm->ctl->dev=find_and_register_if("serial",OPEN_GPIB_REG_TYPE_TRANSPORT,debug,buf,buf_size))) goto err; if(setup_interface(open_gpibm->ctl,5000, gpib_addr,dev_path)) return NULL; break; case GPIB_CTL_HP16500C: if(NULL == (open_gpibm->ctl=find_and_open("hp16500cip",OPEN_GPIB_REG_TYPE_CONTROLLER, debug, 5000, gpib_addr,dev_path,open_gpibm->buf,buf_size))) goto err; break; case GPIB_CTL_FILEIO: if(NULL == (open_gpibm->ctl=find_and_open("fileio",OPEN_GPIB_REG_TYPE_CONTROLLER, debug, 5000, gpib_addr,dev_path,open_gpibm->buf,buf_size))) goto err1; break; default: fprintf(stderr,"Unknown controller %d\n",ctype&CONTROLLER_TYPEMASK); goto err1; break; } return open_gpibm; err: if(NULL != open_gpibm->ctl) open_gpibm->ctl->funcs.og_close(open_gpibm->ctl); err1: free(open_gpibm); return NULL; }
boolean_t wanboot_init_interface(char *boot_arguments) { boolean_t interactive; int which; #if defined(__sparcv9) /* * Get the keys from PROM before we allow the user * to override them from the CLI. */ get_prom_encr_keys(); get_prom_hash_keys(); #endif /* defined(__sparcv9) */ /* * If there is already a bootp-response property under * /chosen then the PROM must have done DHCP for us; * invoke dhcp() to 'bind' the interface. */ if (bootinfo_get(BI_BOOTP_RESPONSE, NULL, NULL, NULL) == BI_E_BUF2SMALL) { (void) cldhcp(NULL, NULL, 0); } /* * Obtain default interface values from bootinfo. */ bootinfo_defaults(CLF_IF); /* * Process the boot arguments (following the "-o" option). */ if (boot_arguments != NULL) { (void) cli_eval_buf(boot_arguments, (CLF_ARG | CLF_IF | CLF_BM)); } /* * Stash away any interface/bootmisc parameter values we got * from either the PROM or the boot arguments. */ update_bootinfo(CLF_IF | CLF_BM); /* * If we don't already have a value for bootserver, try to * deduce one. Refresh wbcli's idea of these values. */ determine_bootserver_url(); bootinfo_defaults(CLF_BM); /* * Check that the information we have collected thus far is sufficient. */ interactive = args_specified_prompt; if (interactive) { /* * Drop into the boot interpreter to allow the input * of keys, bootserver and bootmisc, and in the case * that net-config-strategy == "manual" the interface * parameters. */ which = CLF_BM | CLF_CMD; if (strcmp(net_config_strategy(), "manual") == 0) which |= CLF_IF; do { cli_interpret(which); update_bootinfo(CLF_IF | CLF_BM); } while (config_incomplete(CLF_IF, interactive)); } else { /* * The user is not to be given the opportunity to * enter further values; fail. */ if (config_incomplete(CLF_IF, interactive)) { bootlog("wanboot", BOOTLOG_CRIT, "interface incorrectly configured"); return (B_FALSE); } } /* * If a wanboot-enabled PROM hasn't processed client-id in * network-boot-arguments, or no value for client-id has been * specified to the boot interpreter, then provide a default * client-id based on our MAC address. */ generate_default_clientid(); /* * If net-config-strategy == "manual" then we must setup * the interface now; if "dhcp" then it will already have * been setup. */ if (strcmp(net_config_strategy(), "manual") == 0) setup_interface(); return (B_TRUE); }