Hello Net-SNMP fellows!

I would like to have some help from who always code something like i”m trying 
to do.

I’m storing a DateAndTime in a text file in format : 2018-5-25,12:34:30.0,+0:0
and I’m trying to use netsnmp_dateandtime_set_buf_from_vars() or some other
strategy to recover the value in a compatible way to be show thru snmpget().

Could someone tell the best (right way) to recover DatAndTime values to be 
returned by Get_Scalar() or
Get_Table(0 functions after to have this value stored in a text file in a form 
I described above?

Below is the segment code i”m using to recover the DateAndTime value from text 
file to byte encoded as
mentioned in he snmp_tc.c source file.

Any help will be very appreciated!

Best regards for all you!


            u_short   year;
            u_char    month;
            u_char    day;
            u_char    hour;
            u_char    minutes;
            u_char    seconds;
            u_char    deci_seconds         = 0;
            int           utc_offset_direction = 0;
            u_char    utc_offset_hours     = 0;
            u_char    utc_offset_minutes   = 0;
            u_char    now[11];
            struct tm timeDate;
           
            data = (u_char *) var_data;
printf("value to hint Date Time: %s Length:%d\n", var_data, dataLength);        
    
            memset(&timeDate, 0, sizeof(struct tm));
            if (strptime((const char *) data, "%Y-%m-%d,%H:%M:%S", &timeDate) 
== NULL) {
printf("OPS++++ strptime\n");
                goto UnknownFormat;
            }
            
            year    = htons((u_short) (timeDate.tm_year + 1900));
            month   = (u_char)         timeDate.tm_mon +1;
            day     = (u_char)         timeDate.tm_mday;
            hour    = (u_char)         timeDate.tm_hour;
            minutes = (u_char)         timeDate.tm_min;
            seconds = (u_char)         timeDate.tm_sec;

#if defined(HAVE_STRUCT_TM_TM_GMTOFF) || defined(HAVE_TIMEZONE_VARIABLE)
            // normally we wil have 24 byte length …
            if (length > 14) {
                u_char *pch;

                // decompound  TIMEZONE/GMTOFF data after seconds tm structure …
                // having for instance stored values like:  
‘2018-5-25,12:34:30.0,+0:0”
               
                if ((pch = (u_char *) strrchr((char *) data, '.')) == NULL) 
goto UnknownFormat;
                pData = data + (pch - data + 1);
                deci_seconds = (u_char) atoi((const char *) ++pData);

                if ((pch = (u_char *) strrchr((char *) data, ',')) == NULL) 
goto UnknownFormat;
                pData = data + (pch - data + 1);
                utc_offset_direction = (*pData == '-') ? -1 : 1;

                utc_offset_hours = atoi((const char *) ++pData);
                if ((pData = (u_char *) strrchr(((char *) data), ':')) == NULL) 
goto UnknownFormat;
                pData = data + (pch - data + 1);
                utc_offset_minutes = atoi((const char *) ++pData);
                if (netsnmp_dateandtime_set_buf_from_vars((u_char *) var_data,
                                                               (size_t *) 
&length,
                                                               year,
                                                               month,
                                                               day,
                                                               hour,
                                                               minutes,
                                                               seconds,
                                                               deci_seconds,
                                                               
utc_offset_direction,
                                                               utc_offset_hours,
                                                               
utc_offset_minutes) != SNMPERR_SUCCESS)
                    goto UnknownFormat;
                }
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Net-snmp-users mailing list
Net-snmp-users@lists.sourceforge.net
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users

Reply via email to