Ejemplo n.º 1
0
pcp(char *source, char *destpath)
{
    char *srcBuf, *dstBuf;
    uint32_t srcSize,dataOffset,dstSize,dstDataOffset;
    char srcMd5sig[36],dstMd5sig[36];
    int status;

    if ((source == NULL) || (destpath == NULL))
    {
        printf("Usage:  pcp \"dev:source_filename\",\"dev:dest_filename\"\n");
        printf("        where 'dev' can be: ffs - controller flash, rsh - host, icat - iCAT ISFlash]\n");
        printf("   e.g. pcp \"rsh:/home/vnmr1/myfile.txt\",\"ffs:myfile.txt\"\n");
        printf("        pcp \"rsh:/home/vnmr1/myfile.txt\",\"icat:myfile.txt\"\n");
        printf("        pcp \"ffs:myfile.txt\",\"rsh:/home/vnmr1/myfile.txt\"\n");
        printf("        pcp \"icat:myfile.txt\",\"ffs:myfile.txt\"\n");
        printf("   Note some devices may not be available on all controllers\n\n");
        return(-1);
    }

    srcBuf = vsload(source, &srcSize, &dataOffset );
    // printf("pcp: src: '%s', size: %ld, offset: %ld, Buff: 0x%lx\n", source,srcSize,dataOffset,srcBuf);
    if (srcBuf == NULL)
    {
        printf("Copy failed.\n");
        return -1;
    }

    status = vswrite(destpath, (srcBuf + dataOffset), srcSize);
    // printf("pcp: status: %d, dst: '%s', size: %ld, offset: %ld, Buff: 0x%lx\n", status, destpath,srcSize,dataOffset,(srcBuf+dataOffset));
    if (status != 0)
    {
        free(srcBuf);
        printf("Copy failed.\n");
        return -1;
    }

    dstBuf = vsload(destpath, &dstSize, &dstDataOffset );
    // printf("pcp: vsload: dst: '%s', size: %ld, offset: %ld, Buff: 0x%lx\n", destpath,dstSize,dstDataOffset,dstBuf);
    if (dstBuf == NULL)
    {
        free(srcBuf);
        printf("Copy failed.\n");
        return -1;
    }
    calcMd5((srcBuf + dataOffset), srcSize, srcMd5sig);
    calcMd5((dstBuf+dstDataOffset), dstSize, dstMd5sig);
    // printf("MD5 src: '%s', dst: '%s'\n",srcMd5sig,dstMd5sig);
    if ( strcmp(srcMd5sig,dstMd5sig) != 0)
    {
        free(srcBuf);
        free(dstBuf);
        printf("Verification failed.\n");
        printf("Copy failed.\n");
        return -1;
    }
    printf("Copy Successful.\n");
    free(srcBuf);
    free(dstBuf);
    return 0;
}
Ejemplo n.º 2
0
int LogErr(const char* fmt, ...)
{
	int ret = -1;
	va_list vl;
	
	if (NULL == g_pLogOpt){
		g_pLogOpt->err_code = LOG_ERR_OBJECT_NULL;
		return -1;
	}
	
	va_start(vl, fmt);
	ret = vswrite(g_pLogOpt, fmt, vl);
	va_end(vl);
	return ret;		
}
Ejemplo n.º 3
0
int logerr(LOG_OPT* pLogOpt, const char* fmt, ...)
{
	int ret = -1;
	va_list vl;
	
	if (NULL == pLogOpt){
		pLogOpt->err_code = LOG_ERR_OBJECT_NULL;
		return -1;
	}
	
	va_start(vl, fmt);
	ret = vswrite(pLogOpt, fmt, vl);
	va_end(vl);
	return ret;	
}
Ejemplo n.º 4
0
int LogMsg(int level, const char* fmt, ...)
{
	int ret = -1;
	va_list vl;
	
	if (NULL == g_pLogOpt){
		g_pLogOpt->err_code = LOG_ERR_OBJECT_NULL;
		return -1;
	}
	
	if (NULL == fmt || strlen(fmt) <= 0){
        return 0;
	}
	
	if (g_pLogOpt->is_daemon && (level < LOG_ERROR || level > g_pLogOpt->level))
		return 0;
	
	va_start(vl, fmt);
	ret = vswrite(g_pLogOpt, fmt, vl);
	va_end(vl);
	return ret;
}