JZsdk_FileSystm.c 2.0 KB
#include <stdio.h>
#include "JZsdk_FileSystm.h"
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>


/*
*       用于运行指令
*
*/
int JZsdk_RunSystemCmd(char *systemCmd)
{
    //FILE *fp;

    //printf("JZsdk_RunSystemCmd:%s\n",systemCmd);

    // fp = popen(systemCmd, "r");
    // if (fp == NULL) {
    //     return -1;
    // }

    int status = system(systemCmd);
    if (status == -1 || WIFEXITED(status) == false) {
        printf("Call %s error, status = %d\n", systemCmd, status);
        return -1;
    }

    if (WEXITSTATUS(status) == 0) {
        printf("指令执行成功%s\n",systemCmd);
        return 0;
    } else {
        printf("Exit status is = %d", WEXITSTATUS(status));
        return -2;
    }
    //pclose(fp);

    return 0;
}

/*

    运行命令 并读取返回值

*/
// FILE* JZsdk_RunSystemCmd_ReturnFilePointer(char *systemCmd)
// {
//     FILE *fp;

//     fp = popen(systemCmd, "r");

//     pclose(fp);

//     return fp;
// }


int JZsdk_Socket()
{
    
}

//获取设备序列号
T_JZsdkReturnCode GetSerialNumber(char *SerialNumber)
{
	FILE *num_file;
    char num_char[15];

	num_file = fopen("/root/num", "rb+");
    if (num_file == NULL) 
    {
        num_file = fopen("/root/num", "wb+");
        if (num_file == NULL) 
        {
            return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
        }
    } 
    else 
    {
        int ret = fseek(num_file, 0, SEEK_SET);
        if (ret != 0) {
            printf("Seek log count file error, ret: %d.\r\n", ret);
        }

        ret = fread((char *) &num_char,14, sizeof(char), num_file);
        if (ret != sizeof(char)) {
            printf("Read num file error.\r\n");
        }
		else{
			printf("Read num file=%s\n",&num_char);
		}
    }
    fclose(num_file);

	if (SerialNumber != NULL)
	{
		memcpy(SerialNumber, num_char, 14);
        return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
	}

    return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
}