软件著作权-源代码范本[5篇范例]

时间:2019-05-14 00:40:51下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《软件著作权-源代码范本》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《软件著作权-源代码范本》。

第一篇:软件著作权-源代码范本

天一博胜企业管理软件V1.0 源代码

软件著作权-源代码范本

注意事项:常见的源代码包含:C语言,VB,C++,JAVA,.NET等。

提交的代码必须是源代码的开头载入程序,第30页必须断开,第60页是软件的程序结尾,代码中不得出现与申请表内容不符合的日期,著作权人,软件名字等,不能出现开源代码,不能出现任何版权纠纷。

格式要求:

一、源代码应提交前、后各连续30页,不足60页的,应当全部提交。

二、源代码页眉应标注软件的名称和版本号,应当与申请表中名称完全一致,页眉右上应标注页码,源代码每页不少于50行。

范例如下:

#include #include #include 天一博胜企业管理软件V1.0 源代码 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define NS_MAIN 1 #include #endif #ifdef DLZ #include #endif static tybs_boolean_t want_stats = TYBS_FALSE;static char program_name[TYBS_DIR_NAMEMAX] = “named”;static char absolute_conffile[TYBS_DIR_PATHMAX];static char saved_command_line[512];static char version[512];static unsigned int maxsocks = 0;void ns_main_earlywarning(const char *format,...){ va_list args;va_start(args, format);if(ns_g_lctx!= NULL){

tybs_log_vwrite(ns_g_lctx, NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_MAIN, TYBS_LOG_WARNING,format, args);} else {

fprintf(stderr, “%s: ”, program_name);

vfprintf(stderr, format, args);

fprintf(stderr, “n”);

fflush(stderr);} va_end(args);} Void ns_main_earlyfatal(const char *format,...){ va_list args;va_start(args, format);if(ns_g_lctx!= NULL){

tybs_log_vwrite(ns_g_lctx, NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL,format, args);

tybs_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, 天一博胜企业管理软件V1.0 源代码

NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL,“exiting(due to early fatal error)”);} else {

fprintf(stderr, “%s: ”, program_name);

vfprintf(stderr, format, args);

fprintf(stderr, “n”);

fflush(stderr);} va_end(args);exit(1);} static void assertion_failed(const char *file, int line, tybs_assertiontype_t type,const char *cond){ if(ns_g_lctx!= NULL){

tybs_assertion_setcallback(NULL);

tybs_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL,“%s:%d: %s(%s)failed”, file, line,tybs_assertion_typetotext(type), cond);

tybs_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL,“exiting(due to assertion failure)”);} else {

fprintf(stderr, “%s:%d: %s(%s)failedn”,file, line, tybs_assertion_typetotext(type), cond);

fflush(stderr);} if(ns_g_coreok)

abort();exit(1);} static void library_fatal_error(const char *file, int line, const char *format,va_list args)TYBS_FORMAT_PRINTF(3, 0);static void library_fatal_error(const char *file, int line, const char *format,va_list args){ if(ns_g_lctx!= NULL){

tybs_error_setfatal(NULL);

tybs_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL,“%s:%d: fatal error:”, file, line);

tybs_log_vwrite(ns_g_lctx, NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL,format, args);

tybs_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL,“exiting(due to fatal error in library)”);} else { 天一博胜企业管理软件V1.0 源代码

fprintf(stderr, “%s:%d: fatal error: ”, file, line);

vfprintf(stderr, format, args);

fprintf(stderr, “n”);

fflush(stderr);} if(ns_g_coreok)

abort();exit(1);} static void library_unexpected_error(const char *file, int line, const char *format,va_list args)TYBS_FORMAT_PRINTF(3, 0);static void library_unexpected_error(const char *file, int line, const char *format,va_list args){ if(ns_g_lctx!= NULL){

tybs_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_MAIN, TYBS_LOG_ERROR,“%s:%d: unexpected error:”, file, line);

tybs_log_vwrite(ns_g_lctx, NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_MAIN, TYBS_LOG_ERROR,format, args);} else {

fprintf(stderr, “%s:%d: fatal error: ”, file, line);

vfprintf(stderr, format, args);

fprintf(stderr, “n”);

fflush(stderr);} } static void lwresd_usage(void){ fprintf(stderr,“usage: lwresd [-4|-6] [-c conffile |-C resolvconffile] ”

“[-d debuglevel]n”

[-f|-g] [-n number_of_cpus] [-p port] ”

“[-P listen-port] [-s]n”

[-t chrootdir] [-u username] [-i pidfile]n”

[-m {usage|trace|record|size|mctx}]n”);} static void usage(void){ if(ns_g_lwresdonly){

lwresd_usage();

return;} fprintf(stderr,“usage: named [-4|-6] [-c conffile] [-d debuglevel] ”

“[-f|-g] [-n number_of_cpus]n”

[-p port] [-s] [-t chrootdir] [-u username]n”

[-m {usage|trace|record|size|mctx}]n”);} 天一博胜企业管理软件V1.0 源代码 static void save_command_line(int argc, char *argv[]){ int i;char *src;char *dst;char *eob;const char truncated[] = “...”;tybs_boolean_t quoted = TYBS_FALSE;dst = saved_command_line;eob = saved_command_line + sizeof(saved_command_line);for(i = 1;i < argc && dst < eob;i++){

*dst++ = ' ';

src = argv[i];

while(*src!= '' && dst < eob){

if(quoted || isalnum(*src & 0xff)||

*src == '-' || *src == '_' ||

*src == '.' || *src == '/'){

*dst++ = *src++;

quoted = TYBS_FALSE;

} else {

*dst++ = '';

quoted = TYBS_TRUE;

}

} } INSIST(sizeof(saved_command_line)>= sizeof(truncated));if(dst == eob)

strcpy(eobarg;

for(def = defs;def->name!= NULL;def++){

if(arglen ==(int)strlen(def->name)&&

memcmp(arg, def->name, arglen)== 0){

*ret |= def->value;

goto found;

}

}

ns_main_earlyfatal(“unrecognized flag '%.*s'”, arglen, arg);

found:

if(*end == '')

break;

arg = end + 1;} } static void parse_command_line(int argc, char *argv[]){ int ch;int port;tybs_boolean_t disable6 = TYBS_FALSE;tybs_boolean_t disable4 = TYBS_FALSE;save_command_line(argc, argv);tybs_commandline_errprint = TYBS_FALSE;while((ch = tybs_commandline_parse(argc, argv,“46c:C:d:fgi:lm:n:N:p:P:”

“sS:t:T:u:vVx:”))!=-1){

switch(ch){

case '4':

if(disable4)

ns_main_earlyfatal(“cannot specify-4 and-6”);

if(tybs_net_probeipv4()!= TYBS_R_SUCCESS)

ns_main_earlyfatal(“IPv4 not supported by OS”);

tybs_net_disableipv6();

disable6 = TYBS_TRUE;

break;

case '6':

if(disable6)

ns_main_earlyfatal(“cannot specify-4 and-6”);

if(tybs_net_probeipv6()!= TYBS_R_SUCCESS)

ns_main_earlyfatal(“IPv6 not supported by OS”);

tybs_net_disableipv4();天一博胜企业管理软件V1.0 源代码

disable4 = TYBS_TRUE;break;case 'c': ns_g_conffile = tybs_commandline_argument;lwresd_g_conffile = tybs_commandline_argument;if(lwresd_g_useresolvconf)

ns_main_earlyfatal(“cannot specify-c and-C”);ns_g_conffileset = TYBS_TRUE;break;case 'C': lwresd_g_resolvconffile = tybs_commandline_argument;if(ns_g_conffileset)

ns_main_earlyfatal(“cannot specify-c and-C”);lwresd_g_useresolvconf = TYBS_TRUE;break;case 'd': ns_g_debuglevel = parse_int(tybs_commandline_argument,“debug level”);break;case 'f': ns_g_foreground = TYBS_TRUE;break;case 'g': ns_g_foreground = TYBS_TRUE;ns_g_logstderr = TYBS_TRUE;break;/* XXXBEW-i should be removed */ case 'i': lwresd_g_defaultpidfile = tybs_commandline_argument;break;case 'l': ns_g_lwresdonly = TYBS_TRUE;break;case 'm': set_flags(tybs_commandline_argument, mem_debug_flags,&tybs_mem_debugging);break;case 'N': /* Deprecated.*/ case 'n': ns_g_cpus = parse_int(tybs_commandline_argument,“number of cpus”);if(ns_g_cpus == 0)

ns_g_cpus = 1;break;case 'p': port = parse_int(tybs_commandline_argument, “port”);if(port < 1 || port > 65535)

ns_main_earlyfatal(“port '%s' out of range”,tybs_commandline_argument);ns_g_port = port;break;/* XXXBEW Should-P be removed? */ 天一博胜企业管理软件V1.0 源代码

case 'P':

port = parse_int(tybs_commandline_argument, “port”);

if(port < 1 || port > 65535)

ns_main_earlyfatal(“port '%s' out of range”,tybs_commandline_argument);

lwresd_g_listenport = port;

break;

case 's':

want_stats = TYBS_TRUE;

break;

case 'S':

maxsocks = parse_int(tybs_commandline_argument,“max number of sockets”);

break;

case 't':

ns_g_chrootdir = tybs_commandline_argument;

break;

case 'T':

if(strcmp(tybs_commandline_argument, “clienttest”)== 0)

ns_g_clienttest = TYBS_TRUE;

else

fprintf(stderr, “unknown-T flag '%sn”,tybs_commandline_argument);

break;

case 'u':

ns_g_username = tybs_commandline_argument;

break;

case 'v':

printf(“BIND %sn”, ns_g_version);

exit(0);

case 'V':

printf(“BIND %s built with %sn”, ns_g_version,ns_g_configargs);

exit(0);

case '?':

usage();

if(tybs_commandline_option == '?')

exit(0);

ns_main_earlyfatal(“unknown option '-%c'”,tybs_commandline_option);

default:

ns_main_earlyfatal(“parsing options returned %d”, ch);

} } argc-= tybs_commandline_index;argv += tybs_commandline_index;if(argc > 0){

usage();

ns_main_earlyfatal(“extra command line arguments”);} } static tybs_result_t 天一博胜企业管理软件V1.0 源代码 create_managers(void){ tybs_result_t result;unsigned int socks;#ifdef TYBS_PLATFORM_USETHREADS unsigned int cpus_detected;#endif #ifdef TYBS_PLATFORM_USETHREADS cpus_detected = tybs_os_ncpus();if(ns_g_cpus == 0)

ns_g_cpus = cpus_detected;tybs_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_SERVER,TYBS_LOG_INFO, “found %u CPU%s, using %u worker thread%s”,cpus_detected, cpus_detected == 1 ? “" : ”s“,ns_g_cpus, ns_g_cpus == 1 ? ”“ : ”s“);#else ns_g_cpus = 1;#endif result = tybs_taskmgr_create(ns_g_mctx, ns_g_cpus, 0, &ns_g_taskmgr);if(result!= TYBS_R_SUCCESS){

UNEXPECTED_ERROR(__FILE__, __LINE__,”tybs_taskmgr_create()failed: %s“,tybs_result_totext(result));

return(TYBS_R_UNEXPECTED);} result = tybs_timermgr_create(ns_g_mctx, &ns_g_timermgr);if(result!= TYBS_R_SUCCESS){

UNEXPECTED_ERROR(__FILE__, __LINE__,”tybs_timermgr_create()failed: %s“,tybs_result_totext(result));

return(TYBS_R_UNEXPECTED);} result = tybs_socketmgr_create2(ns_g_mctx, &ns_g_socketmgr, maxsocks);if(result!= TYBS_R_SUCCESS){

UNEXPECTED_ERROR(__FILE__, __LINE__,”tybs_socketmgr_create()failed: %s“,tybs_result_totext(result));

return(TYBS_R_UNEXPECTED);} result = tybs_socketmgr_getmaxsockets(ns_g_socketmgr, &socks);if(result == TYBS_R_SUCCESS){

tybs_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_SERVER,TYBS_LOG_INFO, ”using up to %u sockets“, socks);} result = tybs_entropy_create(ns_g_mctx, &ns_g_entropy);if(result!= TYBS_R_SUCCESS){

UNEXPECTED_ERROR(__FILE__, __LINE__,”tybs_entropy_create()failed: %s“,tybs_result_totext(result));

return(TYBS_R_UNEXPECTED);} result = tybs_hash_create(ns_g_mctx, ns_g_entropy, DNS_NAME_MAXWIRE);天一博胜企业管理软件V1.0 源代码 if(result!= TYBS_R_SUCCESS){

UNEXPECTED_ERROR(__FILE__, __LINE__,”tybs_hash_create()failed: %s“,tybs_result_totext(result));

return(TYBS_R_UNEXPECTED);} return(TYBS_R_SUCCESS);} static void destroy_managers(void){ ns_lwresd_shutdown();tybs_entropy_detach(&ns_g_entropy);if(ns_g_fallbackentropy!= NULL)

tybs_entropy_detach(&ns_g_fallbackentropy);tybs_taskmgr_destroy(&ns_g_taskmgr);tybs_timermgr_destroy(&ns_g_timermgr);tybs_socketmgr_destroy(&ns_g_socketmgr);tybs_hash_destroy();} static void setup(void){ tybs_result_t result;#ifdef HAVE_LIBSCF char *instance = NULL;#endif ns_os_inituserinfo(ns_g_username);ns_os_tzset();ns_os_opendevnull();#ifdef HAVE_LIBSCF result = ns_smf_get_instance(&instance, 0, ns_g_mctx);if(result == TYBS_R_SUCCESS)

ns_smf_got_instance = 1;else

ns_smf_got_instance = 0;if(instance!= NULL)

tybs_mem_free(ns_g_mctx, instance);#endif /* HAVE_LIBSCF */ #ifdef PATH_RANDOMDEV if(ns_g_chrootdir!= NULL){

result = tybs_entropy_create(ns_g_mctx, &ns_g_fallbackentropy);

if(result!= TYBS_R_SUCCESS)

ns_main_earlyfatal(”tybs_entropy_create()failed: %s“,tybs_result_totext(result));

result = tybs_entropy_createfilesource(ns_g_fallbackentropy,PATH_RANDOMDEV);

if(result!= TYBS_R_SUCCESS){

ns_main_earlywarning(”could not open pre-chroot “

”entropy source %s: %s“,PATH_RANDOMDEV,tybs_result_totext(result));

tybs_entropy_detach(&ns_g_fallbackentropy);

} 天一博胜企业管理软件V1.0 源代码 } #endif ns_os_chroot(ns_g_chrootdir);ns_os_minprivs();result = ns_log_init(TYBS_TF(ns_g_username!= NULL));if(result!= TYBS_R_SUCCESS)

ns_main_earlyfatal(”ns_log_init()failed: %s“,tybs_result_totext(result));if(!ns_g_foreground)

ns_os_daemonize();result = tybs_app_start();if(result!= TYBS_R_SUCCESS)

ns_main_earlyfatal(”tybs_app_start()failed: %s“,tybs_result_totext(result));tybs_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,TYBS_LOG_NOTICE, ”starting BIND %s%s“, ns_g_version,saved_command_line);tybs_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,TYBS_LOG_NOTICE, ”built with %s“, ns_g_configargs);(void)tybs_resource_getlimit(tybs_resource_stacksize,&ns_g_initstacksize);(void)tybs_resource_getlimit(tybs_resource_datasize,&ns_g_initdatasize);(void)tybs_resource_getlimit(tybs_resource_coresize,&ns_g_initcoresize);(void)tybs_resource_getlimit(tybs_resource_openfiles,&ns_g_initopenfiles);if(!tybs_file_isabsolute(ns_g_conffile)){

result = tybs_file_absolutepath(ns_g_conffile,absolute_conffile,sizeof(absolute_conffile));

if(result!= TYBS_R_SUCCESS)

ns_main_earlyfatal(”could not construct absolute path of “

”configuration file: %s“,tybs_result_totext(result));

ns_g_conffile = absolute_conffile;} result = tybs_time_now(&ns_g_boottime);if(result!= TYBS_R_SUCCESS)

ns_main_earlyfatal(”tybs_time_now()failed: %s“,tybs_result_totext(result));result = create_managers();if(result!= TYBS_R_SUCCESS)

ns_main_earlyfatal(”create_managers()failed: %s“,tybs_result_totext(result));ns_builtin_init();#ifdef DLZ result = dlz_drivers_init();if(result!= TYBS_R_SUCCESS)

ns_main_earlyfatal(”dlz_drivers_init()failed: %s“,tybs_result_totext(result));#endif 天一博胜企业管理软件V1.0 源代码 ns_server_create(ns_g_mctx, &ns_g_server);} static void cleanup(void){ destroy_managers();ns_server_destroy(&ns_g_server);ns_builtin_deinit();#ifdef DLZ dlz_drivers_clear();#endif dns_name_destroy();tybs_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,TYBS_LOG_NOTICE, ”exiting“);ns_log_shutdown();} static char *memstats = NULL;void ns_main_setmemstats(const char *filename){ if(memstats!= NULL){

free(memstats);

memstats = NULL;} if(filename == NULL)

return;memstats = malloc(strlen(filename)+ 1);if(memstats)

strcpy(memstats, filename);} #ifdef HAVE_LIBSCF tybs_result_t ns_smf_get_instance(char **ins_name, int debug, tybs_mem_t *mctx){ scf_handle_t *h = NULL;int namelen;char *instance;REQUIRE(ins_name!= NULL && *ins_name == NULL);if((h = scf_handle_create(SCF_VERSION))== NULL){

if(debug)

UNEXPECTED_ERROR(__FILE__, __LINE__,”scf_handle_create()failed: %s“,scf_strerror(scf_error()));

return(TYBS_R_FAILURE);} if(scf_handle_bind(h)==-1){

if(debug)

UNEXPECTED_ERROR(__FILE__, __LINE__,”scf_handle_bind()failed: %s“,scf_strerror(scf_error()));

scf_handle_destroy(h);

return(TYBS_R_FAILURE);} if((namelen = scf_myname(h, NULL, 0))==-1){

if(debug)天一博胜企业管理软件V1.0 源代码

UNEXPECTED_ERROR(__FILE__, __LINE__,”scf_myname()failed: %s“,scf_strerror(scf_error()));

scf_handle_destroy(h);

return(TYBS_R_FAILURE);} if((instance = tybs_mem_allocate(mctx, namelen + 1))== NULL){

UNEXPECTED_ERROR(__FILE__, __LINE__,”ns_smf_get_instance memory “

”allocation failed: %s“,tybs_result_totext(TYBS_R_NOMEMORY));

scf_handle_destroy(h);

return(TYBS_R_FAILURE);} if(scf_myname(h, instance, namelen + 1)==-1){

if(debug)

UNEXPECTED_ERROR(__FILE__, __LINE__,”scf_myname()failed: %s“,scf_strerror(scf_error()));

scf_handle_destroy(h);

tybs_mem_free(mctx, instance);

return(TYBS_R_FAILURE);} scf_handle_destroy(h);*ins_name = instance;return(TYBS_R_SUCCESS);} #endif int main(int argc, char *argv[]){ tybs_result_t result;#ifdef HAVE_LIBSCF char *instance = NULL;#endif strlcat(version, #ifdef __DATE__

”named version: BIND “ VERSION ”(“ __DATE__ ”)“, #else

”named version: BIND “ VERSION, #endif

sizeof(version));result = tybs_file_progname(*argv, program_name, sizeof(program_name));if(result!= TYBS_R_SUCCESS)

ns_main_earlyfatal(”program name too long“);if(strcmp(program_name, ”lwresd“)== 0)

ns_g_lwresdonly = TYBS_TRUE;tybs_assertion_setcallback(assertion_failed);tybs_error_setfatal(library_fatal_error);tybs_error_setunexpected(library_unexpected_error);ns_os_init(program_name);dns_result_register();dst_result_register();天一博胜企业管理软件V1.0 源代码 tybscc_result_register();parse_command_line(argc, argv);if(ns_g_chrootdir!= NULL){

int len = strlen(ns_g_chrootdir);

if(strncmp(ns_g_chrootdir, ns_g_conffile, len)== 0 &&

(ns_g_conffile[len] == '/' || ns_g_conffile[len] == ''))

ns_main_earlywarning(”config filename(-c %s)contains “

”chroot path(-t %s)“,ns_g_conffile, ns_g_chrootdir);} result = tybs_mem_create(0, 0, &ns_g_mctx);if(result!= TYBS_R_SUCCESS)

ns_main_earlyfatal(”tybs_mem_create()failed: %s“,tybs_result_totext(result));tybs_mem_setname(ns_g_mctx, ”main“, NULL);setup();do {

result = tybs_app_run();

if(result == TYBS_R_RELOAD){

ns_server_reloadwanted(ns_g_server);

} else if(result!= TYBS_R_SUCCESS){

UNEXPECTED_ERROR(__FILE__, __LINE__,”tybs_app_run(): %s“,tybs_result_totext(result));

result = TYBS_R_SUCCESS;

} } while(result!= TYBS_R_SUCCESS);#ifdef HAVE_LIBSCF if(ns_smf_want_disable == 1){

result = ns_smf_get_instance(&instance, 1, ns_g_mctx);

if(result == TYBS_R_SUCCESS && instance!= NULL){

if(smf_disable_instance(instance, 0)!= 0)

UNEXPECTED_ERROR(__FILE__, __LINE__,”smf_disable_instance()“

”failed for %s : %s“,instance,scf_strerror(scf_error()));

}

if(instance!= NULL)

tybs_mem_free(ns_g_mctx, instance);} #endif /* HAVE_LIBSCF */ cleanup();if(want_stats){

tybs_mem_stats(ns_g_mctx, stdout);

tybs_mutex_stats(stdout);} if(ns_g_memstatistics && memstats!= NULL){

FILE *fp = NULL;

result = tybs_stdio_open(memstats, ”w“, &fp);

if(result == TYBS_R_SUCCESS){

tybs_mem_stats(ns_g_mctx, fp);天一博胜企业管理软件V1.0 源代码

tybs_mutex_stats(fp);

tybs_stdio_close(fp);

} } tybs_mem_destroy(&ns_g_mctx);tybs_mem_checkdestroyed(stderr);ns_main_setmemstats(NULL);tybs_app_finish();ns_os_closedevnull();ns_os_shutdown();return(0);} #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS #include ”php.h“ #include #include #ifdef PHP_WIN32 #include ”win32/time.h“ #include ”win32/signal.h“ #include ”win32/php_win32_globals.h“ #include

#elif defined(NETWARE)#include #ifdef USE_WINSOCK #include #endif #endif #if HAVE_SYS_TIME_H #include #endif #if HAVE_UNISTD_H #include #endif #if HAVE_SIGNAL_H #include #endif #if HAVE_SETLOCALE #include #endif #include ”zend.h“ #include ”zend_extensions.h“ #include ”php_ini.h“ #include ”php_globals.h“ #include ”php_main.h“ #include ”fopen_wrappers.h“ #include ”ext/standard/php_standard.h“ #include ”php_variables.h“ #include ”ext/standard/credits.h“ #ifdef PHP_WIN32 #include #include ”win32/php_registry.h“ #include ”ext/standard/flock_compat.h“ 天一博胜企业管理软件V1.0 源代码 #endif #include ”php_syslog.h“ #include ”Zend/zend_exceptions.h“ #if PHP_SIGCHILD #include #include #endif #include ”zend_compile.h“ #include ”zend_execute.h“ #include ”zend_highlight.h“ #include ”zend_indent.h“ #include ”zend_extensions.h“ #include ”zend_ini.h“ #include ”php_content_types.h“ #include ”php_ticks.h“ #include ”php_logos.h“ #include ”php_streams.h“ #include ”php_open_temporary_file.h“ #include ”SAPI.h“ #include ”rfc1867.h“ /* }}} */ #ifndef ZTS php_core_globals core_globals;#else PHPAPI int core_globals_id;#endif #define SAFE_FILENAME(f)((f)?(f):”-“)/* {{{ PHP_INI_MH */ static PHP_INI_MH(OnSetPrecision){ int i = atoi(new_value);if(i >= 0){

EG(precision)= i;

return SUCCESS;} else {

return FAILURE;} } static PHP_INI_MH(OnChangeMemoryLimit){ if(new_value){

PG(memory_limit)= zend_atoi(new_value, new_value_length);} else {

PG(memory_limit)= 1<<30;/* effectively, no limit */ } return zend_set_memory_limit(PG(memory_limit));} static void php_disable_functions(TSRMLS_D){ char *s = NULL, *e;if(!*(INI_STR(”disable_functions“))){ 天一博胜企业管理软件V1.0 源代码

return;} e = PG(disable_functions)= strdup(INI_STR(”disable_functions“));while(*e){

switch(*e){

case ' ':

case ',':

if(s){

*e = '';

zend_disable_function(s, e-s TSRMLS_CC);

s = NULL;

}

break;

default:

if(!s){

s = e;

}

break;

}

e++;} if(s){

zend_disable_function(s, e-s TSRMLS_CC);} } static void php_disable_classes(TSRMLS_D){ char *s = NULL, *e;if(!*(INI_STR(”disable_classes“))){

return;} e = PG(disable_classes)= strdup(INI_STR(”disable_classes“));while(*e){

switch(*e){

case ' ':

case ',':

if(s){

*e = '';

zend_disable_class(s, e-s TSRMLS_CC);

s = NULL;

}

break;

default:

if(!s){

s = e;

}

break;

}

e++;} if(s){

zend_disable_class(s, e-s TSRMLS_CC);天一博胜企业管理软件V1.0 源代码

} } static PHP_INI_MH(OnUpdateTimeout){ EG(timeout_seconds)= atoi(new_value);if(stage==PHP_INI_STAGE_STARTUP){

/* Don't set a timeout on startup, only per-request */

return SUCCESS;} zend_unset_timeout(TSRMLS_C);zend_set_timeout(EG(timeout_seconds));return SUCCESS;} static int php_get_display_errors_mode(char *value, int value_length){ int mode;if(!value){

return PHP_DISPLAY_ERRORS_STDOUT;} if(value_length == 2 &&!strcasecmp(”on“, value)){

mode = PHP_DISPLAY_ERRORS_STDOUT;} else if(value_length == 3 &&!strcasecmp(”yes“, value)){

mode = PHP_DISPLAY_ERRORS_STDOUT;} else if(value_length == 4 &&!strcasecmp(”true“, value)){

mode = PHP_DISPLAY_ERRORS_STDOUT;} else if(value_length == 6 &&!strcasecmp(value, ”stderr“)){

mode = PHP_DISPLAY_ERRORS_STDERR;} else if(value_length == 6 &&!strcasecmp(value, ”stdout“)){

mode = PHP_DISPLAY_ERRORS_STDOUT;} else {

mode = atoi(value);

if(mode && mode!= PHP_DISPLAY_ERRORS_STDOUT && mode PHP_DISPLAY_ERRORS_STDERR){

mode = PHP_DISPLAY_ERRORS_STDOUT;

} } return mode;} static PHP_INI_MH(OnUpdateDisplayErrors){ PG(display_errors)=(zend_bool)php_get_display_errors_mode(new_value, new_value_length);return SUCCESS;} static PHP_INI_DISP(display_errors_mode){ int mode, tmp_value_length, cgi_or_cli;char *tmp_value;TSRMLS_FETCH();if(type == ZEND_INI_DISPLAY_ORIG && ini_entry->modified){

tmp_value =(ini_entry->orig_value ? ini_entry->orig_value : NULL);

tmp_value_length = ini_entry->orig_value_length;} else if(ini_entry->value){

!= 天一博胜企业管理软件V1.0 源代码

tmp_value = ini_entry->value;

tmp_value_length = ini_entry->value_length;} else {

tmp_value = NULL;

tmp_value_length = 0;} mode = php_get_display_errors_mode(tmp_value, tmp_value_length);cgi_or_cli =(!strcmp(sapi_module.name, ”cli“)||!strcmp(sapi_module.name, ”cgi“));switch(mode){

case PHP_DISPLAY_ERRORS_STDERR:

if(cgi_or_cli){

PUTS(”STDERR“);

} else {

PUTS(”On“);

}

break;

case PHP_DISPLAY_ERRORS_STDOUT:

if(cgi_or_cli){

PUTS(”STDOUT“);

} else {

PUTS(”On“);

}

break;

default:

PUTS(”Off“);

break;} } static PHP_INI_MH(OnUpdateErrorLog){ /* Only do the safemode/open_basedir check at runtime */ if((stage == PHP_INI_STAGE_RUNTIME || stage == PHP_INI_STAGE_HTACCESS)&&

strcmp(new_value, ”syslog“)){

if(PG(safe_mode)&&(!php_checkuid(new_value, NULL, CHECKUID_CHECK_FILE_AND_DIR))){

return FAILURE;

}

if(PG(open_basedir)&& php_check_open_basedir(new_value TSRMLS_CC)){

return FAILURE;

} } OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC);return SUCCESS;} static PHP_INI_MH(OnChangeMailForceExtra){ /* Don't allow changing it in htaccess */ if(stage == PHP_INI_STAGE_HTACCESS){

return FAILURE;} return SUCCESS;} 天一博胜企业管理软件V1.0 源代码 #ifndef PHP_SAFE_MODE_EXEC_DIR # define PHP_SAFE_MODE_EXEC_DIR ”“ #endif #if defined(PHP_PROG_SENDMAIL)&&!defined(NETWARE)# define DEFAULT_SENDMAIL_PATH PHP_PROG_SENDMAIL ”-t-i “ #elif defined(PHP_WIN32)# define DEFAULT_SENDMAIL_PATH NULL #else # define DEFAULT_SENDMAIL_PATH ”/usr/sbin/sendmail-t-i“ #endif PHPAPI void php_log_err(char *log_message TSRMLS_DC){ int fd =-1;char error_time_str[128];struct tm tmbuf;time_t error_time;/* Try to use the specified logging location.*/ if(PG(error_log)!= NULL){ #ifdef HAVE_SYSLOG_H

if(!strcmp(PG(error_log), ”syslog“)){

php_syslog(LOG_NOTICE, ”%.500s“, log_message);

return;

} #endif

fd = VCWD_OPEN_MODE(PG(error_log), O_CREAT | O_APPEND | O_WRONLY, 0644);

if(fd!=-1){

char *tmp;

int len;

time(&error_time);

strftime(error_time_str, sizeof(error_time_str), ”%d-%b-%Y %H:%M:%S“, php_localtime_r(&error_time, &tmbuf));

len = spprintf(&tmp, 0, ”[%s] %s%s“, error_time_str, log_message, PHP_EOL);#ifdef PHP_WIN32

php_flock(fd, 2);#endif

write(fd, tmp, len);

efree(tmp);

close(fd);

return;

} } /* Otherwise fall back to the default logging location, if we have one */ if(sapi_module.log_message){

sapi_module.log_message(log_message);} } PHPAPI int php_write(void *buf, uint size TSRMLS_DC){ return PHPWRITE(buf, size);} /* }}} */ /* {{{ php_printf 天一博胜企业管理软件V1.0 源代码 */ PHPAPI int php_printf(const char *format,...){ va_list args;int ret;char *buffer;int size;TSRMLS_FETCH();va_start(args, format);size = vspprintf(&buffer, 0, format, args);ret = PHPWRITE(buffer, size);efree(buffer);va_end(args);return ret;} /* }}} */ /* {{{ php_verror helpers */ /* {{{ php_during_module_startup */ static int php_during_module_startup(void){ return module_startup;} /* }}} */ /* {{{ php_during_module_shutdown */ static int php_during_module_shutdown(void){ return module_shutdown;} /* }}} */ /* }}} */ /* {{{ php_verror */ /* php_verror is called from php_error_docref functions.* Its purpose is to unify error messages and automatically generate clickable * html error messages if correcponding ini setting(html_errors)is activated.* See: CODING_STANDARDS for details.*/ PHPAPI void php_verror(const char *docref, const char *params, int type, const char *format, va_list args TSRMLS_DC){ char *buffer = NULL, *docref_buf = NULL, *target = NULL;char *docref_target = ”“, *docref_root = ”“;char *p;int buffer_len = 0;char *space;char *class_name = get_active_class_name(&space TSRMLS_CC);char *function;int origin_len;char *origin;char *message;int is_function = 0;/* get error text into buffer and escape for html if necessary */ buffer_len = vspprintf(&buffer, 0, format, args);天一博胜企业管理软件V1.0 源代码 if(PG(html_errors)){

int len;

char *replace = php_escape_html_entities(buffer, buffer_len, &len, 0, ENT_COMPAT, NULL TSRMLS_CC);

efree(buffer);

buffer = replace;

buffer_len = len;} /* which function caused the problem if any at all */ if(php_during_module_startup()){

function = ”PHP Startup“;} else if(php_during_module_shutdown()){

function = ”PHP Shutdown“;} else if(EG(current_execute_data)&&

EG(current_execute_data)->opline &&

EG(current_execute_data)->opline->opcode == ZEND_INCLUDE_OR_EVAL){

switch(EG(current_execute_data)->opline->op2.u.constant.value.lval){

case ZEND_EVAL:

function = ”eval“;

is_function = 1;

break;

case ZEND_INCLUDE:

function = ”include“;

is_function = 1;

break;

case ZEND_INCLUDE_ONCE:

function = ”include_once“;

is_function = 1;

break;

case ZEND_REQUIRE:

function = ”require“;

is_function = 1;

break;

case ZEND_REQUIRE_ONCE:

function = ”require_once“;

is_function = 1;

break;

default:

function = ”Unknown“;

} } else {

function = get_active_function_name(TSRMLS_C);

if(!function ||!strlen(function)){

function = ”Unknown“;

} else {

is_function = 1;

} } if(is_function){

origin_len = spprintf(&origin, 0, ”%s%s%s(%s)“, class_name, space, function, params);} else { 天一博胜企业管理软件V1.0 源代码

origin_len = spprintf(&origin, 0, ”%s“, function);} if(PG(html_errors)){

int len;

char *replace = php_escape_html_entities(origin, origin_len, &len, 0, ENT_COMPAT, NULL TSRMLS_CC);

efree(origin);

origin = replace;} if(docref && docref[0] == '#'){

docref_target = strchr(docref, '#');

docref = NULL;} if(!docref && is_function){

if(space[0] == ''){

spprintf(&docref_buf, 0, ”function.%s“, function);

} else {

spprintf(&docref_buf, 0, ”function.%s-%s“, class_name, function);

}

while((p = strchr(docref_buf, '_'))!= NULL){

*p = '-';

}

docref = docref_buf;} if(docref && is_function &&(PG(html_errors)|| strlen(PG(docref_root)))){

if(strncmp(docref, ”http://“, 7)){

/* We don't have 'http://' so we use docref_root */

char *ref;/* temp copy for duplicated docref */

docref_root = PG(docref_root);

ref = estrdup(docref);

if(docref_buf){

efree(docref_buf);

}

docref_buf = ref;

/* strip of the target if any */

p = strrchr(ref, '#');

if(p){

target = estrdup(p);

if(target){

docref_target = target;

*p = '';

}

}

/* add the extension if it is set in ini */

if(PG(docref_ext)&& strlen(PG(docref_ext))){

spprintf(&docref_buf, 0, ”%s%s“, ref, PG(docref_ext));

efree(ref);

}

docref = docref_buf;

}

/* display html formatted or only show the additional links */

if(PG(html_errors)){ 天一博胜企业管理软件V1.0 源代码

spprintf(&message, 0, ”%s [%s]: %s“, origin, docref_root, docref, docref_target, docref, buffer);

} else {

spprintf(&message, 0, ”%s [%s%s%s]: %s“, origin, docref_root, docref, docref_target, buffer);

}

if(target){

efree(target);

} } else {

spprintf(&message, 0, ”%s: %s“, origin, buffer);} efree(origin);if(docref_buf){

efree(docref_buf);} if(PG(track_errors)&& module_initialized && EG(active_symbol_table)&&

(!EG(user_error_handler)||!(EG(user_error_handler_error_reporting)& type))){

zval *tmp;

ALLOC_INIT_ZVAL(tmp);

ZVAL_STRINGL(tmp, buffer, buffer_len, 1);

zend_hash_update(EG(active_symbol_table), ”php_errormsg“, sizeof(”php_errormsg“),(void **)&tmp, sizeof(zval *), NULL);} efree(buffer);php_error(type, ”%s“, message);efree(message);} /* }}} */ /* {{{ php_error_docref0 */ /* See: CODING_STANDARDS for details.*/ PHPAPI void php_error_docref0(const char *docref TSRMLS_DC, int type, const char *format,...){ va_list args;va_start(args, format);php_verror(docref, ”“, type, format, args TSRMLS_CC);va_end(args);} /* }}} */ /* {{{ php_error_docref1 */ /* See: CODING_STANDARDS for details.*/ PHPAPI void php_error_docref1(const char *docref TSRMLS_DC, const char *param1, int type, const char *format,...){ va_list args;va_start(args, format);php_verror(docref, param1, type, format, args TSRMLS_CC);va_end(args);} /* }}} */ /* {{{ php_error_docref2 */ /* See: CODING_STANDARDS for details.*/ PHPAPI void php_error_docref2(const char *docref TSRMLS_DC, const char *param1, const char *param2, int 天一博胜企业管理软件V1.0 源代码 type, const char *format,...){ char *params;va_list args;spprintf(¶ms, 0, ”%s,%s“, param1, param2);va_start(args, format);php_verror(docref, params ? params : ”...“, type, format, args TSRMLS_CC);va_end(args);if(params){

efree(params);} } /* }}} */ /* {{{ php_html_puts */ PHPAPI void php_html_puts(const char *str, uint size TSRMLS_DC){ zend_html_puts(str, size TSRMLS_CC);} /* }}} */ /* {{{ php_suppress_errors */ PHPAPI void php_set_error_handling(error_handling_t error_handling, zend_class_entry *exception_class TSRMLS_DC){ PG(error_handling)= error_handling;PG(exception_class)= exception_class;if(PG(last_error_message)){

free(PG(last_error_message));

PG(last_error_message)= NULL;} if(PG(last_error_file)){

free(PG(last_error_file));

PG(last_error_file)= NULL;} PG(last_error_lineno)= 0;} /* }}} */ /* {{{ php_error_cb extended error handling function */ static void php_error_cb(int type, const char *error_filename, const uint error_lineno, const char *format, va_list args){ char *buffer;int buffer_len, display;TSRMLS_FETCH();buffer_len = vspprintf(&buffer, PG(log_errors_max_len), format, args);/* check for repeated errors to be ignored */ if(PG(ignore_repeated_errors)&& PG(last_error_message)){

/* no check for PG(last_error_file)is needed since it cannot

* be NULL if PG(last_error_message)is not NULL */

if(strcmp(PG(last_error_message), buffer)

||(!PG(ignore_repeated_source)

&&((PG(last_error_lineno)!=(int)error_lineno)天一博胜企业管理软件V1.0 源代码

|| strcmp(PG(last_error_file), error_filename)))){

display = 1;} else {

display = 0;} } else { display = 1;} /* store the error if it has changed */ if(display){ if(PG(last_error_message)){

free(PG(last_error_message));} if(PG(last_error_file)){

free(PG(last_error_file));} PG(last_error_type)= type;PG(last_error_message)= strdup(buffer);PG(last_error_file)= strdup(error_filename);PG(last_error_lineno)= error_lineno;} /* according to error handling mode, suppress error, throw exception or show it */ if(PG(error_handling)!= EH_NORMAL){ switch(type){

case E_ERROR:

case E_CORE_ERROR:

case E_COMPILE_ERROR:

case E_USER_ERROR:

case E_PARSE:

/* fatal errors are real errors and cannot be made exceptions */

break;

case E_STRICT:

/* for the sake of BC to old damaged code */

break;

case E_NOTICE:

case E_USER_NOTICE:

/* notices are no errors and are not treated as such like E_WARNINGS */

break;

default:

/* throw an exception if we are in EH_THROW mode

* but DO NOT overwrite a pending exception

*/

if(PG(error_handling)== EH_THROW &&!EG(exception)){

zend_throw_error_exception(PG(exception_class), buffer, 0, type TSRMLS_CC);

}

efree(buffer);

return;} } /* display/log the error if necessary */ if(display &&(EG(error_reporting)& type ||(type & E_CORE))&&(PG(log_errors)|| PG(display_errors)||(!module_initialized))){ 天一博胜企业管理软件V1.0 源代码

char *error_type_str;

switch(type){

case E_ERROR:

case E_CORE_ERROR:

case E_COMPILE_ERROR:

case E_USER_ERROR:

error_type_str = ”Fatal error“;

break;

case E_RECOVERABLE_ERROR:

error_type_str = ”Catchable fatal error“;

break;

case E_WARNING:

case E_CORE_WARNING:

case E_COMPILE_WARNING:

case E_USER_WARNING:

error_type_str = ”Warning“;

break;

case E_PARSE:

error_type_str = ”Parse error“;

break;

case E_NOTICE:

case E_USER_NOTICE:

error_type_str = ”Notice“;

break;

case E_STRICT:

error_type_str = ”Strict Standards“;

break;

default:

error_type_str = ”Unknown error“;

break;

}

if(!module_initialized || PG(log_errors)){

char *log_buffer;#ifdef PHP_WIN32

if((type == E_CORE_ERROR || type == E_CORE_WARNING)&& PG(display_startup_errors)){

MessageBox(NULL, buffer, error_type_str, MB_OK|ZEND_SERVICE_MB_STYLE);

} #endif

spprintf(&log_buffer, 0, ”PHP %s: %s in %s on line %d“, error_type_str, buffer, error_filename, error_lineno);

php_log_err(log_buffer TSRMLS_CC);

efree(log_buffer);

}

if(PG(display_errors)

&&((module_initialized &&!PG(during_request_startup))

||(PG(display_startup_errors)

&&(OG(php_body_write)==php_default_output_func || OG(php_body_write)==php_ub_body_write_no_header || OG(php_body_write)==php_ub_body_write)))){ 天一博胜企业管理软件V1.0 源代码

if(PG(xmlrpc_errors)){

php_printf(”faultCode%ldfaultString%s:%s in %s on line %d“, PG(xmlrpc_error_number), error_type_str, buffer, error_filename, error_lineno);

} else {

char *prepend_string = INI_STR(”error_prepend_string“);

char *append_string = INI_STR(”error_append_string“);

if(PG(html_errors)){

if(type == E_ERROR){

int len;

char *buf = php_escape_html_entities(buffer, buffer_len, &len, 0, ENT_COMPAT, NULL TSRMLS_CC);

php_printf(”%s
n%s: %s in %s on line %d
n%s“, STR_PRINT(prepend_string), error_type_str, buf, error_filename, error_lineno, STR_PRINT(append_string));

efree(buf);

} else {

php_printf(”%s
n%s: %s in %s on line %d
n%s“, STR_PRINT(prepend_string), error_type_str, buffer, error_filename, error_lineno, STR_PRINT(append_string));

}

} else {

/* Write CLI/CGI errors to stderr if display_errors = ”stderr“ */

if((!strcmp(sapi_module.name, ”cli“)||!strcmp(sapi_module.name, ”cgi“))&&

PG(display_errors)== PHP_DISPLAY_ERRORS_STDERR){

fprintf(stderr, ”%s: %s in %s on line %dn“, error_type_str, buffer, error_filename, error_lineno);

} else {

php_printf(”%sn%s: %s in %s on line %dn%s“, STR_PRINT(prepend_string), error_type_str, buffer, error_filename, error_lineno, STR_PRINT(append_string));

}

}

}

} #if ZEND_DEBUG

if(PG(report_zend_debug)){

zend_bool trigger_break;

switch(type){

case E_ERROR:

case E_CORE_ERROR:

case E_COMPILE_ERROR:

case E_USER_ERROR:

trigger_break=1;

break;

default:

trigger_break=0;

break;

}

zend_output_debug_string(trigger_break, ”%s(%d): %sno way we can live with this */

exit(-2);

}

/* no break-intentionally */

case E_ERROR:

case E_RECOVERABLE_ERROR:

case E_PARSE:

case E_COMPILE_ERROR:

case E_USER_ERROR:

EG(exit_status)= 255;

if(module_initialized){

if(!PG(display_errors)&&

!SG(headers_sent)&&

SG(sapi_headers).http_response_code == 200){

sapi_header_line ctr = {0};

ctr.line = “HTTP/1.0 500 Internal Server Error”;

ctr.line_len = strlen(ctr.line);

sapi_header_op(SAPI_HEADER_REPLACE, &ctr TSRMLS_CC);

}

/* the parser would return 1(failure), we can bail out nicely */

if(type!= E_PARSE){

/* restore memory limit */

zend_set_memory_limit(PG(memory_limit));

efree(buffer);

zend_objects_store_mark_destructed(&EG(objects_store)TSRMLS_CC);

zend_bailout();

return;

}

}

break;} /* Log if necessary */ if(!display){

efree(buffer);

return;} if(PG(track_errors)&& module_initialized && EG(active_symbol_table)){

zval *tmp;

ALLOC_INIT_ZVAL(tmp);

ZVAL_STRINGL(tmp, buffer, buffer_len, 1);

zend_hash_update(EG(active_symbol_table), “php_errormsg”, sizeof(“php_errormsg”),(void **)& tmp, sizeof(zval *), NULL);} 天一博胜企业管理软件V1.0 源代码

efree(buffer);} static PHP_INI_MH(OnUpdateTimeout){ EG(timeout_seconds)= atoi(new_value);if(stage==PHP_INI_STAGE_STARTUP){

/* Don't set a timeout on startup, only per-request */

return SUCCESS;} zend_unset_timeout(TSRMLS_C);zend_set_timeout(EG(timeout_seconds));return SUCCESS;} static int php_get_display_errors_mode(char *value, int value_length){ int mode;if(!value){

return PHP_DISPLAY_ERRORS_STDOUT;} if(value_length == 2 &&!strcasecmp(“on”, value)){

mode = PHP_DISPLAY_ERRORS_STDOUT;} else if(value_length == 3 &&!strcasecmp(“yes”, value)){

mode = PHP_DISPLAY_ERRORS_STDOUT;} else if(value_length == 4 &&!strcasecmp(“true”, value)){

mode = PHP_DISPLAY_ERRORS_STDOUT;} else if(value_length == 6 &&!strcasecmp(value, “stderr”)){

mode = PHP_DISPLAY_ERRORS_STDERR;} else if(value_length == 6 &&!strcasecmp(value, “stdout”)){

mode = PHP_DISPLAY_ERRORS_STDOUT;} else {

mode = atoi(value);

if(mode && mode!= PHP_DISPLAY_ERRORS_STDOUT && mode PHP_DISPLAY_ERRORS_STDERR){

mode = PHP_DISPLAY_ERRORS_STDOUT;

} } return mode;} static PHP_INI_MH(OnUpdateDisplayErrors){ PG(display_errors)=(zend_bool)php_get_display_errors_mode(new_value, new_value_length);return SUCCESS;} static PHP_INI_DISP(display_errors_mode){ int mode, tmp_value_length, cgi_or_cli;char *tmp_value;TSRMLS_FETCH();if(type == ZEND_INI_DISPLAY_ORIG && ini_entry->modified){

tmp_value =(ini_entry->orig_value ? ini_entry->orig_value : NULL);

tmp_value_length = ini_entry->orig_value_length;} else if(ini_entry->value){

!= 天一博胜企业管理软件V1.0 源代码

tmp_value = ini_entry->value;

tmp_value_length = ini_entry->value_length;} else {

tmp_value = NULL;

tmp_value_length = 0;} mode = php_get_display_errors_mode(tmp_value, tmp_value_length);cgi_or_cli =(!strcmp(sapi_module.name, “cli”)||!strcmp(sapi_module.name, “cgi”));switch(mode){

case PHP_DISPLAY_ERRORS_STDERR:

if(cgi_or_cli){

PUTS(“STDERR”);

} else {

PUTS(“On”);

}

break;

case PHP_DISPLAY_ERRORS_STDOUT:

if(cgi_or_cli){

PUTS(“STDOUT”);

} else {

PUTS(“On”);

}

break;

default:

PUTS(“Off”);

break;} } static PHP_INI_MH(OnUpdateErrorLog){ /* Only do the safemode/open_basedir check at runtime */ if((stage == PHP_INI_STAGE_RUNTIME || stage == PHP_INI_STAGE_HTACCESS)&&

strcmp(new_value, “syslog”)){

if(PG(safe_mode)&&(!php_checkuid(new_value, NULL, CHECKUID_CHECK_FILE_AND_DIR))){

return FAILURE;

}

if(PG(open_basedir)&& php_check_open_basedir(new_value TSRMLS_CC)){

return FAILURE;

} } OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC);return SUCCESS;} static PHP_INI_MH(OnChangeMailForceExtra){ /* Don't allow changing it in htaccess */ if(stage == PHP_INI_STAGE_HTACCESS){

return FAILURE;} return SUCCESS;} 天一博胜企业管理软件V1.0 源代码

#ifndef PHP_SAFE_MODE_EXEC_DIR # define PHP_SAFE_MODE_EXEC_DIR “" #endif #if defined(PHP_PROG_SENDMAIL)&&!defined(NETWARE)# define DEFAULT_SENDMAIL_PATH PHP_PROG_SENDMAIL ”-t-i “ #elif defined(PHP_WIN32)# define DEFAULT_SENDMAIL_PATH NULL #else # define DEFAULT_SENDMAIL_PATH ”/usr/sbin/sendmail-t-i“ #endif PHPAPI void php_log_err(char *log_message TSRMLS_DC){ int fd =-1;char error_time_str[128];struct tm tmbuf;time_t error_time;/* Try to use the specified logging location.*/ if(PG(error_log)!= NULL){ #ifdef HAVE_SYSLOG_H

if(!strcmp(PG(error_log), ”syslog“)){

php_syslog(LOG_NOTICE, ”%.500s“, log_message);

return;

} #endif

fd = VCWD_OPEN_MODE(PG(error_log), O_CREAT | O_APPEND | O_WRONLY, 0644);

if(fd!=-1){

char *tmp;

int len;

time(&error_time);

strftime(error_time_str, sizeof(error_time_str), ”%d-%b-%Y %H:%M:%S“, php_localtime_r(&error_time, &tmbuf));

len = spprintf(&tmp, 0, ”[%s] %s%s“, error_time_str, log_message, PHP_EOL);#ifdef PHP_WIN32

php_flock(fd, 2);#endif

write(fd, tmp, len);

efree(tmp);

close(fd);

return;

} } /* Otherwise fall back to the default logging location, if we have one */ if(sapi_module.log_message){

sapi_module.log_message(log_message);} } PHPAPI int php_write(void *buf, uint size TSRMLS_DC){ return PHPWRITE(buf, size);} /* }}} */ /* {{{ php_printf 天一博胜企业管理软件V1.0 源代码

*/ PHPAPI int php_printf(const char *format,...){ va_list args;int ret;char *buffer;int size;TSRMLS_FETCH();va_start(args, format);size = vspprintf(&buffer, 0, format, args);ret = PHPWRITE(buffer, size);efree(buffer);va_end(args);return ret;} /* }}} */ /* {{{ php_verror helpers */ /* {{{ php_during_module_startup */ static int php_during_module_startup(void){ return module_startup;} static int php_during_module_shutdown(void){ return module_shutdown;} PHPAPI void php_verror(const char *docref, const char *params, int type, const char *format, va_list args TSRMLS_DC){ char *buffer = NULL, *docref_buf = NULL, *target = NULL;char *docref_target = ”“, *docref_root = ”“;char *p;int buffer_len = 0;char *space;char *class_name = get_active_class_name(&space TSRMLS_CC);char *function;int origin_len;char *origin;char *message;int is_function = 0;/* get error text into buffer and escape for html if necessary */ buffer_len = vspprintf(&buffer, 0, format, args);if(PG(html_errors)){

int len;

char *replace = php_escape_html_entities(buffer, buffer_len, &len, 0, ENT_COMPAT, NULL TSRMLS_CC);

efree(buffer);

buffer = replace;

buffer_len = len;} /* which function caused the problem if any at all */ if(php_during_module_startup()){ 天一博胜企业管理软件V1.0 源代码

function = ”PHP Startup“;} else if(php_during_module_shutdown()){

function = ”PHP Shutdown“;} else if(EG(current_execute_data)&&

EG(current_execute_data)->opline &&

EG(current_execute_data)->opline->opcode == ZEND_INCLUDE_OR_EVAL){

switch(EG(current_execute_data)->opline->op2.u.constant.value.lval){

case ZEND_EVAL:

function = ”eval“;

is_function = 1;

break;

case ZEND_INCLUDE:

function = ”include“;

is_function = 1;

break;

case ZEND_INCLUDE_ONCE:

function = ”include_once“;

is_function = 1;

break;

case ZEND_REQUIRE:

function = ”require“;

is_function = 1;

break;

case ZEND_REQUIRE_ONCE:

function = ”require_once“;

is_function = 1;

break;

default:

function = ”Unknown“;

} } else {

function = get_active_function_name(TSRMLS_C);

if(!function ||!strlen(function)){

function = ”Unknown“;

} else {

is_function = 1;

} } if(is_function){

origin_len = spprintf(&origin, 0, ”%s%s%s(%s)“, class_name, space, function, params);} else {

origin_len = spprintf(&origin, 0, ”%s“, function);} if(PG(html_errors)){

int len;

char *replace = php_escape_html_entities(origin, origin_len, &len, 0, ENT_COMPAT, NULL TSRMLS_CC);

efree(origin);

origin = replace;} if(docref && docref[0] == '#'){ 天一博胜企业管理软件V1.0 源代码

docref_target = strchr(docref, '#');

docref = NULL;} if(!docref && is_function){

if(space[0] == ''){

spprintf(&docref_buf, 0, ”function.%s“, function);

} else {

spprintf(&docref_buf, 0, ”function.%s-%s“, class_name, function);

}

while((p = strchr(docref_buf, '_'))!= NULL){

*p = '-';

}

docref = docref_buf;} if(docref && is_function &&(PG(html_errors)|| strlen(PG(docref_root)))){

if(strncmp(docref, ”http://“, 7)){

/* We don't have 'http://' so we use docref_root */

char *ref;/* temp copy for duplicated docref */

docref_root = PG(docref_root);

ref = estrdup(docref);

if(docref_buf){

efree(docref_buf);

}

docref_buf = ref;

/* strip of the target if any */

p = strrchr(ref, '#');

if(p){

target = estrdup(p);

if(target){

docref_target = target;

*p = '';

}

}

/* add the extension if it is set in ini */

if(PG(docref_ext)&& strlen(PG(docref_ext))){

spprintf(&docref_buf, 0, ”%s%s“, ref, PG(docref_ext));

efree(ref);

}

docref = docref_buf;

}

/* display html formatted or only show the additional links */

if(PG(html_errors)){

spprintf(&message, 0, ”%s [%s]: %s“, origin, docref_root, docref, docref_target, docref, buffer);

} else {

spprintf(&message, 0, ”%s [%s%s%s]: %s“, origin, docref_root, docref, docref_target, buffer);

}

if(target){

efree(target);

} } else {

spprintf(&message, 0, ”%s: %s“, origin, buffer);天一博胜企业管理软件V1.0 源代码

} efree(origin);if(docref_buf){

efree(docref_buf);} if(PG(track_errors)&& module_initialized && EG(active_symbol_table)&&

(!EG(user_error_handler)||!(EG(user_error_handler_error_reporting)& type))){

zval *tmp;

ALLOC_INIT_ZVAL(tmp);

ZVAL_STRINGL(tmp, buffer, buffer_len, 1);

zend_hash_update(EG(active_symbol_table), ”php_errormsg“, sizeof(”php_errormsg“),(void **)&tmp, sizeof(zval *), NULL);} efree(buffer);php_error(type, ”%s“, message);efree(message);} /* }}} */ /* {{{ php_error_docref0 */ /* See: CODING_STANDARDS for details.*/ PHPAPI void php_error_docref0(const char *docref TSRMLS_DC, int type, const char *format,...){ va_list args;va_start(args, format);php_verror(docref, ”“, type, format, args TSRMLS_CC);va_end(args);} /* }}} */ /* {{{ php_error_docref1 */ /* See: CODING_STANDARDS for details.*/ PHPAPI void php_error_docref1(const char *docref TSRMLS_DC, const char *param1, int type, const char *format,...){ va_list args;va_start(args, format);php_verror(docref, param1, type, format, args TSRMLS_CC);va_end(args);} /* }}} */ /* {{{ php_error_docref2 */ /* See: CODING_STANDARDS for details.*/ PHPAPI void php_error_docref2(const char *docref TSRMLS_DC, const char *param1, const char *param2, int type, const char *format,...){ char *params;va_list args;spprintf(¶ms, 0, ”%s,%s“, param1, param2);va_start(args, format);php_verror(docref, params ? params : ”...“, type, format, args TSRMLS_CC);va_end(args);if(params){

efree(params);天一博胜企业管理软件V1.0 源代码

} } /* }}} */ /* {{{ php_html_puts */ PHPAPI void php_html_puts(const char *str, uint size TSRMLS_DC){ zend_html_puts(str, size TSRMLS_CC);} /* }}} */ /* {{{ php_suppress_errors */ PHPAPI void php_set_error_handling(error_handling_t error_handling, zend_class_entry *exception_class TSRMLS_DC){ PG(error_handling)= error_handling;PG(exception_class)= exception_class;if(PG(last_error_message)){

free(PG(last_error_message));

PG(last_error_message)= NULL;} if(PG(last_error_file)){

free(PG(last_error_file));

PG(last_error_file)= NULL;} PG(last_error_lineno)= 0;} PHP_FUNCTION(set_time_limit){ zval **new_timeout;if(PG(safe_mode)){

php_error_docref(NULL TSRMLS_CC, E_WARNING, ”Cannot set time limit in safe mode“);

RETURN_FALSE;} if(ZEND_NUM_ARGS()!= 1 || zend_get_parameters_ex(1, &new_timeout)== FAILURE){

WRONG_PARAM_COUNT;} convert_to_string_ex(new_timeout);if(zend_alter_ini_entry(”max_execution_time“, sizeof(”max_execution_time“), Z_STRVAL_PP(new_timeout), Z_STRLEN_PP(new_timeout), PHP_INI_USER, PHP_INI_STAGE_RUNTIME)== SUCCESS){

RETURN_TRUE;} else {

RETURN_FALSE;} } static PHP_INI_DISP(display_errors_mode){ int mode, tmp_value_length, cgi_or_cli;char *tmp_value;TSRMLS_FETCH();if(type == ZEND_INI_DISPLAY_ORIG && ini_entry->modified){

tmp_value =(ini_entry->orig_value ? ini_entry->orig_value : NULL);

tmp_value_length = ini_entry->orig_value_length;天一博胜企业管理软件V1.0 源代码

} else if(ini_entry->value){

tmp_value = ini_entry->value;

tmp_value_length = ini_entry->value_length;} else {

tmp_value = NULL;

tmp_value_length = 0;} mode = php_get_display_errors_mode(tmp_value, tmp_value_length);cgi_or_cli =(!strcmp(sapi_module.name, ”cli“)||!strcmp(sapi_module.name, ”cgi“));switch(mode){

case PHP_DISPLAY_ERRORS_STDERR:

if(cgi_or_cli){

PUTS(”STDERR“);

} else {

PUTS(”On“);

}

break;

case PHP_DISPLAY_ERRORS_STDOUT:

if(cgi_or_cli){

PUTS(”STDOUT“);

} else {

PUTS(”On“);

}

break;

default:

PUTS(”Off“);

break;} } static PHP_INI_MH(OnUpdateErrorLog){ /* Only do the safemode/open_basedir check at runtime */ if((stage == PHP_INI_STAGE_RUNTIME || stage == PHP_INI_STAGE_HTACCESS)&&

strcmp(new_value, ”syslog“)){

if(PG(safe_mode)&&(!php_checkuid(new_value, NULL, CHECKUID_CHECK_FILE_AND_DIR))){

return FAILURE;

}

if(PG(open_basedir)&& php_check_open_basedir(new_value TSRMLS_CC)){

return FAILURE;

} } OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC);return SUCCESS;} static FILE *php_fopen_wrapper_for_zend(const char *filename, char **opened_path){ TSRMLS_FETCH();return php_stream_open_wrapper_as_file((char *)filename, ”rb“, ENFORCE_SAFE_MODE|USE_PATH|IGNORE_URL_WIN|REPORT_ERRORS|STREAM_OPEN_FOR_INCLUDE, opened_path);} 天一博胜企业管理软件V1.0 源代码

/* }}} */ static void stream_closer_for_zend(void *handle TSRMLS_DC)/* {{{ */ { php_stream_close((php_stream*)handle);} /* }}} */ static long stream_fteller_for_zend(void *handle TSRMLS_DC)/* {{{ */ { return(long)php_stream_tell((php_stream*)handle);} /* }}} */ static PHP_INI_MH(OnUpdateTimeout){ EG(timeout_seconds)= atoi(new_value);if(stage==PHP_INI_STAGE_STARTUP){

/* Don't set a timeout on startup, only per-request */

return SUCCESS;} zend_unset_timeout(TSRMLS_C);zend_set_timeout(EG(timeout_seconds));return SUCCESS;} /* }}} */ /* {{{ php_get_display_errors_mode()helper function */ static int php_get_display_errors_mode(char *value, int value_length){ int mode;if(!value){

return PHP_DISPLAY_ERRORS_STDOUT;} if(value_length == 2 &&!strcasecmp(”on“, value)){

mode = PHP_DISPLAY_ERRORS_STDOUT;} else if(value_length == 3 &&!strcasecmp(”yes“, value)){

mode = PHP_DISPLAY_ERRORS_STDOUT;} else if(value_length == 4 &&!strcasecmp(”true“, value)){

mode = PHP_DISPLAY_ERRORS_STDOUT;} else if(value_length == 6 &&!strcasecmp(value, ”stderr“)){

mode = PHP_DISPLAY_ERRORS_STDERR;} else if(value_length == 6 &&!strcasecmp(value, ”stdout“)){

mode = PHP_DISPLAY_ERRORS_STDOUT;} else {

mode = atoi(value);

if(mode && mode!= PHP_DISPLAY_ERRORS_STDOUT PHP_DISPLAY_ERRORS_STDERR){

mode = PHP_DISPLAY_ERRORS_STDOUT;

} } return mode;} /* }}} */ /* {{{ PHP_INI_MH

&& mode 39

!= 天一博胜企业管理软件V1.0 源代码

*/ static PHP_INI_MH(OnUpdateDisplayErrors){ PG(display_errors)=(zend_bool)php_get_display_errors_mode(new_value, new_value_length);return SUCCESS;} /* }}} */ /* {{{ PHP_INI_DISP */ static PHP_INI_DISP(display_errors_mode){ int mode, tmp_value_length, cgi_or_cli;char *tmp_value;TSRMLS_FETCH();if(type == ZEND_INI_DISPLAY_ORIG && ini_entry->modified){

tmp_value =(ini_entry->orig_value ? ini_entry->orig_value : NULL);

tmp_value_length = ini_entry->orig_value_length;} else if(ini_entry->value){

tmp_value = ini_entry->value;

tmp_value_length = ini_entry->value_length;} else {

tmp_value = NULL;

tmp_value_length = 0;} mode = php_get_display_errors_mode(tmp_value, tmp_value_length);/* Display 'On' for other SAPIs instead of STDOUT or STDERR */ cgi_or_cli =(!strcmp(sapi_module.name, ”cli“)||!strcmp(sapi_module.name, ”cgi“));switch(mode){

case PHP_DISPLAY_ERRORS_STDERR:

if(cgi_or_cli){

PUTS(”STDERR“);

} else {

PUTS(”On“);

}

break;

case PHP_DISPLAY_ERRORS_STDOUT:

if(cgi_or_cli){

PUTS(”STDOUT“);

} else {

PUTS(”On“);

}

break;

default:

PUTS(”Off“);

break;} } static PHP_INI_MH(OnUpdateErrorLog){ /* Only do the safemode/open_basedir check at runtime */ if((stage == PHP_INI_STAGE_RUNTIME || stage == PHP_INI_STAGE_HTACCESS)&&

strcmp(new_value, ”syslog“)){ 天一博胜企业管理软件V1.0 源代码

if(PG(safe_mode)&&(!php_checkuid(new_value, NULL, CHECKUID_CHECK_FILE_AND_DIR))){

return FAILURE;

}

if(PG(open_basedir)&& php_check_open_basedir(new_value TSRMLS_CC)){

return FAILURE;

} } OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC);return SUCCESS;} /* }}} */ /* {{{ PHP_INI_MH */ static PHP_INI_MH(OnChangeMailForceExtra){ /* Don't allow changing it in htaccess */ if(stage == PHP_INI_STAGE_HTACCESS){

return FAILURE;} return SUCCESS;} static int php_stream_open_for_zend(const char *filename, zend_file_handle *handle TSRMLS_DC)/* {{{ */ { return php_stream_open_for_zend_ex(filename, handle, ENFORCE_SAFE_MODE|USE_PATH|REPORT_ERRORS|STREAM_OPEN_FOR_INCLUDE TSRMLS_CC);} /* }}} */ PHPAPI int php_stream_open_for_zend_ex(const char *filename, zend_file_handle *handle, int mode TSRMLS_DC)/* {{{ */ { php_stream *stream;stream = php_stream_open_wrapper((char *)filename, ”rb“, mode, &handle->opened_path);if(stream){

handle->type = ZEND_HANDLE_STREAM;

handle->filename =(char*)filename;

handle->free_filename = 0;

handle->handle.stream.handle = stream;

handle->handle.stream.reader =(zend_stream_reader_t)_php_stream_read;

handle->handle.stream.closer = stream_closer_for_zend;

handle->handle.stream.fteller = stream_fteller_for_zend;

handle->handle.stream.interactive = 0;

/* suppress warning if this stream is not explicitly closed */

php_stream_auto_cleanup(stream);

return SUCCESS;} return FAILURE;} /* }}} */ /* {{{ php_get_configuration_directive_for_zend */ static int php_get_configuration_directive_for_zend(char *name, uint name_length, zval *contents)天一博胜企业管理软件V1.0 源代码

{ zval *retval = cfg_get_entry(name, name_length);if(retval){

*contents = *retval;

return SUCCESS;} else {

return FAILURE;} } /* }}} */ /* {{{ php_message_handler_for_zend */ static void php_message_handler_for_zend(long message, void *data){ TSRMLS_FETCH();switch(message){

case ZMSG_FAILED_INCLUDE_FOPEN:

php_error_docref(”function.include“ TSRMLS_CC, E_WARNING, ”Failed opening '%s' for inclusion(include_path='%s')“, php_strip_url_passwd((char *)data), STR_PRINT(PG(include_path)));

break;

case ZMSG_FAILED_REQUIRE_FOPEN:

php_error_docref(”function.require“ TSRMLS_CC, E_COMPILE_ERROR, ”Failed opening required '%s'(include_path='%s')“, php_strip_url_passwd((char *)data), STR_PRINT(PG(include_path)));

break;

case ZMSG_FAILED_HIGHLIGHT_FOPEN:

php_error_docref(NULL TSRMLS_CC, E_WARNING, ”Failed opening '%s' for highlighting“, php_strip_url_passwd((char *)data));

break;

case ZMSG_MEMORY_LEAK_DETECTED:

case ZMSG_MEMORY_LEAK_REPEATED: #if ZEND_DEBUG

if(EG(error_reporting)& E_WARNING){

char memory_leak_buf[1024];

if(message==ZMSG_MEMORY_LEAK_DETECTED){

zend_leak_info *t =(zend_leak_info *)data;

snprintf(memory_leak_buf, 512, ”%s(%d): Freeing 0x%.8lX(%zu bytes), script=%sn“, t->filename, t->lineno,(zend_uintptr_t)t->addr, t->size, SAFE_FILENAME(SG(request_info).path_translated));

if(t->orig_filename){

char relay_buf[512];

snprintf(relay_buf, 512, ”%s(%d): Actual location(location was relayed)n“, t->orig_filename, t->orig_lineno);

strlcat(memory_leak_buf, relay_buf, sizeof(memory_leak_buf));

}

} else {

unsigned long leak_count =(zend_uintptr_t)data;

snprintf(memory_leak_buf, 512, ”Last leak repeated %ld time%sn“, leak_count,(leak_count>1?”s“:”“));

} # if defined(PHP_WIN32)

OutputDebugString(memory_leak_buf);# else 天一博胜企业管理软件V1.0 源代码

fprintf(stderr, ”%s“, memory_leak_buf);# endif

} #endif

break;

case ZMSG_MEMORY_LEAKS_GRAND_TOTAL: #if ZEND_DEBUG

if(EG(error_reporting)& E_WARNING){

char memory_leak_buf[512];

snprintf(memory_leak_buf, 512, ”=== Total %d memory leaks detected ===n“, *((zend_uint *)data));# if defined(PHP_WIN32)

OutputDebugString(memory_leak_buf);# else

fprintf(stderr, ”%s“, memory_leak_buf);# endif

} #endif

break;

case ZMSG_LOG_SCRIPT_NAME: {

struct tm *ta, tmbuf;

time_t curtime;

char *datetime_str, asctimebuf[52];

char memory_leak_buf[4096];

time(&curtime);

ta = php_localtime_r(&curtime, &tmbuf);

datetime_str = php_asctime_r(ta, asctimebuf);

if(datetime_str){

datetime_str[strlen(datetime_str)-1]=0;/* get rid of the trailing newline */

snprintf(memory_leak_buf, sizeof(memory_leak_buf), ”[%s] Script: '%s'n“, datetime_str, SAFE_FILENAME(SG(request_info).path_translated));

} else {

snprintf(memory_leak_buf, sizeof(memory_leak_buf), ”[null] Script: '%s'n“, SAFE_FILENAME(SG(request_info).path_translated));

} # if defined(PHP_WIN32)

OutputDebugString(memory_leak_buf);# else

fprintf(stderr, ”%s“, memory_leak_buf);# endif

}

break;} } /* }}} */ PHPAPI void php_error_docref2(const char *docref TSRMLS_DC, const char *param1, const char *param2, int type, const char *format,...){ char *params;va_list args;spprintf(¶ms, 0, ”%s,%s“, param1, param2);va_start(args, format);天一博胜企业管理软件V1.0 源代码

php_verror(docref, params ? params : ”...", type, format, args TSRMLS_CC);va_end(args);if(params){

efree(params);} } /* }}} */ /* {{{ php_html_puts */ PHPAPI void php_html_puts(const char *str, uint size TSRMLS_DC){ zend_html_puts(str, size TSRMLS_CC);} /* }}} */ /* {{{ php_suppress_errors */ PHPAPI void php_set_error_handling(error_handling_t error_handling, zend_class_entry *exception_class TSRMLS_DC){ PG(error_handling)= error_handling;PG(exception_class)= exception_class;if(PG(last_error_message)){

free(PG(last_error_message));

PG(last_error_message)= NULL;} if(PG(last_error_file)){

free(PG(last_error_file));

PG(last_error_file)= NULL;} PG(last_error_lineno)= 0;} /* }}} */ /* {{{ php_error_cb extended error handling function */ static void php_error_cb(int type, const char *error_filename, const uint error_lineno, const char *format, va_list args){ char *buffer;int buffer_len, display;TSRMLS_FETCH();buffer_len = vspprintf(&buffer, PG(log_errors_max_len), format, args);/* check for repeated errors to be ignored */ if(PG(ignore_repeated_errors)&& PG(last_error_message)){

/* no check for PG(last_error_file)is needed since it cannot

* be NULL if PG(last_error_message)is not NULL */

if(strcmp(PG(last_error_message), buffer)

||(!PG(ignore_repeated_source)

&&((PG(last_error_lineno)!=(int)error_lineno)

|| strcmp(PG(last_error_file), error_filename)))){

display = 1;

} else {

display = 0;

} } else { 天一博胜企业管理软件V1.0 源代码

display = 1;} /* store the error if it has changed */ if(display){

if(PG(last_error_message)){

free(PG(last_error_message));

}

if(PG(last_error_file)){

free(PG(last_error_file));

}

PG(last_error_type)= type;

PG(last_error_message)= strdup(buffer);

PG(last_error_file)= strdup(error_filename);

PG(last_error_lineno)= error_lineno;} /* according to error handling mode, suppress error, throw exception or show it */ if(PG(error_handling)!= EH_NORMAL){

switch(type){

case E_ERROR:

case E_CORE_ERROR:

case E_COMPILE_ERROR:

case E_USER_ERROR:

case E_PARSE:

/* fatal errors are real errors and cannot be made exceptions */

break;

case E_STRICT:

/* for the sake of BC to old damaged code */

break;

case E_NOTICE:

case E_USER_NOTICE:

/* notices are no errors and are not treated as such like E_WARNINGS */

break;

default:

/* throw an exception if we are in EH_THROW mode

* but DO NOT overwrite a pending exception

*/

if(PG(error_handling)== EH_THROW &&!EG(exception)){

zend_throw_error_exception(PG(exception_class), buffer, 0, type TSRMLS_CC);

}

efree(buffer);

return;

} } void php_on_timeout(int seconds TSRMLS_DC){ PG(connection_status)|= PHP_CONNECTION_TIMEOUT;zend_set_timeout(EG(timeout_seconds));} #if PHP_SIGCHILD /* {{{ sigchld_handler */ static void sigchld_handler(int apar)天一博胜企业管理软件V1.0 源代码

{ while(waitpid(-1, NULL, WNOHANG)> 0);signal(SIGCHLD, sigchld_handler);} /* }}} */ #endif /* {{{ php_start_sapi()*/ static int php_start_sapi(TSRMLS_D){ int retval = SUCCESS;if(!SG(sapi_started)){

zend_try {

PG(during_request_startup)= 1;

/* initialize global variables */

PG(modules_activated)= 0;

PG(header_is_being_sent)= 0;

PG(connection_status)= PHP_CONNECTION_NORMAL;

zend_activate(TSRMLS_C);

zend_set_timeout(EG(timeout_seconds));

zend_activate_modules(TSRMLS_C);

PG(modules_activated)=1;

} zend_catch {

retval = FAILURE;

} zend_end_try();

SG(sapi_started)= 1;} return retval;} /* }}} */ /* {{{ php_request_startup */ #ifndef APACHE_HOOKS int php_request_startup(TSRMLS_D){ int retval = SUCCESS;#ifdef PHP_WIN32 PG(com_initialized)= 0;#endif #if PHP_SIGCHILD signal(SIGCHLD, sigchld_handler);#endif zend_try {

PG(during_request_startup)= 1;

php_output_activate(TSRMLS_C);

/* initialize global variables */

PG(modules_activated)= 0;

PG(header_is_being_sent)= 0;

PG(connection_status)= PHP_CONNECTION_NORMAL;

PG(in_user_include)= 0;

zend_activate(TSRMLS_C);

sapi_activate(TSRMLS_C);天一博胜企业管理软件V1.0 源代码

if(PG(max_input_time)==-1){

zend_set_timeout(EG(timeout_seconds));

} else {

zend_set_timeout(PG(max_input_time));

}

/* Disable realpath cache if safe_mode or open_basedir are set */

if(PG(safe_mode)||(PG(open_basedir)&& *PG(open_basedir))){

CWDG(realpath_cache_size_limit)= 0;

}

if(PG(expose_php)){

sapi_add_header(SAPI_PHP_VERSION_HEADER, sizeof(SAPI_PHP_VERSION_HEADER)-1, 1);

}

if(PG(output_handler)&& PG(output_handler)[0]){

php_start_ob_buffer_named(PG(output_handler), 0, 1 TSRMLS_CC);

} else if(PG(output_buffering)){

if(PG(output_buffering)>1){

php_start_ob_buffer(NULL, PG(output_buffering), 1 TSRMLS_CC);

} else {

php_start_ob_buffer(NULL, 0, 1 TSRMLS_CC);

}

} else if(PG(implicit_flush)){

php_start_implicit_flush(TSRMLS_C);

}

/* We turn this off in php_execute_script()*/

/* PG(during_request_startup)= 0;*/

php_hash_environment(TSRMLS_C);

zend_activate_modules(TSRMLS_C);

PG(modules_activated)=1;} zend_catch {

retval = FAILURE;} zend_end_try();SG(sapi_started)= 1;return retval;} # else int php_request_startup(TSRMLS_D){ int retval = SUCCESS;#if PHP_SIGCHILD signal(SIGCHLD, sigchld_handler);#endif if(php_start_sapi()== FAILURE){

return FAILURE;} php_output_activate(TSRMLS_C);sapi_activate(TSRMLS_C);php_hash_environment(TSRMLS_C);zend_try {

PG(during_request_startup)= 1;

php_output_activate(TSRMLS_C);

if(PG(expose_php)){ 天一博胜企业管理软件V1.0 源代码

sapi_add_header(SAPI_PHP_VERSION_HEADER, sizeof(SAPI_PHP_VERSION_HEADER)-1, 1);

} } zend_catch {

retval = FAILURE;} zend_end_try();return retval;} # endif /* }}} */ /* {{{ php_request_startup_for_hook */ int php_request_startup_for_hook(TSRMLS_D){ int retval = SUCCESS;#if PHP_SIGCHLD signal(SIGCHLD, sigchld_handler);#endif if(php_start_sapi(TSRMLS_C)== FAILURE){

return FAILURE;} php_output_activate(TSRMLS_C);sapi_activate_headers_only(TSRMLS_C);php_hash_environment(TSRMLS_C);return retval;} /* }}} */ /* {{{ php_request_shutdown_for_exec */ void php_request_shutdown_for_exec(void *dummy){ TSRMLS_FETCH();/* used to close fd's in the 3..255 range here, but it's problematic

*/ shutdown_memory_manager(1, 1 TSRMLS_CC);} /* }}} */ /* {{{ php_request_shutdown_for_hook */ void php_request_shutdown_for_hook(void *dummy){ TSRMLS_FETCH();if(PG(modules_activated))zend_try {

php_call_shutdown_functions(TSRMLS_C);} zend_end_try();if(PG(modules_activated)){

zend_deactivate_modules(TSRMLS_C);

php_free_shutdown_functions(TSRMLS_C);} zend_try {

int i;

for(i = 0;i < NUM_TRACK_VARS;i++){ 天一博胜企业管理软件V1.0 源代码

if(PG(http_globals)[i]){

zval_ptr_dtor(&PG(http_globals)[i]);

}

} } zend_end_try();zend_deactivate(TSRMLS_C);zend_try {

sapi_deactivate(TSRMLS_C);} zend_end_try();zend_try {

php_shutdown_stream_hashes(TSRMLS_C);} zend_end_try();zend_try {

shutdown_memory_manager(CG(unclean_shutdown), 0 TSRMLS_CC);} zend_end_try();zend_try {

zend_unset_timeout(TSRMLS_C);} zend_end_try();} /* }}} */ /* {{{ php_request_shutdown */ void php_request_shutdown(void *dummy){ zend_bool report_memleaks;TSRMLS_FETCH();report_memleaks = PG(report_memleaks);/* EG(opline_ptr)points into nirvana and therefore cannot be safely accessed

* inside zend_executor callback functions.*/ EG(opline_ptr)= NULL;EG(active_op_array)= NULL;/* 1.Call all possible shutdown functions registered with register_shutdown_function()*/ if(PG(modules_activated))zend_try {

php_call_shutdown_functions(TSRMLS_C);} zend_end_try();/* 2.Call all possible __destruct()functions */ zend_try {

zend_call_destructors(TSRMLS_C);} zend_end_try();/* 3.Flush all output buffers */ zend_try {

php_end_ob_buffers((zend_bool)(SG(request_info).headers_only?0:1)TSRMLS_CC);} zend_end_try();/* 4.Send the set HTTP headers(note: This must be done AFTER php_end_ob_buffers()!)*/ zend_try {

sapi_send_headers(TSRMLS_C);} zend_end_try();/* 5.Call all extensions RSHUTDOWN functions */ if(PG(modules_activated)){

zend_deactivate_modules(TSRMLS_C);

php_free_shutdown_functions(TSRMLS_C);天一博胜企业管理软件V1.0 源代码

} /* 6.Destroy super-globals */ zend_try {

int i;

for(i=0;i

if(PG(http_globals)[i]){

zval_ptr_dtor(&PG(http_globals)[i]);

}

} } zend_end_try();/* 6.5 free last error information */ if(PG(last_error_message)){

free(PG(last_error_message));

PG(last_error_message)= NULL;} if(PG(last_error_file)){

free(PG(last_error_file));

PG(last_error_file)= NULL;} /* 7.Shutdown scanner/executor/compiler and restore ini entries */ zend_deactivate(TSRMLS_C);/* 8.Call all extensions post-RSHUTDOWN functions */ zend_try {

zend_post_deactivate_modules(TSRMLS_C);} zend_end_try();/* 9.SAPI related shutdown(free stuff)*/ zend_try {

sapi_deactivate(TSRMLS_C);} zend_end_try();/* 10.Destroy stream hashes */ zend_try {

php_shutdown_stream_hashes(TSRMLS_C);} zend_end_try();/* 11.Free Willy(here be crashes)*/ zend_try {

shutdown_memory_manager(CG(unclean_shutdown)||!report_memleaks, 0 TSRMLS_CC);} zend_end_try();/* 12.Reset max_execution_time */ zend_try {

zend_unset_timeout(TSRMLS_C);} zend_end_try();#ifdef PHP_WIN32 if(PG(com_initialized)){

CoUninitialize();

PG(com_initialized)= 0;} #endif } /* }}} */ /* {{{ php_com_initialize */ PHPAPI void php_com_initialize(TSRMLS_D)

第二篇:软件著作权申请中源代码文档的编辑方法(本站推荐)

软件著作权申请中源代码文档的编辑方法:

一、清除整个文档的空行:

方法:用ctrl+a(快捷方式),选中全部源程序代码文档;点击word的查找替换功能

查找:^p^P;替换为:^P。选择“全部替换”。反复N次,直到全部替换完成。

二、源代码每页不低于50行的实现方法:

1、设置整个文档的字体和字号:

方法:用ctrl+a,全选文档。在选中的文档上,点击鼠标右键(功能键),找到“字体”选项,选择“+中文正文”字体、五号字。如下图所示

2、通过文档的“段落”功能设置,实现文档“每页不低于50行”的要求。方法:ctrl+a,文档全选。在文档全选的情况下,点击鼠标右键(功能键)。找到“段落”选项。调出对话框对文档进行设置如下: 选择行距:固定值;设置值:14磅。

三、文档的页眉及页码的设置(字号用5号)

此文档的页眉填加“软件著作权的全称+版本号”和页码(右上角)。效果如下图:

四、文档首页设置与编辑方法:

文字竖排:先“插入文本框”,再录入文字“*****软件源程序”。选择“竖排”文字格式,调整字号,调整文本框到页面合适的位置。效果如下图:

五、提示:

1、文档的页眉上,尽量要用软件全称且含版本号。

目的:如果你的软件简称出现问题时,源代码文档不受任何影响!为调整几个字重新打印61页(源程序要求60页,封面1页)纸会很不爽的!

二〇一四年二月十四日

第三篇:软件著作权-说明书

产品说明书

项目背景

在当前竞争激励的嵌入式产品市场,芯片厂商不仅仅要提供高度集成化和最优性价比的SoC芯片产品,以及基于该SoC芯片的软件整体解决方案,同时,还需要向用户提供简单易用的应用程序开发调试工具,使得基于该芯片方案的最终产品能快速地推向市场。本项目定义为数字电视嵌入式软件集成开发环境,用于支持采用国产数字电视SoC芯片的嵌入式系统的应用软件开发,产品满足应用软件开发所需的基本功能。

产品概要说明

本产品是为了减少用户操作而提供的一套模板生成框架。避免每次让用户从零开始的不必要的繁琐操作而设计。用户可以根据自己的要求和环境选择最为理想的开发框架。然后通过修改框架或者添加功能,从而生成用户所需的产品。大大的减少了用户开发时间,极大的增加了工作效率以及极大的增加了可操作性和可执行性。

详细说明

得到安装包后,解压缩到用户指定的文件夹下,系统会自动注入注册表以及注册系统环境变量。不用用户手动加载。自动加载完成后,用户将要重启电脑,待电脑重启后,打开解压缩的路径,找到集成开发环境Ablator「注:集成开发环境,简称IDE。是该平台的统称,下面将会用IDE来代替。Ablator是该产品具体名称」的文件夹。

双击打开Ablator文件夹,进入文件后出现一个IDE文件夹,该文件夹就是整个集成开发环境的主目录。

进入下一级目录,将会出现成个平台的框架结构。其中包含configuration,features,plugins,workspace四个文件夹和Ablator.exe主执行程序。下面解释将解释各个文件以及执行程序的作用。

①Configuration文件夹:该文件夹是基于IDE的配置文件夹,其中记录各种信息,以及配置各种相关的插件。

②Features文件夹:Features目录下方的都是插件的配置信息,启动信息还有一些图片等 一些资源。与Plugins文件夹相关。

③Plugins文件夹:该文件夹下放置的全部是IDE所使用的插件包。有一部分的插件配置文件也放置在其中。其中一部分插件与Features文件夹的配置文件相关联。

④Workspace文件夹:该文件夹是管理用户程序的工作空间「注:工作空间是指含有地理数据集的目录,可以保存本次打开的所有数据源和数据集,以后打开此工作空间,则该工作空间所包括的所有数据源和数据集会全部自动打开。(图1)」

⑤Ablator.exe:该程序是可执行程序,是整个IDE的入口。运行该程序将进入IDE。其间要输入正确的工作空间,方能进入IDE。

结构概要设计

1应用仓库配置

应用仓库配置模块提供给用户良好的用户体验,用于指导用户根据自己的需求快速、准确地开发产品。该模块包含两个字模块:远程仓库配置,本地仓库配置。

远程仓库配置:终端从服务器下载配置文件manifest.xml,终端通过解析该文件将服务器所提供的应用展示给用户,用户可根据自身的开发需求选择相应项目模板进行开发,同时用户可选择服务器提供的可选配置项,以进行组件重用,实现快速开发。

本地仓库配置:初始情况下本地仓库仅欲置若干应用程序供用户使用,用户从远程服务器获取相应的应用保存在本地,避免了以后进行相同产品开发带来的通信时延。本地仓库的另一功能是当服务器不可达时,用户的需求能够从本地库中得到满足。

应用仓库存储的库类型包含以下四种:原子库、模块、解决方案和应用程序。其中,原子库不可再分,模块可包含原子库,解决方案可由若干模块组成,应用程序在解决方案的基础之上实现。

2应用仓库模块

应用仓库配置模块包含两个字模块:远程仓库配置,本地仓库配置。远程仓库配置用户可与远程服务器连接,并从服务器下载相应解决方案及可选库进行快速开发。

2.1远程仓库配置

1.流程图 远程仓库子模块的流程图如图1.1所示:

开始N服务器可达Y下载配置文件manifest.xml解析配置文件并展示给用户N用户选择工程及可选项将工程id及可选项id发送到服务器,请求下载下载成功Y打开建立的工程完成

图1.1 远程仓库配置

远程仓库配置子模块:在服务器可达的情况下,解析从服务器下载的manifest.xml,以工程向导方式指导用户完成工程配置建立。在用户选定工程类型和可选配置后向服务器请求所有文件,并下载到本地仓库中保存。之后对于用户的同样需求可直接读取本地仓库中的数据。

本地仓库子模块的流程图如图2.2所示:

开始4

解析本地配置文件manifest.xml并展示给用户用户选择工程及可选项根据用户所选工程及配置完成向导 图1.2本地仓库配置

本地仓库配置子模块:解析本地配置文件manifest.xml。根据解析内容生成工程向导。用户依据向导流程完成工程配置及新建。

2结构图

应用仓库配置模块的结构图如图2.1所示。

完成服务器工程向导本地文件系统 图2.1 结构图

1)工程向导向服务器请求manifest.xml配置文件

2)解析manifest.xml文件,生成工程向导页面指导用户完成工程配置建立 3)向服务器请求用户所选工程及配置,并下载到本地仓库中。4)将用户工程相关文件复制到Eclipse workspace下,配置工程属性。3调用关系

应用仓库配置模块的调用关系图如图3.1所示。

服务器通信模块Manifest.xml配置文件工程向导在Eclipse Workspace生成工程Project及工程配置.project 图3.1 调用关系图

工程向导得到manifest.xml文件(两种途径:从服务器获得或从本地文件系统获得)、用户工程的模板文件以及可选库文件后,解析manifest.xml文件。依据Eclipse工程项目规范建立工程,并将模板文件及库文件拷贝到Eclipse workspace下,若模板文件中存在扩展点,向导将扩展程序添加到扩展点,同时根据环境变量读取系统库文件并添加到工程属性中。最终在IDE视图、编辑器中显示完整工程。

本地模板库

应用程序(Application):提供关于应用程序开发的模板。其中包含了解决方案。解决方案(Solution):针对某一个问题而提出的一个解决问题的方案。其中包含了模块。模块(Module):由多个原字库组成的,叫模块。其中包含了原字库。原子库(Atom):属于最底层模板,不能再细分。

Manifest.xml:配置文件,提供相关属性信息,供显示。不直接参与编译。

Download:在服务器可达的情况下,解析从服务器下载的manifest.xml,以工程向导方式指导用户完成工程配置建立。在用户选定工程类型和可选配置后向服务器请求所有文件,并 下载到本地仓库中保存。之后对于用户的同样需求可直接读取本地仓库中的数据。

主界面简介

主界面如图1所示。

IDE平台由几个称为视图的窗格组成,下面是几个主要的视图窗口:项目资源管理器视图:该视图允许我们创建、选择和删除项目。

编辑器区域:项目资源管理器视图右上侧的窗格是编辑器区域。取决于N项目资源管理器视图中选定的文档类型,一个适当的编辑器窗口将在这里打开。如果IDE没有注册用于某特定文档类型(例如Windows系统上的.doc文件)的适当编辑器,IDE将设法使用外部编辑器来打开该文档。

大纲视图:编辑器区域右侧的大纲视图在编辑器中显示文档的大纲;这个大纲的准确性取决于编辑器和文档的类型;对于C源文件,该大纲将显示所有已声明的类、属性和方法。

选项卡视图:选项卡视图(问题视图、书签和控制台)收集关于我们正在操作的项目的信息;可以是IDE生成的信息,比如编译错误,也可以是手动添加的任务。该IDE平台的大多数其他特性,例如菜单和工具栏,都应该和其他那些熟悉的应用程序类似。

图1 IDE主界面

用户操作举例

1本地应用仓库:

本次采用的实例是基于Linux系统下不同文本格式的压缩算法。这个算法提供了给了用户1种到多种不同的压缩算法供用户选择,当用户只需进行单一格式的文本压缩时,可以选择其中所需的1种单一算法进行压缩。当用户想同时对1个文本进行多种格式压缩时,可以同时选择多个所需的算法进行文本压缩。这样大大的节省了操作步骤和时间,也节省了反复操作而出现的冗余和大量的工作空间。因结果只能在测试的开发板上进行查看,不能截图说明。所以只能在PC机上截取调试过程和各个参数。下面则是该实例的具体操作步骤和解说,请详细阅览。

1.1首先在桌面或者安装目录下找到执行程序,名称为Ablator.exe。

1.2双击运行该执行程序,用户将进入工作空间输入窗口,将自己的工程放置在自己的PC 机某一个文件目录下面。点击确定,将进入IDE的主界面。如果想下次或者以后都长久的使用该工作空间的话,请选择[将此值用作缺损值并不再询问(U),],选择了过后,单击确定进入IDE后,下次启动将默认选择进入该工作空间,而不会出现该对话框了。如果想选择另外个工作空间的话,请进入IDE的主界面,依次选择:窗口→首选项→常规→启动和关闭→工作空间→选择[启动时提示工作空间(W)]如图1-2。选择了过后,下次重启IDE时就会提示工作空间选项页了。

图1-2 工作空间的显示

1.3当进入IDE主界面后,请依次选择【文件→新建工程→项目→Tool】然后会出现2个可选项,一个是本地库,一个是远程库(如图1.3)。这里先介绍本地库,所以用户请选择本地库。

图1.3 库的选择

在Tool目录下包含两个子目录本地库和远程库,本地库与远程库的区别在于以下两点: 1.读取的配置文件不同,本地库读取本地配置文件manifest.xml,远程库从服务器下载manifest.xml并读取。

2.本地库读取的模板文件保存在本地物理磁盘上,而远程库读取的模板文件需从服务器下载到本地再读取。

1.4选择本地库后,点击下一步进入首选项页面,在上方的文本框中输入该工程的工程名。1.5输入完成后,点击下一步进入选择向导,用户可以选择想要开发的总方案[这里选择的是:解决方案框架]。左边为可选项,右边为说明。如图1.5.图1.5 总方案的选择与说明

1.6用户选择了方案以后,单击下一步进入具体解决方案类型[这里选择的是:文本压缩算法解决方案]。左边为可选项,右边为说明。用户可以根据自己的需求来选择要使用哪一套具体的方案。如图1.6

图1.6 具体方案的选择以及说明

1.7用户选择了具体解决方案后,点击下一步进入“文本压缩算法”所提供的可选项模板页面。里面包含了“文本压缩算法”所提供的各种压缩算法,用户可以根据自己的需求进行选择。左边为可选项,右边为说明。这里选择前两项作为项目演示。如图1.7

图1.7 具体模板的选择与说明

1.8当用户选择好所需要的压缩算法后,点击完成按钮。将会生成相应的模板文件提供给用户进行操作。其中src文件夹中包含的是我们提供的模板文件,headers文件夹中包含的是项目的头文件,options中包含的是项目的库文件。如图1.8

图18 模板工程的介绍

工程的选择建立流程都是通过manifest.xml文件配置解析出来的,然后判断本地模板库中是否有相应的模板文件。如果没有,将向服务器发送请求,要求下载模板。如下次再建立此模板工程,发现本地库中已经存在该模板文件,将不会发送请求给服务器,而是直接从本地模板库中调去该模板文件。从而大大减小了服务器的使用空间。详细流程请观看-应用仓库模块 图1.1。

2远程应用仓库

2.1配置远程仓库配置以及简介 简介

首先,用户要提供正确的信息才能正常的连接到服务端。而且往往这些相关连接信息都是在注册表或者是配置文件中固定了的。要修改必须修改注册表或者配置文件中的信息才能达到目的。但是这样会大大降低工作效率以及时间。但服务端有可能偶尔变动,不会经常在1台服务器上或者是说出于某个原因导致服务器要转换。所以用户就必须要更改相关信息,才能连接新的服务端。而且往往这些相关连接信息都是在注册表或者是配置文件中固定了的。要修改必须修改注册表或者配置文件中的信息才能达到目的。但是这样会大大降低工作效率以及时间。为了使用户更方便,更快捷以及更灵活的使用以及修改相关信息,我们专门提供了一个可视化页面供用户操作修改相关的操作(如图2.1)。用户只需要打开此页面,输入相应的属性就能修改连接信息,从而节省出很多时间,也能大大降低因修改大量信息而导致时容易出错的状况。

相关配置

所以在进行远程服务器连接操作时,请先注意下IDE中的配置信息是否正确。步骤为:进入IDE主界面→窗口→首选项→远程数据仓库配置(如图2.1)。

服务器IP:服务器所在的IP地址,也就是目标机IP地址,非本机IP。服务器端口:服务器连接端口。请确保开启和未被占用。

服务器FTP端口:下载端口,PC机通常情况下是21.具体还是更具服务端所提供的端口。

超时时间/毫秒:在所填写的毫秒数内,未得到服务器响应将自动断开连接,并且提 示。

用户名:服务器分配给用户的用户名。

密码:服务器分给用户的密码。需和一起提供的用户名匹配。

图2.1 远程数据仓库配置

用户修改了或者添加了信息后请点击确认,保存填写的相关信息,否则直接关闭的话是不会保存的。

2.2远程应用仓库

2.2.1当进入IDE主界面后,请依次选择【文件→新建工程→项目→Tool】然后会出现2个可选项,一个是本地库,一个是远程库(如图2.2.1)。上面已经介绍了本地库的流程了,所以这里选择远程库。

图2.2.1 远程库的选择

2.2.2选择了远程库后,点击“下一步”按钮,将会开始连接服务器端。如图2.2.2

图2.2.2 连接状态

此时会出现进度条,如用户想中断连接,可以点击取消按钮进行中断。

2.2.3如出现异常提示“无法连接服务器,请检查端口和服务器地址”,则是连接失败。如图2.2.3

图2.2.3 提示异常

服务器连接失败,失败原因包括:

1.连接到远程服务器IP端口失败,服务器为开启或者服务器端口关闭 2.登录到远程FTP服务器失败,FTP为开启或用户名密码错误 3.连接超时

2.2.4如信息填写正确,服务器开启状态,将会成功进入。如图2.2.4

图2.2.4 成功进入远程库

输入项目名:在项目名一栏输入用户自定义项目名,项目名以字母,数字,下划线开头,中间不能包括斜杠, 反斜杠<>, 冒号<:>,句号<.>等特殊符号;

设置项目目录:如果使用系统默认目录,请选择“使用缺省位置”,否则自己指定项目所在的目录,如图所示:

图2.2.4 输入项目名以及项目位置

2.2.5在项目名及位置选择正确后,下一步按钮呈可用状态,否则下一步按钮灰显不可用,点击“下一步”进入如图2.2.5所示的“选择向导”工程向导页。

图2.2.5 选择工程类型向导页

图中左边的文本框显示提供的四种不同类型的项目,分别为:应用程序、解决方案、模块以及原子库。右边的文本框显示当前所选的项目类型的描述文字。

2.2.6双击“解决方案框架”或者点击“下一步”按钮,进入解决方案开发向导页,如图2.2.6

图2.2.6 解决方案开发向导页

图中左边的文本框显示提供的三种不同类型的项目,分别为:解决方案A、文本压缩算法解决方案以及加密算法解决方案。右边的文本框显示当前所选的解决方案的描述文字。

2.2.7双击图2.2.6中解决方案开发向导页中左边文本框中的“加密算法解决方案”,进入可选项配置向导页,如图2.2.7所示:

图2.2.7可选项向导页

如图2.2.7所示左边显示的是该工程模板提供的可选项,包括两个加密算法,分别是MD5加密算法和DES加密算法,右边的文本框显示所选的可选项的文本描述。选择MD5加密算法 库,点击完成。在“项目资源管理器”视图中观察到所建项目test,展开工程目录如下图所示:

工程的选择建立流程都是通过manifest.xml文件配置解析出来的,然后判断本地模板库中是否有相应的模板文件。如果没有,将向服务器发送请求,要求下载模板。如下次再建立此模板工程,发现本地库中已经存在该模板文件,将不会发送请求给服务器,而是直接从本地模板库中调去该模板文件。从而大大减小了服务器的使用空间。详细流程请观看-应用仓库模块 图1.1。工程目录说明: 工程名:test Include:包含库文件,从所配置的环境变量C_INCLUDE_PATH以及CPLUS_INCLUDE_PATH中读取

Src:源文件目录,包含从模板中拷贝的源文件

Bin:从模板文件中拷贝的bin目录以及该目录下的所有文件 Ecpth:从模板文件中拷贝的ecpth目录以及该目录下的所有文件

Options:可选项目录,其中包括选取的可选项MD5加密算法的库文件libmd5.a

第四篇:软件著作权技术资料

技术资料

1.软件著作权研发情况简介、主要研发人简介;

2.软件著作权证书及相关受理、转让、变更(合同)等法律文书及价款支付凭证;

3.软件著作权说明书;

4.软件著作权项目建议书,合资合作意向书,可行性研究报告或技术改造方案;

5.软件著作权检测报告,科学技术成果鉴定证书,软件著作权技术检索资料,行业知名专家对技术的评审等;

6.年交纳的软著申请费等各项费用的收据、凭证。7.其他关于软著资料。财务资料

1.委托方近三年(含评估基准日)资产负债表、损益表 2.软著产品开发研制资金投入及费用统计; 3.委托方未来五年发展规划; 其它资料

1.委托方及产权持有者企业法人营业执照;公司的特种经营许可证(如有)和各种经营资质证书;

2.企业简介、组织机构图、历史沿革介绍、组织(股权)结构、公司章程、企业验资报告;

3.被投资企业营业执照、企业简介、组织机构图、历史沿革介绍、组织(股权)结构、公司章程、企业验资报告

第五篇:软件著作权说明书

说明书,要求:

1、截图要完整,要看得到右上角“关闭”窗口按钮。最好有登录界面、主界面等

2、图中显示的软件名称、版本号要和申请表里的内容一致,如果截图上有公司名字,要和变更后的公司新名称保持一致。

3、程序量在1万行以上的,用户手册不至少20页;低于10000行,不少于10页。

生产加工优化节料

管理系统

(使用说明书)

一 引言......................................................................................................1 1.1 编写目的........................................................................................1 1.2 背景................................................................................................1 1.3 参考资料........................................................................................1 二

用途....................................................................................................2 2.1 功能................................................................................................2 2.2 性能................................................................................................2 2.3安全保密.........................................................................................2 三 运行环境..............................................................................................3 3.1硬件设备.........................................................................................3 3.2支持软件.........................................................................................3 四 使用过程..............................................................................................3 4.1 操作界面中主要对象使用说明...................................................3 4.2 使用说明........................................................................................7 4.2.1车间生产配料.......................................................................7 4.2.2 长材规格维护....................................................................10 4.2.3 车间生产配料Old.............................................................11 4.2.4 基础数据维护....................................................................12 4.2.5 系统维护............................................................................15 4.2.6 帮助.....................................................................................17 4.2.7 退出.....................................................................................17

一 引言

1.1 编写目的

本说明书为指导车间人员使用公司“电力铁塔生产加工优化节料管理系统”而编写,希望该手册使他们在使用系统过程中能起到无师自通的作用。本手册介绍了系统的角钢生产自动调料、排料的功能及操作使用方法,但请读者注意,由于登录的权限不同,你所能使用的功能可能只是其中的一部分。

1.2 背景

该系统由长安铁塔公司信息中心开发。使用者是车间排料、调料人员、部门领导及有关人员,使用时各人按自己的身份登录,系统展示与你的身份相适应的功能模块.1.3 参考资料 计算机软件用户手册国家标准 数据库设计与实现 王能斌等编

华中理工出版社 信息系统分析与设计 刘鲁编

北航出版社

用途

2.1 功能

生产加工优化节料管理系统,主要由技术车间调用模块下的车间生产配料、长材规格维护、车间生产配料old三大模块组成。菜单界面见图1:

图1 2.2 性能

该系统性能稳定,符合用户要求。

2.3安全保密

系统具有较好的安全保密机制,每人在使用系统前必须先登录,依自己的权限使用系统。

三 运行环境

3.1硬件设备

微机 联想奔三和同等及以上配置的其它机型 打印机 windows支持的打印机

3.2支持软件

数据库 SQL Server 2000 开发工具 Power Builder 6.5 网络软件Windows NT 4.0 四 使用过程

4.1 操作界面中主要对象使用说明

本系统的操作采用统一的用户界面,操作界面中的主要对象先介绍如下,以后再遇到此种对象时不再详细说明。

操作界面中的主要对象包括8类: 菜单 2 页框 3 按钮 4 文本框 5 下拉列表框 6 单选按钮 7 微调框 8 滚动条 各类对象的使用方法介绍如下: 1 菜单

1)图示:菜单的形式如图2所示:

图2 2)功能:菜单展示系统的全部功能。菜单分为主菜单和子菜单,位于屏幕顶端的是主菜单,每一个菜单项具有系统的一大功能,点击某一菜单项可往下拉出另一菜单称为下拉子菜单。它展示出子功能模块(带标志,表示该菜单还有下一级菜单)或功能程序(无标志)。若是功能模块单击后又可拉出一级菜单称为三级菜单。其余类推。

3)操作:层层单击直到功能程序。2 页框

1)图示:页框的形式如图3所示:

图3 2)功能:页框是若干功能的集合体,以方便用户的操作和对照。

3)操作:用鼠标单击页眉即可转到新的一页。若单击当前页,屏幕状态不变。按钮 ① 插入: 此图标为插入按钮,用于插入一条新记录。当单击此按钮时,界面的各输入框皆变为空白,光标停在第一个字段上,用户可输入有关数据,输完后按回车键输入下一字段,然后点击保存按钮,将所输记录存盘,若不想保存则单点击放弃按钮此次操作结束,若要继续输入再点击插入按钮,重复上述操作。

② 修改:

此图标为修改按钮,用于对记录中错误数据的修改,单击此按钮,然后把光标定位在欲修改的字段上。重新输入正确数据,照此方法修改完所要修改的字段,然后点击保存按钮,将修改结果存盘,若不想保存则点击放弃按钮。

③ 删除: 此图标为删除按钮,用于删除当前记录,当确定当前记录不再需要时,点击此按钮,为慎重起见,弹出一对话框让你确认,确认后删除生效。

④ 保存:

此图标为保存按钮,数据录入完后,点击此按钮可进行存盘,若不想保存则点击放弃按钮。

⑤ 放弃:

此图标为放弃按钮,数据录入完后,若不想保存则点击此按钮,就会放弃当前的操作结果。

⑥ 打印:面。

⑦ 计算器: 此图标为打印按钮,点击此按钮可打印需要的页

此图标为计算器按钮,点击此按钮可弹出计算

器,然后进行你所需要的数据计算。

⑧ 退出:4 文本框

1)图示:文本框如图 2)功能:用于输入或显示数据

3)操作:若在输入状态,光标停止文本框左边界处依数据数型的要求,输入有关信息即可。下拉列表框

1)图示:下拉列表框如图 所示

2)功能:用于某些较少且固定的多项目的选择输入,以节约输入时间和保证录入的正确性。

3)操作:用鼠标按住上下箭头,以查找合适的选项,找到后单击一下即完成该字段的输入。单选按钮

1)图示:单选铵钮如图

所示

所示

此图标为退出按钮,点击此按钮退出编辑窗口。

2)功能:在多个可选项供用户选择时,可选其中之一,作为结果数据存入该系统中。

3)操作:点击 7 微调框

1)图示:微调框如图

所示

2)功能:用于输入变化规范的数值型数据

3)操作:点击微调框中的上箭头或下箭头,使数据变化(上增

下减)变化至合适的数据后停止,即完成输入。滚动条

1)图示:滚动条如图 2)功能:拓展数据的显示范围

3)操作:滚动条分为垂直滚动条和水平滚动条两种。点击垂直滚动条的上下箭头,可以浏览整个数据库表的记录。点击水平滚动条的左右箭头,可以浏览整个数据库表的所有字段。

所示

4.2 使用说明

本系统各窗口界面操作基本相同,添加、删除按钮是用来对数据进行加减;编辑按钮对数据进行修改;取消和关闭按钮是取消操作、退出编辑窗口。

4.2.1车间生产配料

如图4,此处的功能为某批次号的角钢生产自动配料,共包含了合同批次表显示、批次号优化排料计算、批次表“重”零件号报警三项功能。它的维护界面在“技术车间调用”主菜单中的“车间生产配料”菜单下。

图4 4.2.1.1合同批次表显示

此处的功能为显示某一合同号下的所有生产批次号并对该合同的生产进度进行报警,如图5。

图5 8

4.2.1.2批次号优化排料计算

此处的功能为对某一生产批次进行角钢优化排料计算并生成调配原料表和优化下料表,如图6。

图6

4.2.1.3批次表“重”零件号报警

此处的功能为对生产批次号下所有的相同零件号的具体信息进行比对(包含基数、材质、规格全称、长度、单重等),如图7。

图7 4.2.2 长材规格维护

此处的功能为对仓库中所有的角钢进行维护(规格维护是角钢优化排料的基础条件)。它的维护界面在“技术车间调用”主菜单中的“长材规格维护”菜单下。

图8

4.2.3 车间生产配料Old 此处的前三项功能与车间生产配料的功能相同,第四项的功能为将文本形式的材料表直接导入系统内免除了人为输入的繁琐。它的维护界面在“技术车间调用”主菜单中的“车间生产配料Old”菜单下。

图9

4.2.4 基础数据维护

4.2.4.1产品类信息设置

此处的功能为产品类信息的维护。它的维护界面在“基础数据维护”主菜单中的“产品类信息设置”菜单下。

图10 4.2.6.2生产用材料名称

此处的功能为生产用材料信息登记。它的维护界面在“基础数据维护”主菜单中的“生产用材料名称”菜单下。

图11 4.2.6.3角钢理论重量表

此处的功能为角钢理论重量登记。它的维护界面在“基础数据维护”主菜单中的“角钢理论重量表”菜单下。

图12 4.2.6.4车间信息维护

此处的功能为车间信息登记。它的维护界面在“基础数据维护”主菜单中的“车间信息维护”菜单下。

图13

4.2.5 系统维护

对电力铁塔生产加工优化节料管理系统权限进行维护。4.2.5.1权限设置

设置该系统操作、使用者的权限。

图14

4.2.5.2修改密码

更改用户登陆口令。

图15 4.2.5.3企业信息

维护企业信息。

图16 16

4.2.6 帮助

4.2.6.1 关于

提供电力铁塔生产加工优化节料管理系统的版权、版本信息。4.2.6.2计算器 调用系统计算器。4.2.6.3万年历 提供年历查询表

4.2.7 退出

退出电力铁塔生产加工优化节料管理系统。

下载软件著作权-源代码范本[5篇范例]word格式文档
下载软件著作权-源代码范本[5篇范例].doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    软件著作权流程

    软件著作权登记办理步骤 1、办理流程 填写申请表--→提交申请文件--→缴纳申请费--→登记机构受理申请--→补正申请文件(非必须程序)--→取得登记证书 注释:如已登记软件的......

    软件著作权申请书

    软件著作权申请书 ——冻土远程实时监测软件系统 黑龙江省水利科学研究院 2010年4月 软件著作权申请书 ——冻土远程实时监测软件 冻土远程实时监测软件是黑龙江省水利科学......

    软件著作权申请

    目录 1.1 什么是软件著作权登记 1.2 什么是软件版权登记 1.3 为什么要进行软件著作权登记(软件版权登记) 1.4 软件著作权登记所需材料 1.5 哪些人可以作为软件著作权登记的......

    软件著作权授权委托书

    授权委托书 委托 杭州市版权保护管理中心 办理计算机软件著作权登记事宜。 申请者名称: 软件名称: 软件版本: 代理权限为:代理软件著作权登记申请,提交登记所需材料,交纳登记费用,......

    软件著作权申请

    软件著作权申请 软件著作权登记办理流程填写申请表(在网站上填写)→提交申请文件(网站提交)→缴纳申请费用→补正申请文件(非必须程序)→取得登记证书(申请受理之日起30个工作日后,......

    软件著作权申请材料

    一、软件著作权登记所需材料: 1、按要求填写的软件著作权登记申请表; 2、软件的鉴别材料; 软件的鉴别材料包括程序和文档的鉴别材料。 程序和文档的鉴别材料应当由源程序和任何......

    软件著作权申请事项--

    软件著作权申请事项 一、 保护期限 保护期限软件著作权自软件开发完成之日起产生。自然人的软件著作权,保护期为自然人终生及其死亡后50年,截止于自然人死亡后第50年的12月31......

    软件著作权转让合同

    软件著作权转让合同 甲方(转让方):_________ 乙方(受让方):_________ 为了共同为国家软件事业贡献力量,依照《中华人民共和国著作权法》和《计算机软件保护条例》的相关规定,甲乙双......