~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/uapi/linux/rtc.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/uapi/linux/rtc.h (Version linux-6.12-rc7) and /include/uapi/linux/rtc.h (Version linux-6.6.58)


** Warning: Cannot open xref database.

  1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux      1 
  2 /*                                                
  3  * Generic RTC interface.                         
  4  * This version contains the part of the user     
  5  * service. It is used with both the legacy mc    
  6  * Struct rtc_time and first 12 ioctl by Paul     
  7  * from <linux/mc146818rtc.h> to this file for    
  8  *                                                
  9  * Copyright (C) 1999 Hewlett-Packard Co.         
 10  * Copyright (C) 1999 Stephane Eranian <erania    
 11  */                                               
 12 #ifndef _UAPI_LINUX_RTC_H_                        
 13 #define _UAPI_LINUX_RTC_H_                        
 14                                                   
 15 #include <linux/const.h>                          
 16 #include <linux/ioctl.h>                          
 17 #include <linux/types.h>                          
 18                                                   
 19 /*                                                
 20  * The struct used to pass data via the follow    
 21  * struct tm in <time.h>, but it needs to be h    
 22  * source is self contained, allowing cross-co    
 23  */                                               
 24                                                   
 25 struct rtc_time {                                 
 26         int tm_sec;                               
 27         int tm_min;                               
 28         int tm_hour;                              
 29         int tm_mday;                              
 30         int tm_mon;                               
 31         int tm_year;                              
 32         int tm_wday;                              
 33         int tm_yday;                              
 34         int tm_isdst;                             
 35 };                                                
 36                                                   
 37 /*                                                
 38  * This data structure is inspired by the EFI     
 39  * alarm API.                                     
 40  */                                               
 41 struct rtc_wkalrm {                               
 42         unsigned char enabled;  /* 0 = alarm d    
 43         unsigned char pending;  /* 0 = alarm n    
 44         struct rtc_time time;   /* time the al    
 45 };                                                
 46                                                   
 47 /*                                                
 48  * Data structure to control PLL correction so    
 49  * pll_value is used to get or set current val    
 50  * the rest of the struct is used to query HW     
 51  * This is modeled after the RTC used in Q40/Q    
 52  * should be sufficiently flexible for other d    
 53  *                                                
 54  * +ve pll_value means clock will run faster b    
 55  *   pll_value*pll_posmult/pll_clock              
 56  * -ve pll_value means clock will run slower b    
 57  *   pll_value*pll_negmult/pll_clock              
 58  */                                               
 59                                                   
 60 struct rtc_pll_info {                             
 61         int pll_ctrl;       /* placeholder for    
 62         int pll_value;      /* get/set correct    
 63         int pll_max;        /* max +ve (faster    
 64         int pll_min;        /* max -ve (slower    
 65         int pll_posmult;    /* factor for +ve     
 66         int pll_negmult;    /* factor for -ve     
 67         long pll_clock;     /* base PLL freque    
 68 };                                                
 69                                                   
 70 struct rtc_param {                                
 71         __u64 param;                              
 72         union {                                   
 73                 __u64 uvalue;                     
 74                 __s64 svalue;                     
 75                 __u64 ptr;                        
 76         };                                        
 77         __u32 index;                              
 78         __u32 __pad;                              
 79 };                                                
 80                                                   
 81 /*                                                
 82  * ioctl calls that are permitted to the /dev/    
 83  * any of the RTC drivers are enabled.            
 84  */                                               
 85                                                   
 86 #define RTC_AIE_ON      _IO('p', 0x01)  /* Ala    
 87 #define RTC_AIE_OFF     _IO('p', 0x02)  /* ...    
 88 #define RTC_UIE_ON      _IO('p', 0x03)  /* Upd    
 89 #define RTC_UIE_OFF     _IO('p', 0x04)  /* ...    
 90 #define RTC_PIE_ON      _IO('p', 0x05)  /* Per    
 91 #define RTC_PIE_OFF     _IO('p', 0x06)  /* ...    
 92 #define RTC_WIE_ON      _IO('p', 0x0f)  /* Wat    
 93 #define RTC_WIE_OFF     _IO('p', 0x10)  /* ...    
 94                                                   
 95 #define RTC_ALM_SET     _IOW('p', 0x07, struct    
 96 #define RTC_ALM_READ    _IOR('p', 0x08, struct    
 97 #define RTC_RD_TIME     _IOR('p', 0x09, struct    
 98 #define RTC_SET_TIME    _IOW('p', 0x0a, struct    
 99 #define RTC_IRQP_READ   _IOR('p', 0x0b, unsign    
100 #define RTC_IRQP_SET    _IOW('p', 0x0c, unsign    
101 #define RTC_EPOCH_READ  _IOR('p', 0x0d, unsign    
102 #define RTC_EPOCH_SET   _IOW('p', 0x0e, unsign    
103                                                   
104 #define RTC_WKALM_SET   _IOW('p', 0x0f, struct    
105 #define RTC_WKALM_RD    _IOR('p', 0x10, struct    
106                                                   
107 #define RTC_PLL_GET     _IOR('p', 0x11, struct    
108 #define RTC_PLL_SET     _IOW('p', 0x12, struct    
109                                                   
110 #define RTC_PARAM_GET   _IOW('p', 0x13, struct    
111 #define RTC_PARAM_SET   _IOW('p', 0x14, struct    
112                                                   
113 #define RTC_VL_DATA_INVALID     _BITUL(0) /* V    
114 #define RTC_VL_BACKUP_LOW       _BITUL(1) /* B    
115 #define RTC_VL_BACKUP_EMPTY     _BITUL(2) /* B    
116 #define RTC_VL_ACCURACY_LOW     _BITUL(3) /* V    
117 #define RTC_VL_BACKUP_SWITCH    _BITUL(4) /* B    
118                                                   
119 #define RTC_VL_READ     _IOR('p', 0x13, unsign    
120 #define RTC_VL_CLR      _IO('p', 0x14)            
121                                                   
122 /* interrupt flags */                             
123 #define RTC_IRQF 0x80   /* Any of the followin    
124 #define RTC_PF 0x40     /* Periodic interrupt     
125 #define RTC_AF 0x20     /* Alarm interrupt */     
126 #define RTC_UF 0x10     /* Update interrupt fo    
127                                                   
128 /* feature list */                                
129 #define RTC_FEATURE_ALARM               0         
130 #define RTC_FEATURE_ALARM_RES_MINUTE    1         
131 #define RTC_FEATURE_NEED_WEEK_DAY       2         
132 #define RTC_FEATURE_ALARM_RES_2S        3         
133 #define RTC_FEATURE_UPDATE_INTERRUPT    4         
134 #define RTC_FEATURE_CORRECTION          5         
135 #define RTC_FEATURE_BACKUP_SWITCH_MODE  6         
136 #define RTC_FEATURE_ALARM_WAKEUP_ONLY   7         
137 #define RTC_FEATURE_CNT                 8         
138                                                   
139 /* parameter list */                              
140 #define RTC_PARAM_FEATURES              0         
141 #define RTC_PARAM_CORRECTION            1         
142 #define RTC_PARAM_BACKUP_SWITCH_MODE    2         
143                                                   
144 #define RTC_BSM_DISABLED        0                 
145 #define RTC_BSM_DIRECT          1                 
146 #define RTC_BSM_LEVEL           2                 
147 #define RTC_BSM_STANDBY         3                 
148                                                   
149 #define RTC_MAX_FREQ    8192                      
150                                                   
151                                                   
152 #endif /* _UAPI_LINUX_RTC_H_ */                   
153                                                   

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php