コード例 #1
0
void gptplogRegister(void)
{
#ifdef GENIVI_DLT
	DLT_REGISTER_APP("GPTP","OpenAVB gPTP");
	DLT_REGISTER_CONTEXT(dlt_con_gptp, "GNRL", "General Context");
#endif
}
コード例 #2
0
ファイル: dlt-system-shell.c プロジェクト: Airtau/genivi
void init_shell()
{
	DLT_LOG(dltsystem,DLT_LOG_DEBUG,
			DLT_STRING("dlt-system-shell, register callback"));
	DLT_REGISTER_CONTEXT(shellContext,"CMD","Execute Shell commands");
	DLT_REGISTER_INJECTION_CALLBACK(shellContext, 0x1001, dlt_shell_injection_callback);
}
コード例 #3
0
ファイル: dlt-system-logfile.c プロジェクト: Airtau/genivi
void register_contexts(LogFileOptions fileopts)
{
	DLT_LOG(dltsystem, DLT_LOG_DEBUG,
			DLT_STRING("dlt-system-logfile, registering file contexts."));
	int i;
	for(i = 0;i < fileopts.Count;i++)
	{
		DLT_REGISTER_CONTEXT(logfileContext[i], fileopts.ContextId[i],
				fileopts.Filename[i]);
	}
}
コード例 #4
0
ファイル: joynrlogging_dlt.cpp プロジェクト: HSchroeder/joynr
joynr_logging::Logger* Logging_dlt::getLogger(const QString& contextId, const QString& className) {
    QString loggerName = contextId + className;
    if (!loggers.contains(loggerName)) {
        QMutexLocker lock(&loggerMutex);
        if (!loggers.contains(loggerName)) {
            if (!contextHash.contains(contextId)) {
                DLT_REGISTER_CONTEXT(contextHash[contextId], contextId.toAscii(), contextId.toAscii());
            }
            loggers.insert(loggerName, new Logger_dlt(contextHash[contextId], className));
        }
    }

    return loggers.value(loggerName);
}
LoggerDLT::LoggerDLT(const char *appid, const char *description) :
    m_parentLogger(Logger::instance()),
    m_dltContext(calloc(1, sizeof(DltContext)))
{
    DLT_REGISTER_APP(appid, description);
    int level = atoi(getEnv("SYNCEVOLUTION_USE_DLT", "-1"));
    if (level > 0) {
        DLT_REGISTER_CONTEXT_LL_TS(*(DltContext *)m_dltContext, "SYNC", "SyncEvolution messages",
                                   (DltLogLevelType)level, DLT_TRACE_STATUS_OFF);
    } else {
        DLT_REGISTER_CONTEXT(*(DltContext *)m_dltContext, "SYNC", "SyncEvolution messages");
    }
    LoggerDLTInstance = this;
}
コード例 #6
0
ファイル: example4.c プロジェクト: Pelagicore/dlt
int main()
{
	unsigned char buffer[256];
	int num;

	DLT_REGISTER_APP("EXA4","Fourth Example");

	DLT_REGISTER_CONTEXT(con_exa1,"CON","First context");

	for(num=0;num<256;num++)
	{
		buffer[num] = num;
	}

	DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_STRING("DLT_RAW"));
	DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_RAW(buffer,256));

	DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_STRING("DLT_HEX8"));
	DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_HEX8(buffer,256));

	DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_STRING("DLT_HEX16"));
	DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_HEX16(buffer,256));

	DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_STRING("DLT_HEX32"));
	DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_HEX32(buffer,256));

	DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_STRING("DLT_HEX64"));
	DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_HEX64(buffer,256));

	DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_STRING("DLT_BIN8"));
	DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_BIN8(buffer,256));

	DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_STRING("DLT_BIN16"));
	DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_BIN16(buffer,256));

    usleep(1000);

	DLT_UNREGISTER_CONTEXT(con_exa1);

	DLT_UNREGISTER_APP();
}
コード例 #7
0
void filetransfer_thread(void *v_conf)
{
    DLT_LOG(dltsystem, DLT_LOG_DEBUG, DLT_STRING("dlt-system-filetransfer, in thread."));
    DltSystemConfiguration *conf = (DltSystemConfiguration *) v_conf;
    DLT_REGISTER_CONTEXT(filetransferContext, conf->Filetransfer.ContextId,
                         "File transfer manager.");

    sleep(conf->Filetransfer.TimeStartup);

    if(init_filetransfer_dirs(&(conf->Filetransfer)) < 0)
        return;

    while(!threads.shutdown)
    {
        if(wait_for_files(&(conf->Filetransfer)) < 0)
        {
            DLT_LOG(dltsystem, DLT_LOG_ERROR, DLT_STRING("Error while waiting files. File transfer shutdown."));
            return;
        }
        sleep(conf->Filetransfer.TimeDelay);
    }
}
コード例 #8
0
int pclInitLibrary(const char* appName, int shutdownMode)
{
   int rval = 1;

   pthread_mutex_lock(&gInitMutex);
   if(gPclInitCounter == 0)
   {
      DLT_REGISTER_CONTEXT(gPclDLTContext,"PCL","Context for persistence client library logging");
      DLT_LOG(gPclDLTContext, DLT_LOG_DEBUG, DLT_STRING("pclInitLibrary => INIT  PCL - "), DLT_STRING(appName),
                              DLT_STRING("- init counter: "), DLT_INT(gPclInitCounter) );

      rval = private_pclInitLibrary(appName, shutdownMode);
   }
   else
   {
      DLT_LOG(gPclDLTContext, DLT_LOG_DEBUG, DLT_STRING("pclInitLibrary - INIT  PCL - "), DLT_STRING(gAppId),
                                            DLT_STRING("- ONLY INCREMENT init counter: "), DLT_INT(gPclInitCounter) );
   }

   gPclInitCounter++;     // increment after private init, otherwise atomic access is too early
   pthread_mutex_unlock(&gInitMutex);

   return rval;
}
コード例 #9
0
ファイル: dlt-adaptor-udp.c プロジェクト: Airtau/genivi
int main(int argc, char* argv[])
{
    int sock;
    int bytes_read;
    socklen_t addr_len;
    int opt, port;
    char recv_data[MAXSTRLEN];
    struct sockaddr_in client_addr, server_addr;

    char apid[DLT_ID_SIZE];
    char ctid[DLT_ID_SIZE];
    char version[255];

    dlt_set_id(apid, PU_DLT_APP);
    dlt_set_id(ctid, PU_DLT_CONTEXT);

    port = RCVPORT;

    while ((opt = getopt(argc, argv, "a:c:hp:")) != -1)
    {
        switch (opt)
        {
        case 'a':
        {
            dlt_set_id(apid,optarg);
            break;
        }
        case 'c':
        {
            dlt_set_id(ctid,optarg);
            break;
        }
        case 'h':
        {
            dlt_get_version(version);

            printf("Usage: dlt-adaptor-udp [options]\n");
            printf("Adaptor for forwarding received UDP messages to DLT daemon.\n");
            printf("%s \n", version);
            printf("Options:\n");
            printf("-a apid      - Set application id to apid (default: UDPA)\n");
            printf("-c ctid      - Set context id to ctid (default: UDPC)\n");
            printf("-p           - Set receive port number for UDP messages (default: %d) \n", port);
            printf("-h           - This help\n");
            return 0;
            break;
        }
        case 'p':
        {
            port = atoi(optarg);
            break;
        }
        default: /* '?' */
        {
            fprintf(stderr, "Unknown option '%c'\n", optopt);
            exit(3);
        }
        }
    }

    if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1)
    {
        perror("Socket");
        exit(1);
    }

    server_addr.sin_family = AF_INET;
    server_addr.sin_port = htons(port);
    server_addr.sin_addr.s_addr = INADDR_ANY;
    bzero(&(server_addr.sin_zero), 8);


    if (bind(sock, (struct sockaddr *)&server_addr,
             sizeof(struct sockaddr)) == -1)
    {
        perror("Bind");
        return -1;
    }

    addr_len = sizeof(struct sockaddr);

    DLT_REGISTER_APP(apid,PU_DLT_APP_DESC);
    DLT_REGISTER_CONTEXT(mycontext,ctid,PU_DLT_CONTEXT_DESC);

    while (1)
    {
        bytes_read = 0;

        bytes_read = recvfrom(sock, recv_data, MAXSTRLEN, 0,
                              (struct sockaddr *)&client_addr, &addr_len);

        if (bytes_read == -1)
        {
            if (errno == EINTR)
            {
                continue;
            }
            else
            {
                DLT_UNREGISTER_CONTEXT(mycontext);
                DLT_UNREGISTER_APP();
                exit(1);
            }
        }

        recv_data[bytes_read] = '\0';

        if (bytes_read != 0)
        {
            DLT_LOG(mycontext, DLT_LOG_INFO, DLT_STRING(recv_data));
        }
    }

    DLT_UNREGISTER_CONTEXT(mycontext);
    DLT_UNREGISTER_APP();

    return 0;
}
コード例 #10
0
static void *listenForMessages( void *ptr )
{  
    struct sockaddr_in si_me;
    struct sockaddr_in si_other;
    socklen_t slen = sizeof(si_other);
    ssize_t readBytes = 0;
    char buf[BUFLEN+1]; //add space fer terminating \0
    char msgId[MSGIDLEN+1]; //add space fer terminating \0
    int port = PORT;

    DLT_REGISTER_APP("GNSS", "GNSS-SERVICE");
    DLT_REGISTER_CONTEXT(gContext,"GSRV", "Global Context");

    LOG_DEBUG(gContext,"GNSSService listening on port %d...",port);

    if((s=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP))==-1)
    {
        LOG_ERROR_MSG(gContext,"socket() failed!");
        exit(EXIT_FAILURE);
    }

    memset((char *) &si_me, 0, sizeof(si_me));
    si_me.sin_family = AF_INET;

    si_me.sin_port = htons(port);
    si_me.sin_addr.s_addr = htonl(INADDR_ANY);
    if(bind(s, (struct sockaddr *)&si_me, (socklen_t)sizeof(si_me)) == -1)
    {
         LOG_ERROR_MSG(gContext,"bind() failed!");
         exit(EXIT_FAILURE);
    }

    while(isRunning == true)
    {
        //use select to introduce a timeout - alloy shutdown even when no data are received
        fd_set readfs;    /* file descriptor set */
        int    maxfd;     /* maximum file desciptor used */        
        int res;
        struct timeval Timeout;
        /* set timeout value within input loop */
        Timeout.tv_usec = 0;  /* milliseconds */
        Timeout.tv_sec  = 1;  /* seconds */
        FD_SET(s, &readfs);
        maxfd = s+1;
        /* block until input becomes available */
        res = select(maxfd, &readfs, NULL, NULL, &Timeout);

        if (res > 0)
        {
                    
            readBytes = recvfrom(s, buf, BUFLEN, 0, (struct sockaddr *)&si_other, (socklen_t *)&slen);
    
            if(readBytes < 0)
            {
                LOG_ERROR_MSG(gContext,"recvfrom() failed!");
                exit(EXIT_FAILURE);
            }
            buf[readBytes] = '\0';

            LOG_DEBUG_MSG(gContext,"------------------------------------------------");

            LOG_DEBUG(gContext,"Received Packet from %s:%d", 
                      inet_ntoa(si_other.sin_addr), ntohs(si_other.sin_port));

            sscanf(buf, "%*[^'$']$%" STRINGIFY(MSGIDLEN) "[^',']", msgId);

            LOG_DEBUG(gContext,"MsgID:%s", msgId);
            LOG_DEBUG(gContext,"Len:%u", (unsigned int)strlen(buf));
            LOG_DEBUG(gContext,"Data:%s", buf);

            LOG_DEBUG_MSG(gContext,"------------------------------------------------");

            if(strcmp("GVGNSPOS", msgId) == 0)
            {
                 processGVGNSPOS(buf);
            }
            else if(strcmp("GVGNSTIM", msgId) == 0)
            {
                 processGVGNSTIM(buf);
            }
            else if(strcmp("GVGNSSAT", msgId) == 0)
            {
                 processGVGNSSAT(buf);
            }
            //handling of old logs for backward compatibility 
            else if(strcmp("GVGNSP", msgId) == 0)
            {
                 processGVGNSP(buf);
            }
            else if(strcmp("GVGNSC", msgId) == 0)
            {
                 processGVGNSC(buf);
            }
            else if(strcmp("GVGNSAC", msgId) == 0)
            {
                 processGVGNSAC(buf);
            }            
        }

    }

    close(s);

    return EXIT_SUCCESS;
}
int main(int argc, char *argv[])
{
   int ret = 0;
   int shutdownReg = PCL_SHUTDOWN_TYPE_FAST | PCL_SHUTDOWN_TYPE_NORMAL;

   const char* appID = "lt-persistence_client_library_dbus_test";

   (void)argc;
   (void)argv;

   printf("Dbus interface test application\n");

   /// debug log and trace (DLT) setup
   DLT_REGISTER_APP("NOTY","tests the persistence client library");

   DLT_REGISTER_CONTEXT(gPcltDLTContext, "PCLt", "Context for PCL testing");

   ret = pclInitLibrary(appID, shutdownReg);
   printf("pclInitLibrary - %s - : %d\n", appID, ret);

   ret = pclKeyHandleOpen(PCL_LDBID_LOCAL, "posHandle/last_position", 0, 0);

   printf("Register for change notification\n");
   ret = pclKeyRegisterNotifyOnChange(0x20, "links/last_link2", 2/*user_no*/, 1/*seat_no*/, &myChangeCallback);


   ret = pclKeyRegisterNotifyOnChange(0x20, "links/last_link3", 3/*user_no*/, 2/*seat_no*/, &myChangeCallback);
   ret = pclKeyRegisterNotifyOnChange(0x20, "links/last_link4", 4/*user_no*/, 1/*seat_no*/, &myChangeCallback);

   ret = pclKeyRegisterNotifyOnChange(PCL_LDBID_LOCAL, "69",     1/*user_no*/, 2/*seat_no*/, &myChangeCallback);
   printf("Reg => 69: %d\n", ret);
   ret = pclKeyRegisterNotifyOnChange(PCL_LDBID_LOCAL, "70",     1/*user_no*/, 2/*seat_no*/, &myChangeCallback);
   printf("Reg => 70: %d\n", ret);
   ret = pclKeyRegisterNotifyOnChange(PCL_LDBID_LOCAL, "key_70", 1/*user_no*/, 2/*seat_no*/, &myChangeCallback);
   printf("Reg => key_70: %d\n", ret);

   printf("Press enter to unregister to notifications\n");
   getchar();

   ret = pclKeyUnRegisterNotifyOnChange(0x20, "links/last_link2", 2/*user_no*/, 1/*seat_no*/, &myChangeCallback);
   printf("UnReg => last_link2: %d\n", ret);
   printf("Press enter to proceed\n");
   getchar();

   ret = pclKeyUnRegisterNotifyOnChange(0x20, "links/last_link3", 3/*user_no*/, 2/*seat_no*/, &myChangeCallback);
   printf("UnReg => last_link3: %d\n", ret);
   printf("Press enter to proceed\n");
   getchar();

   ret = pclKeyUnRegisterNotifyOnChange(0x20, "links/last_link4", 4/*user_no*/, 1/*seat_no*/, &myChangeCallback);
   printf("UnReg => last_link4: %d\n", ret);

   printf("Press enter to register to notifications\n");
   getchar();

   ret = pclKeyRegisterNotifyOnChange(0x20, "links/last_link2", 2/*user_no*/, 1/*seat_no*/, &myChangeCallback);
   ret = pclKeyRegisterNotifyOnChange(0x20, "links/last_link3", 3/*user_no*/, 2/*seat_no*/, &myChangeCallback);
   ret = pclKeyRegisterNotifyOnChange(0x20, "links/last_link4", 4/*user_no*/, 1/*seat_no*/, &myChangeCallback);

   printf("Press enter to end\n");
   getchar();

   pclDeinitLibrary();

   // unregister debug log and trace
   DLT_UNREGISTER_CONTEXT(gPcltDLTContext);
   DLT_UNREGISTER_APP();

   return ret;
}