2012-11-25 14 views
8

Qual è il modo standard per ottenere l'ora corrente in secondi (dall'epoca) in un modulo del kernel?Ottieni l'ora corrente in secondi nel modulo del kernel

Ho visto tecniche che implicano ottenere xtime che sono molto prolisso e implicano cicli di apertura e blocchi. Ci deve essere un modo migliore.

[Questo non è un duplicato. Ho esaminato le domande precedenti su SO. Le risposte a molti di questi non specificano la funzione utilizzata o si riferiscono erroneamente a time.h che non è consentita nel kernel]

+0

e informazioni su http://stackoverflow.com/questions/5077192/how-to-get-current-hour-time-of-day-in-linux-kernel-space – MOHAMED

risposta

13

Per questo è possibile utilizzare getnstimeofday.

/* getnstimeofday - Returns the time of day in a timespec */ 
void getnstimeofday(struct timespec *ts) 

dove struct timespec è:

struct timespec { 
    time_t tv_sec;  /* seconds */ 
    long tv_nsec; /* nanoseconds */ 
}; 

E sì, avrete bisogno #include <linux/time.h>.

+0

Collegamento non valido. Una ricerca su Google per "uomo getnstimeofday" ottiene un numero di visite. –

+0

@KeithThompson Modificato il collegamento. Grazie per il testa a testa! – cnicutar

+1

Un collegamento a una pagina man potrebbe essere più utile. –

Problemi correlati