本文整理汇总了C++中do_init函数的典型用法代码示例。如果您正苦于以下问题:C++ do_init函数的具体用法?C++ do_init怎么用?C++ do_init使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了do_init函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
/*======================================
* CORE : MAINROUTINE
*--------------------------------------*/
int main (int argc, char **argv)
{
{// initialize program arguments
char *p1;
if((p1 = strrchr(argv[0], '/')) != NULL || (p1 = strrchr(argv[0], '\\')) != NULL ){
char *pwd = NULL; //path working directory
int n=0;
SERVER_NAME = ++p1;
n = p1-argv[0]; //calc dir name len
pwd = safestrncpy(malloc(n + 1), argv[0], n);
if(chdir(pwd) != 0)
ShowError("Couldn't change working directory to %s for %s, runtime will probably fail",pwd,SERVER_NAME);
free(pwd);
}
}
malloc_init();// needed for Show* in display_title() [FlavioJS]
#ifdef MINICORE // minimalist Core
display_title();
usercheck();
do_init(argc,argv);
do_final();
#else// not MINICORE
set_server_type();
display_title();
usercheck();
Sql_Init();
rathread_init();
mempool_init();
db_init();
signals_init();
#ifdef _WIN32
cevents_init();
#endif
timer_init();
socket_init();
do_init(argc,argv);
// Main runtime cycle
while (runflag != CORE_ST_STOP) {
int next = do_timer(gettick_nocache());
do_sockets(next);
}
do_final();
timer_final();
socket_final();
db_final();
mempool_final();
rathread_final();
ers_final();
#endif
malloc_final();
return 0;
}
示例2: init_clcs_conditions
void init_clcs_conditions(){do_init(VV);}
示例3: do_print_vir
/*打印辅存*/
void do_print_vir()
{
int i;
char temp_byte;
FILE* p = fopen("vmm_auxMem","r");
printf("print virtual memory\n");
for(i = 0;i < VIRTUAL_MEMORY_SIZE;i++){
printf("%c",fgetc(p));
}
/*while((temp_byte = fgetc(p)) != EOF){
printf("%c",temp_byte);
}*/
/* 获取页面保护类型字符串 */
char *get_proType_str(char *str, BYTE type)
{
if (type & READABLE)
str[0] = 'r';
else
str[0] = '-';
if (type & WRITABLE)
str[1] = 'w';
else
str[1] = '-';
if (type & EXECUTABLE)
str[2] = 'x';
else
str[2] = '-';
str[3] = '\0';
return str;
}
int main(int argc, char* argv[])
{
char c;
int i;
int fifo2;
int count;
cmd req;
struct stat statbuf;
req.RT=NOR;
if(stat("/tmp/doreq",&statbuf)==0){
/* 如果FIFO文件存在,删掉 */
if(remove("/tmp/doreq")<0)
printf("remove failed\n");
}
if(mkfifo("/tmp/doreq",0666)<0)
printf("mkfifo failed\n");
/* 在非阻塞模式下打开FIFO */
if((fifo2=open("/tmp/doreq",O_RDONLY|O_NONBLOCK))<0)
printf("open fifo failed\n");
if (!(ptr_auxMem = fopen(AUXILIARY_MEMORY, "r+")))
{
do_error(ERROR_FILE_OPEN_FAILED);
exit(1);
}
do_init();
do_print_info();
ptr_memAccReq = (Ptr_MemoryAccessRequest) malloc(sizeof(MemoryAccessRequest));
/* 在循环中模拟访存请求与处理过程 */
while (TRUE)
{
if((count=read(fifo2,&req,CMDLEN))<0)
printf("read fifo failed\n");
switch(req.RT){
case REQUEST: printf("addr=%ld\n",req.virAddr);
do_request(req);req.RT=NOR;
break;
//case RESPONSE:printf("aaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\n");
//do_response();req.RT=NOR;
//break;
default:
break;
}
do_response();
printf("按Y打印页表,按其他键不打印...\n");
if ((c = getchar()) == 'y' || c == 'Y')
do_print_info();
while (c != '\n')
c = getchar();
printf("按A打印实存,按其他键不打印...\n");
if ((c = getchar()) == 'a' || c == 'A')
do_print_act();
while (c != '\n')
c = getchar();
printf("按V打印辅存,按其他键不打印...\n");
if ((c = getchar()) == 'v' || c == 'V')
do_print_vir();
while (c != '\n')
c = getchar();
printf("按X退出程序,按其他键继续...\n");
if ((c = getchar()) == 'x' || c == 'X')
break;
while (c != '\n')
c = getchar();
//sleep(5000);
//.........这里部分代码省略.........
示例4: main
//.........这里部分代码省略.........
fprintf(stderr, "Couldn't parse input from %s.\n", source);
exit_code = -EINVAL;
goto bail;
}
if (safe_str_eq(cib_action, "md5-sum")) {
char *digest = NULL;
if (input == NULL) {
fprintf(stderr, "Please supply XML to process with -X, -x or -p\n");
exit_code = -EINVAL;
goto bail;
}
digest = calculate_on_disk_digest(input);
fprintf(stderr, "Digest: ");
fprintf(stdout, "%s\n", crm_str(digest));
free(digest);
goto bail;
} else if (safe_str_eq(cib_action, "md5-sum-versioned")) {
char *digest = NULL;
const char *version = NULL;
if (input == NULL) {
fprintf(stderr, "Please supply XML to process with -X, -x or -p\n");
exit_code = -EINVAL;
goto bail;
}
version = crm_element_value(input, XML_ATTR_CRM_VERSION);
digest = calculate_xml_versioned_digest(input, FALSE, TRUE, version);
fprintf(stderr, "Versioned (%s) digest: ", version);
fprintf(stdout, "%s\n", crm_str(digest));
free(digest);
goto bail;
}
exit_code = do_init();
if (exit_code != pcmk_ok) {
crm_err("Init failed, could not perform requested operations");
fprintf(stderr, "Init failed, could not perform requested operations\n");
return crm_exit(-exit_code);
}
exit_code = do_work(input, command_options, &output);
if (exit_code > 0) {
/* wait for the reply by creating a mainloop and running it until
* the callbacks are invoked...
*/
request_id = exit_code;
the_cib->cmds->register_callback(the_cib, request_id, message_timeout_ms, FALSE, NULL,
"cibadmin_op_callback", cibadmin_op_callback);
mainloop = g_main_new(FALSE);
crm_trace("%s waiting for reply from the local CIB", crm_system_name);
crm_info("Starting mainloop");
g_main_run(mainloop);
} else if (exit_code < 0) {
crm_err("Call failed: %s", pcmk_strerror(exit_code));
fprintf(stderr, "Call failed: %s\n", pcmk_strerror(exit_code));
operation_status = exit_code;
if (exit_code == -pcmk_err_schema_validation) {
if (crm_str_eq(cib_action, CIB_OP_UPGRADE, TRUE)) {
xmlNode *obj = NULL;
int version = 0, rc = 0;
rc = the_cib->cmds->query(the_cib, NULL, &obj, command_options);
if (rc == pcmk_ok) {
update_validation(&obj, &version, 0, TRUE, FALSE);
}
} else if (output) {
validate_xml_verbose(output);
}
}
}
if (output != NULL) {
print_xml_output(output);
free_xml(output);
}
crm_trace("%s exiting normally", crm_system_name);
free_xml(input);
flag = the_cib->cmds->signoff(the_cib);
cib_delete(the_cib);
if(exit_code == pcmk_ok) {
exit_code = flag;
}
bail:
return crm_exit(exit_code);
}
示例5: main
/*======================================
* CORE : MAINROUTINE
*--------------------------------------*/
int main (int argc, char **argv)
{
{// Inicializa os argumentos do programa
char *p1 = SERVER_NAME = argv[0];
char *p2 = p1;
while ((p1 = strchr(p2, '/')) != NULL || (p1 = strchr(p2, '\\')) != NULL)
{
SERVER_NAME = ++p1;
p2 = p1;
}
arg_c = argc;
arg_v = argv;
}
// Não precisamos chamar o malloc_init se o Memory Manager não está ativo [Keoy]
#ifdef USE_MEMMGR
malloc_init(); // needed for Show* in display_title() [FlavioJS]
#endif
#ifdef MINICORE // minimalist Core
display_title();
#ifndef _WIN32
usercheck();
#endif
do_init(argc,argv);
do_final();
#else// not MINICORE
set_server_type(); // Define o tipo de servidor (função exclusiva de cada servidor)
display_title(); // Mostra o título
// Não precisamos verificar se estamos em root se não estamos em um sistema WIN32 [Keoy]
#ifndef _WIN32
usercheck();
#endif
db_init();
signals_init();
timer_init();
socket_init();
plugins_init();
do_init(argc,argv); // Inicializa as funções do servidor
plugin_event_trigger(EVENT_ATHENA_INIT); // Evento inicial dos plugins
{// Ciclo principal do servidor
int next;
// Enquanto a runflag for verdadeira (1) o servidor rodará, do contrário entrará em processo de finalização
while (runflag) {
next = do_timer(gettick_nocache());
do_sockets(next);
}
}
plugin_event_trigger(EVENT_ATHENA_FINAL); // Evento final dos plugins
do_final();
timer_final();
plugins_final();
socket_final();
db_final();
#endif
// Não precisamos chamar o malloc_init se o Memory Manager não está ativo [Keoy]
#ifdef USE_MEMMGR
malloc_final();
#endif
return 0;
}
示例6: do_open
/*
* Opes connection to an LDAP server
* uri must be one URI
*/
static int do_open (LDAP **ld, const char* uri, int defport, ldap_ssl_options_t ssl_on_local)
{
#if defined(LDAP_OPT_NETWORK_TIMEOUT) || defined(HAVE_LDAP_START_TLS)
struct timeval tv;
#endif
#ifdef HAVE_LDAP_START_TLS
struct timeval *tvp;
LDAPMessage *res = NULL;
int msgid;
#endif
int rc;
rc = do_init (ld, uri, defport);
if (rc != LDAP_SUCCESS)
{
DBG("do_open(): do_init failed");
return rc;
}
if( ! *ld)
{
DBG("do_open(): internal error - assert (*ld != NULL)");
return(-2);
}
#if defined(HAVE_LDAP_SET_OPTION) && defined(LDAP_OPT_PROTOCOL_VERSION)
ldap_set_option (*ld, LDAP_OPT_PROTOCOL_VERSION, &ldapVersion);
#endif /* LDAP_OPT_PROTOCOL_VERSION */
#if defined(HAVE_LDAP_SET_OPTION) && defined(LDAP_OPT_NETWORK_TIMEOUT)
/* ldap_set_option (*ld, LDAP_OPT_NETWORK_TIMEOUT, &timeout); */
rc = ldap_set_option(*ld, LDAP_OPT_NETWORK_TIMEOUT, &timeout);
if ( rc != LDAP_SUCCESS ) {
DBG2("Warning: failed to set connection timeout to %d: %s", timeout, ldap_err2string(rc));
} else
DBG1("Set connection timeout to %d", timeout);
#endif /* LDAP_OPT_NETWORK_TIMEOUT */
#if defined(HAVE_LDAP_SET_OPTION) && defined(LDAP_OPT_NETWORK_TIMEOUT)
tv.tv_sec = bind_timelimit;
tv.tv_usec = 0;
ldap_set_option (*ld, LDAP_OPT_NETWORK_TIMEOUT, &tv);
#endif /* LDAP_OPT_NETWORK_TIMEOUT */
#if defined(HAVE_LDAP_START_TLS_S) || defined(HAVE_LDAP_START_TLS)
if (ssl_on_local == SSL_START_TLS)
{
int version;
/* we need V3 at least */
if (ldap_get_option(*ld, LDAP_OPT_PROTOCOL_VERSION,
&version) == LDAP_OPT_SUCCESS)
{
if (ldapVersion < LDAP_VERSION3)
{
ldapVersion = LDAP_VERSION3;
ldap_set_option (*ld, LDAP_OPT_PROTOCOL_VERSION,
&ldapVersion);
}
}
/* set up SSL context */
if (do_ssl_options (*ld) != LDAP_SUCCESS)
{
ldap_unbind (*ld);
DBG("do_open(): SSL setup failed");
return LDAP_UNAVAILABLE;
}
#ifdef HAVE_LDAP_START_TLS
DBG("do_open(): do_start_tls");
rc = ldap_start_tls (*ld, NULL, NULL, &msgid);
if (rc != LDAP_SUCCESS)
{
DBG1("do_open(): ldap_start_tls failed: %s", ldap_err2string (rc));
return rc;
}
if (bind_timelimit == LDAP_NO_LIMIT)
{
tvp = NULL;
}
else
{
tv.tv_sec = bind_timelimit;
tv.tv_usec = 0;
tvp = &tv;
}
rc = ldap_result (*ld, msgid, 1, tvp, &res);
if (rc == -1)
//.........这里部分代码省略.........
示例7: cmd_version
void cmd_version(UBool noLoad)
{
UVersionInfo icu;
char str[200];
printf("<ICUINFO>\n");
printf("International Components for Unicode for C/C++\n");
printf("%s\n", U_COPYRIGHT_STRING);
printf("Compiled-Version: %s\n", U_ICU_VERSION);
u_getVersion(icu);
u_versionToString(icu, str);
printf("Runtime-Version: %s\n", str);
printf("Compiled-Unicode-Version: %s\n", U_UNICODE_VERSION);
u_getUnicodeVersion(icu);
u_versionToString(icu, str);
printf("Runtime-Unicode-Version: %s\n", U_UNICODE_VERSION);
printf("Platform: %s\n", getPlatform());
#if defined(U_BUILD)
printf("Build: %s\n", U_BUILD);
#if defined(U_HOST)
if(strcmp(U_BUILD,U_HOST)) {
printf("Host: %s\n", U_HOST);
}
#endif
#endif
#if defined(U_CC)
printf("C compiler: %s\n", U_CC);
#endif
#if defined(U_CXX)
printf("C++ compiler: %s\n", U_CXX);
#endif
#if defined(CYGWINMSVC)
printf("Cygwin: CYGWINMSVC\n");
#endif
printf("ICUDATA: %s\n", U_ICUDATA_NAME);
do_init();
printf("Data Directory: %s\n", u_getDataDirectory());
printf("ICU Initialization returned: %s\n", u_errorName(initStatus));
printf( "Default locale: %s\n", uloc_getDefault());
{
UErrorCode subStatus = U_ZERO_ERROR;
ulocdata_getCLDRVersion(icu, &subStatus);
if(U_SUCCESS(subStatus)) {
u_versionToString(icu, str);
printf("CLDR-Version: %s\n", str);
} else {
printf("CLDR-Version: %s\n", u_errorName(subStatus));
}
}
#if !UCONFIG_NO_CONVERSION
if(noLoad == FALSE)
{
printf("Default converter: %s\n", ucnv_getDefaultName());
}
#endif
#if !UCONFIG_NO_FORMATTING
{
UChar buf[100];
char buf2[100];
UErrorCode subsubStatus= U_ZERO_ERROR;
int32_t len;
len = ucal_getDefaultTimeZone(buf, 100, &subsubStatus);
if(U_SUCCESS(subsubStatus)&&len>0) {
u_UCharsToChars(buf, buf2, len+1);
printf("Default TZ: %s\n", buf2);
} else {
printf("Default TZ: %s\n", u_errorName(subsubStatus));
}
}
{
UErrorCode subStatus = U_ZERO_ERROR;
const char *tzVer = ucal_getTZDataVersion(&subStatus);
if(U_FAILURE(subStatus)) {
tzVer = u_errorName(subStatus);
}
printf("TZ data version: %s\n", tzVer);
}
#endif
#if U_ENABLE_DYLOAD
const char *pluginFile = uplug_getPluginFile();
printf("Plugin file is: %s\n", (pluginFile&&*pluginFile)?pluginFile:"(not set. try setting ICU_PLUGINS to a directory.)");
#else
fprintf(stderr, "Dynamic Loading: is disabled. No plugins will be loaded at start-up.\n");
#endif
printf("</ICUINFO>\n\n");
}
示例8: init_pcl_fngen
void init_pcl_fngen(){do_init(VV);}
示例9: init_pcl_gazonk6
void init_pcl_gazonk6(){do_init(VV);}
示例10: cmd_listplugins
void cmd_listplugins() {
int32_t i;
UPlugData *plug;
do_init();
printf("ICU Initialized: u_init() returned %s\n", u_errorName(initStatus));
printf("Plugins: \n");
printf( "# %6s %s \n",
"Level",
"Name" );
printf( " %10s:%-10s\n",
"Library",
"Symbol"
);
printf( " config| (configuration string)\n");
printf( " >>> Error | Explanation \n");
printf( "-----------------------------------\n");
for(i=0;(plug=uplug_getPlugInternal(i))!=NULL;i++) {
UErrorCode libStatus = U_ZERO_ERROR;
const char *name = uplug_getPlugName(plug);
const char *sym = uplug_getSymbolName(plug);
const char *lib = uplug_getLibraryName(plug, &libStatus);
const char *config = uplug_getConfiguration(plug);
UErrorCode loadStatus = uplug_getPlugLoadStatus(plug);
const char *message = NULL;
printf("\n#%d %-6s %s \n",
i+1,
udbg_enumName(UDBG_UPlugLevel,(int32_t)uplug_getPlugLevel(plug)),
name!=NULL?(*name?name:"this plugin did not call uplug_setPlugName()"):"(null)"
);
printf(" plugin| %10s:%-10s\n",
(U_SUCCESS(libStatus)?(lib!=NULL?lib:"(null)"):u_errorName(libStatus)),
sym!=NULL?sym:"(null)"
);
if(config!=NULL&&*config) {
printf(" config| %s\n", config);
}
switch(loadStatus) {
case U_PLUGIN_CHANGED_LEVEL_WARNING:
message = "Note: This plugin changed the system level (by allocating memory or calling something which does). Later plugins may not load.";
break;
case U_PLUGIN_DIDNT_SET_LEVEL:
message = "Error: This plugin did not call uplug_setPlugLevel during QUERY.";
break;
case U_PLUGIN_TOO_HIGH:
message = "Error: This plugin couldn't load because the system level was too high. Try loading this plugin earlier.";
break;
case U_ZERO_ERROR:
message = NULL; /* no message */
break;
default:
if(U_FAILURE(loadStatus)) {
message = "error loading:";
} else {
message = "warning during load:";
}
}
if(message!=NULL) {
printf("\\\\\\ status| %s\n"
"/// %s\n", u_errorName(loadStatus), message);
}
}
if(i==0) {
printf("No plugins loaded.\n");
}
}
示例12: main
int main() {
XStatus Status;
u32 btnsw = 0x00000000, old_btnsw = 0x000000FF, diff_btnsw;
u32 leds;
int rotcnt, old_rotcnt;
Test_t test;
ParamSel_t param_select;
bool wrlcd_dynamic;
bool wrlcd_static;
// initialize devices and set up interrupts, etc.
Status = do_init();
if (Status != XST_SUCCESS) {
LCD_setcursor(1, 0);
LCD_wrstring("****** ERROR *******");
LCD_setcursor(2, 0);
LCD_wrstring("INIT FAILED- EXITING");
exit(XST_FAILURE);
}
// initialize the global variables
timestamp = 0;
pwm_freq = PWM_FREQUENCY_HZ;
pwm_duty = PWM_STEPDC_MIN;
// initialize the local variables
btnsw = 0x00;
old_btnsw = 0x00;
rotcnt = 0;
old_rotcnt = 0;
param_select = SLCT_GP;
wrlcd_dynamic = true;
wrlcd_static = true;
leds = LEDS_ALLOFF;
_prev_button_down_count = 0;
// Enable the Microblaze caches and
// kick off the processing by enabling the Microblaze interrupt
// this starts the FIT timer which updates the timestamp.
if (USE_ICACHE == 1) {
microblaze_invalidate_icache();
microblaze_enable_icache();
}
if (USE_DCACHE == 1) {
microblaze_invalidate_dcache();
microblaze_enable_dcache();
}
microblaze_enable_interrupts();
// display the greeting
LCD_setcursor(1, 0);
LCD_wrstring("ECE544 Project 2");
LCD_setcursor(2, 0);
LCD_wrstring("Starter App-R5.0");
NX3_writeleds(LEDS_ALLON);
delay_msecs(2000);
NX3_writeleds(LEDS_ALLOFF);
// Set the PWM and ADC min and max counts by forcing a characterization
LCD_clrd();
LCD_setcursor(1, 0);
LCD_wrstring("Characterizing..");
DoTest_Characterize();
LCD_setcursor(2, 0);
LCD_wrstring("...Done ");
//*****GAIN AND OFFSET ARE HARDWIRED IN THE STARTER APP *****
// initialize the control parameters
// start the set point in the middle of the range
setpoint = (ADC_max_cnt - ADC_min_cnt) / 2;
offset = 100;
GP = 10;
GD = 5;
GI = 5;
init_high = false;
//*****GAIN AND OFFSET ARE HARDWIRED IN THE STARTER APP *****
// main loop - there is no exit except by hardware reset
while (1) {
// write static portion of output to display
if (wrlcd_static) {
LCD_clrd();
LCD_setcursor(1, 0);
LCD_wrstring("G|Pxxx Ixxx Dxxx");
LCD_setcursor(2, 0);
LCD_wrstring("SP:+x.xx OFF:xxx");
wrlcd_static = false;
}
// write the dynamic portion of output to display
if (wrlcd_dynamic) {
Xfloat32 v;
u16 count;
char s[20];
u32 row, col;
// display GP, GI, and GD
LCD_setcursor(1, 3);
LCD_wrstring(" ");
//.........这里部分代码省略.........
示例13: main
int main(int argc, char* argv[])
{
const char* interface;
test_t* t;
int c;
printf("# ef_vi_version_str: %s\n", ef_vi_version_str());
while( (c = getopt (argc, argv, "n:s:wfbvVpta:A:")) != -1 )
switch( c ) {
case 'n':
cfg_iter = atoi(optarg);
break;
case 's':
cfg_payload_len = atoi(optarg);
break;
case 'w':
cfg_eventq_wait = 1;
break;
case 'f':
cfg_fd_wait = 1;
break;
case 'v':
cfg_use_vf = 1;
break;
case 'V':
cfg_use_vport = 1;
break;
case 'p':
cfg_phys_mode = 1;
break;
case 't':
cfg_disable_tx_push = 1;
break;
case 'a':
cfg_tx_align = atoi(optarg);
break;
case 'A':
cfg_rx_align = atoi(optarg);
break;
case '?':
usage();
default:
TEST(0);
}
argc -= optind;
argv += optind;
if( argc != 7 )
usage();
interface = argv[1];
CL_CHK(parse_host(argv[2], &sa_local.sin_addr));
sa_local.sin_port = htons(atoi(argv[3]));
CL_CHK(parse_mac(argv[4], remote_mac));
CL_CHK(parse_host(argv[5], &sa_remote.sin_addr));
sa_remote.sin_port = htons(atoi(argv[6]));
if( cfg_payload_len > MAX_UDP_PAYLEN ) {
fprintf(stderr, "WARNING: UDP payload length %d is larged than standard "
"MTU\n", cfg_payload_len);
}
for( t = the_tests; t != the_tests + NUM_TESTS; ++t )
if( ! strcmp(argv[0], t->name) )
break;
if( t == the_tests + NUM_TESTS )
usage();
printf("# udp payload len: %d\n", cfg_payload_len);
printf("# iterations: %d\n", cfg_iter);
do_init(interface);
printf("# frame len: %d\n", tx_frame_len);
printf("# rx align: %d\n", cfg_rx_align);
printf("# tx align: %d\n", cfg_tx_align);
t->fn();
/* Free all ef_vi resources we allocated above. This isn't
* necessary as the process is about to exit which will free up all
* resources. It is just to serve as an example of how to free up
* ef_vi resources without exiting the process. */
do_free();
return 0;
}
示例14: init
init()
{
do_init(tag());
}
示例15: init_clcs_debugger
void init_clcs_debugger(){do_init(VV);}