您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ timespec_to_ktime函数代码示例

51自学网 2021-06-03 08:51:47
  C++
这篇教程C++ timespec_to_ktime函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中timespec_to_ktime函数的典型用法代码示例。如果您正苦于以下问题:C++ timespec_to_ktime函数的具体用法?C++ timespec_to_ktime怎么用?C++ timespec_to_ktime使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了timespec_to_ktime函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: hrtimer_nanosleep

long hrtimer_nanosleep(struct timespec *rqtp, struct timespec __user *rmtp,		       const enum hrtimer_mode mode, const clockid_t clockid){	struct restart_block *restart;	struct hrtimer_sleeper t;	int ret = 0;	unsigned long slack;	slack = current->timer_slack_ns;	if (rt_task(current))		slack = 0;	hrtimer_init_on_stack(&t.timer, clockid, mode);	hrtimer_set_expires_range_ns(&t.timer, timespec_to_ktime(*rqtp), slack);	if (do_nanosleep(&t, mode))		goto out;	/* Absolute timers do not update the rmtp value and restart: */	if (mode == HRTIMER_MODE_ABS) {		ret = -ERESTARTNOHAND;		goto out;	}	if (rmtp) {		ret = update_rmtp(&t.timer, rmtp);		if (ret <= 0)			goto out;	}	restart = &current_thread_info()->restart_block;	restart->fn = hrtimer_nanosleep_restart;	restart->nanosleep.index = t.timer.base->index;	restart->nanosleep.rmtp = rmtp;	restart->nanosleep.expires = hrtimer_get_expires_tv64(&t.timer);	ret = -ERESTART_RESTARTBLOCK;out:	destroy_hrtimer_on_stack(&t.timer);	return ret;}
开发者ID:kizukukoto,项目名称:WDN900_GPL,代码行数:40,


示例2: alarm_set

static void alarm_set(enum android_alarm_type alarm_type,							struct timespec *ts){	uint32_t alarm_type_mask = 1U << alarm_type;	unsigned long flags;	alarm_dbg(INFO, "alarm %d set %ld.%09ld/n",			alarm_type, ts->tv_sec, ts->tv_nsec);	if (alarm_type == ANDROID_ALARM_POWER_ON) {		alarm_set_power_on(*ts, false);		return;	}	if (alarm_type == ANDROID_ALARM_POWER_ON_LOGO) {		alarm_set_power_on(*ts, true);		return;	}	spin_lock_irqsave(&alarm_slock, flags);	alarm_enabled |= alarm_type_mask;	devalarm_start(&alarms[alarm_type], timespec_to_ktime(*ts));	spin_unlock_irqrestore(&alarm_slock, flags);}
开发者ID:AudioGod,项目名称:MediaTek-HelioX10-Kernel,代码行数:22,


示例3: alarm_set_alarm

int alarm_set_alarm(char* alarm_data){	struct rtc_wkalrm alm;	int ret;	char buf_ptr[BOOTALM_BIT_TOTAL+1];	struct rtc_time rtc_tm;	unsigned long rtc_sec;	unsigned long rtc_alarm_time;	struct timespec rtc_delta;	struct timespec wall_time;	ktime_t wall_ktm;	struct rtc_time wall_tm;	struct rtc_device *rtc_dev = alarmtimer_get_rtcdev();	if (!rtc_dev) {		pr_err("%s: no RTC, time will be lost on reboot/n", __func__);		return -ENXIO;	}	strlcpy(buf_ptr, alarm_data, BOOTALM_BIT_TOTAL+1);	alm.time.tm_sec = 0;	alm.time.tm_min = (buf_ptr[BOOTALM_BIT_MIN] - '0') * 10				+ (buf_ptr[BOOTALM_BIT_MIN+1]  - '0');	alm.time.tm_hour = (buf_ptr[BOOTALM_BIT_HOUR] - '0') * 10				+ (buf_ptr[BOOTALM_BIT_HOUR+1] - '0');	alm.time.tm_mday = (buf_ptr[BOOTALM_BIT_DAY] - '0') * 10				+ (buf_ptr[BOOTALM_BIT_DAY+1] - '0');	alm.time.tm_mon = (buf_ptr[BOOTALM_BIT_MONTH] - '0') * 10				+ (buf_ptr[BOOTALM_BIT_MONTH+1] - '0');	alm.time.tm_year = (buf_ptr[BOOTALM_BIT_YEAR] - '0') * 1000				+ (buf_ptr[BOOTALM_BIT_YEAR+1] - '0') * 100				+ (buf_ptr[BOOTALM_BIT_YEAR+2] - '0') * 10				+ (buf_ptr[BOOTALM_BIT_YEAR+3] - '0');	alm.enabled = (*buf_ptr == '1');	pr_info("[SAPA] %s : %s => tm(%d %04d-%02d-%02d %02d:%02d:%02d)/n",			__func__, buf_ptr, alm.enabled,			alm.time.tm_year, alm.time.tm_mon, alm.time.tm_mday,			alm.time.tm_hour, alm.time.tm_min, alm.time.tm_sec);	if (alm.enabled) {		/* If time daemon is exist */		alm.time.tm_mon -= 1;		alm.time.tm_year -= 1900;		/* read current time */		rtc_read_time(rtc_dev, &rtc_tm);		rtc_tm_to_time(&rtc_tm, &rtc_sec);		pr_info("[SAPA] rtc  %4d-%02d-%02d %02d:%02d:%02d -> %lu/n",			rtc_tm.tm_year, rtc_tm.tm_mon, rtc_tm.tm_mday,			rtc_tm.tm_hour, rtc_tm.tm_min, rtc_tm.tm_sec, rtc_sec);		/* read kernel time */		getnstimeofday(&wall_time);		wall_ktm = timespec_to_ktime(wall_time);		wall_tm = rtc_ktime_to_tm(wall_ktm);		pr_info("[SAPA] wall %4d-%02d-%02d %02d:%02d:%02d -> %lu/n",			wall_tm.tm_year, wall_tm.tm_mon, wall_tm.tm_mday,			wall_tm.tm_hour, wall_tm.tm_min, wall_tm.tm_sec, wall_time.tv_sec);		/* calculate offset */		set_normalized_timespec(&rtc_delta,					wall_time.tv_sec - rtc_sec,					wall_time.tv_nsec);		/* convert user requested SAPA time to second type */		rtc_tm_to_time(&alm.time, &rtc_alarm_time);		/* convert to RTC time with user requested SAPA time and offset */		rtc_alarm_time -= rtc_delta.tv_sec;		rtc_time_to_tm(rtc_alarm_time, &alm.time);		pr_info("[SAPA] arlm %4d-%02d-%02d %02d:%02d:%02d -> %lu/n",			alm.time.tm_year, alm.time.tm_mon, alm.time.tm_mday,			alm.time.tm_hour, alm.time.tm_min, alm.time.tm_sec, rtc_alarm_time);	}	ret = rtc_set_bootalarm(rtc_dev, &alm);	if (ret < 0) {		pr_err("%s: Failed to set ALARM, time will be lost on reboot/n", __func__);		return ret;	}	return 0;}
开发者ID:StarKissed,项目名称:Note-4-AEL-Kernel,代码行数:87,


示例4: alarm_ioctl

static long alarm_ioctl(struct file *file, unsigned int cmd, unsigned long arg){	int rv = 0;	unsigned long flags;	struct timespec new_alarm_time;	struct timespec new_rtc_time;	struct timespec tmp_time;	struct rtc_time new_rtc_tm;	struct rtc_device *rtc_dev;	struct rtc_wkalrm pwron_alm;	enum android_alarm_type alarm_type = ANDROID_ALARM_IOCTL_TO_TYPE(cmd);	uint32_t alarm_type_mask = 1U << alarm_type; 	if (alarm_type >= ANDROID_ALARM_TYPE_COUNT &&	    alarm_type != ANDROID_ALARM_POWER_ON &&	    alarm_type != ANDROID_ALARM_POWER_ON_LOGO) {		return -EINVAL;	}		if (ANDROID_ALARM_BASE_CMD(cmd) != ANDROID_ALARM_GET_TIME(0)) {		if ((file->f_flags & O_ACCMODE) == O_RDONLY)			return -EPERM;		if (file->private_data == NULL &&		    cmd != ANDROID_ALARM_SET_RTC) {			spin_lock_irqsave(&alarm_slock, flags);			if (alarm_opened) {				spin_unlock_irqrestore(&alarm_slock, flags);				return -EBUSY;			}			alarm_opened = 1;			file->private_data = (void *)1;			spin_unlock_irqrestore(&alarm_slock, flags);		}	}	switch (ANDROID_ALARM_BASE_CMD(cmd)) {	case ANDROID_ALARM_CLEAR(0):		pr_alarm(IO, "alarm %d clear/n", alarm_type);		if (alarm_type == ANDROID_ALARM_POWER_ON ||			alarm_type == ANDROID_ALARM_POWER_ON_LOGO) {			new_alarm_time.tv_sec = 0;			alarm_set_power_on(new_alarm_time, false);			break;		}		spin_lock_irqsave(&alarm_slock, flags);		pr_alarm(IO, "alarm %d clear/n", alarm_type);		devalarm_try_to_cancel(&alarms[alarm_type]);		if (alarm_pending) {			alarm_pending &= ~alarm_type_mask;			if (!alarm_pending && !wait_pending)				wake_unlock(&alarm_wake_lock);		}		alarm_enabled &= ~alarm_type_mask;		spin_unlock_irqrestore(&alarm_slock, flags);		break;	case ANDROID_ALARM_SET_OLD:	case ANDROID_ALARM_SET_AND_WAIT_OLD:		if (get_user(new_alarm_time.tv_sec, (int __user *)arg)) {			rv = -EFAULT;			goto err1;		}		new_alarm_time.tv_nsec = 0;		goto from_old_alarm_set;	case ANDROID_ALARM_SET_AND_WAIT(0):	case ANDROID_ALARM_SET(0):		if (copy_from_user(&new_alarm_time, (void __user *)arg,		    sizeof(new_alarm_time))) {			rv = -EFAULT;			goto err1;		}from_old_alarm_set:		pr_alarm(IO, "alarm %d set %ld.%09ld/n", alarm_type,			new_alarm_time.tv_sec, new_alarm_time.tv_nsec);		if (alarm_type == ANDROID_ALARM_POWER_ON) {			alarm_set_power_on(new_alarm_time, false);			break;		}		if (alarm_type == ANDROID_ALARM_POWER_ON_LOGO) {			alarm_set_power_on(new_alarm_time, true);			break;		}		spin_lock_irqsave(&alarm_slock, flags);			alarm_enabled |= alarm_type_mask;		devalarm_start(&alarms[alarm_type],			timespec_to_ktime(new_alarm_time));		spin_unlock_irqrestore(&alarm_slock, flags);		if (ANDROID_ALARM_BASE_CMD(cmd) != ANDROID_ALARM_SET_AND_WAIT(0)		    && cmd != ANDROID_ALARM_SET_AND_WAIT_OLD)			break;		/* fall though */	case ANDROID_ALARM_WAIT:		spin_lock_irqsave(&alarm_slock, flags);		pr_alarm(IO, "alarm wait/n");		if (!alarm_pending && wait_pending) {			wake_unlock(&alarm_wake_lock);			wait_pending = 0;//.........这里部分代码省略.........
开发者ID:Banjo0917,项目名称:mt6577_kernel3.4,代码行数:101,


示例5: alarm_ioctl

static long alarm_ioctl(struct file *file, unsigned int cmd, unsigned long arg){	int rv = 0;	unsigned long flags;	long long int tmp_ns;	struct timespec tmp;	struct timespec new_alarm_time;	struct timespec new_rtc_time;	struct timespec tmp_time;	static struct timespec prev_time = { 0, 0 };	enum android_alarm_type alarm_type = ANDROID_ALARM_IOCTL_TO_TYPE(cmd);	uint32_t alarm_type_mask = 1U << alarm_type;	if (alarm_type >= ANDROID_ALARM_TYPE_COUNT)		return -EINVAL;	if (is_set_cmd(cmd)) {		if ((file->f_flags & O_ACCMODE) == O_RDONLY) {			pr_alarm(INFO, "set cmd not permitted in %s cmd=%d type=%d/n"					, __FUNCTION__					, ANDROID_ALARM_BASE_CMD(cmd)					, alarm_type);			return -EPERM;		}		if (file->private_data == NULL &&		    cmd != ANDROID_ALARM_SET_RTC) {			spin_lock_irqsave(&alarm_slock, flags);			if (alarm_opened) {				spin_unlock_irqrestore(&alarm_slock, flags);				return -EBUSY;			}			alarm_opened = 1;			file->private_data = (void *)1;			spin_unlock_irqrestore(&alarm_slock, flags);		}	}	switch (ANDROID_ALARM_BASE_CMD(cmd)) {	case ANDROID_ALARM_CLEAR(0):		spin_lock_irqsave(&alarm_slock, flags);		pr_alarm(IO, "alarm %d clear/n", alarm_type);		alarm_try_to_cancel(&alarms[alarm_type]);		if (alarm_pending) {			alarm_pending &= ~alarm_type_mask;			if (!alarm_pending && !wait_pending)				wake_unlock(&alarm_wake_lock);		}		alarm_enabled &= ~alarm_type_mask;		spin_unlock_irqrestore(&alarm_slock, flags);		break;	case ANDROID_ALARM_SET_OLD:	case ANDROID_ALARM_SET_AND_WAIT_OLD:		if (get_user(new_alarm_time.tv_sec, (int __user *)arg)) {			rv = -EFAULT;			goto err1;		}		new_alarm_time.tv_nsec = 0;		goto from_old_alarm_set;	case ANDROID_ALARM_SET_AND_WAIT(0):	case ANDROID_ALARM_SET(0):		if (copy_from_user(&new_alarm_time, (void __user *)arg,		    sizeof(new_alarm_time))) {			rv = -EFAULT;			goto err1;		}from_old_alarm_set:		spin_lock_irqsave(&alarm_slock, flags);		pr_alarm(IO, "alarm %d set %ld.%09ld/n", alarm_type,			new_alarm_time.tv_sec, new_alarm_time.tv_nsec);		alarm_enabled |= alarm_type_mask;		alarm_start_range(&alarms[alarm_type],			timespec_to_ktime(new_alarm_time),			timespec_to_ktime(new_alarm_time));		spin_unlock_irqrestore(&alarm_slock, flags);		if (ANDROID_ALARM_BASE_CMD(cmd) != ANDROID_ALARM_SET_AND_WAIT(0)		    && cmd != ANDROID_ALARM_SET_AND_WAIT_OLD)			break;		/* fall though */	case ANDROID_ALARM_WAIT:		spin_lock_irqsave(&alarm_slock, flags);		pr_alarm(IO, "alarm wait/n");		if (!alarm_pending && wait_pending) {			wake_unlock(&alarm_wake_lock);			wait_pending = 0;		}		spin_unlock_irqrestore(&alarm_slock, flags);		rv = wait_event_interruptible(alarm_wait_queue, alarm_pending);		if (rv)			goto err1;		spin_lock_irqsave(&alarm_slock, flags);		rv = alarm_pending;		wait_pending = 1;		alarm_pending = 0;		spin_unlock_irqrestore(&alarm_slock, flags);		break;	case ANDROID_ALARM_SET_RTC:		if (copy_from_user(&new_rtc_time, (void __user *)arg,		    sizeof(new_rtc_time))) {//.........这里部分代码省略.........
开发者ID:Astinj,项目名称:Underworld-Sense-Kernel,代码行数:101,


示例6: alarm_ioctl

static long alarm_ioctl(struct file *file, unsigned int cmd, unsigned long arg){    int rv = 0;    unsigned long flags;    struct timespec new_alarm_time;    struct timespec new_rtc_time;    struct timespec tmp_time;    struct rtc_time new_rtc_tm;    struct rtc_device *rtc_dev;    enum android_alarm_type alarm_type = ANDROID_ALARM_IOCTL_TO_TYPE(cmd);    uint32_t alarm_type_mask = 1U << alarm_type;    if (alarm_type >= ANDROID_ALARM_TYPE_COUNT)        return -EINVAL;    if (ANDROID_ALARM_BASE_CMD(cmd) != ANDROID_ALARM_GET_TIME(0)) {        if ((file->f_flags & O_ACCMODE) == O_RDONLY)            return -EPERM;        if (file->private_data == NULL &&                cmd != ANDROID_ALARM_SET_RTC) {            spin_lock_irqsave(&alarm_slock, flags);            if (alarm_opened) {                spin_unlock_irqrestore(&alarm_slock, flags);                return -EBUSY;            }            alarm_opened = 1;            file->private_data = (void *)1;            spin_unlock_irqrestore(&alarm_slock, flags);        }    }    switch (ANDROID_ALARM_BASE_CMD(cmd)) {    case ANDROID_ALARM_CLEAR(0):        switch (alarm_type) {        case ANDROID_ALARM_POWER_UP:            /* disable power up alarm interrupt */            rv = alarm_irq_enable(0);            break;        case ANDROID_ALARM_RTC_WAKEUP:        case ANDROID_ALARM_RTC:        case ANDROID_ALARM_ELAPSED_REALTIME_WAKEUP:        case ANDROID_ALARM_ELAPSED_REALTIME:        case ANDROID_ALARM_SYSTEMTIME:            spin_lock_irqsave(&alarm_slock, flags);            pr_alarm(IO, "alarm %d clear/n", alarm_type);            devalarm_try_to_cancel(&alarms[alarm_type]);            if (alarm_pending) {                alarm_pending &= ~alarm_type_mask;                if (!alarm_pending && !wait_pending)                    wake_unlock(&alarm_wake_lock);            }            alarm_enabled &= ~alarm_type_mask;            spin_unlock_irqrestore(&alarm_slock, flags);            break;        default:            break;        }        break;    case ANDROID_ALARM_SET_OLD:    case ANDROID_ALARM_SET_AND_WAIT_OLD:        if (get_user(new_alarm_time.tv_sec, (int __user *)arg)) {            rv = -EFAULT;            goto err1;        }        new_alarm_time.tv_nsec = 0;        goto from_old_alarm_set;#if defined(CONFIG_RTC_CHN_ALARM_BOOT)    case ANDROID_ALARM_SET_ALARM:    {        char bootalarm_data[14];        if (copy_from_user(bootalarm_data, (void __user *)arg, 14)) {            rv = -EFAULT;            goto err1;        }        alarm_set_bootalarm(bootalarm_data);        break;    }#endif    case ANDROID_ALARM_SET_AND_WAIT(0):    case ANDROID_ALARM_SET(0):        if (copy_from_user(&new_alarm_time, (void __user *)arg,                           sizeof(new_alarm_time))) {            rv = -EFAULT;            goto err1;        }from_old_alarm_set:        spin_lock_irqsave(&alarm_slock, flags);        pr_alarm(IO, "alarm %d set %ld.%09ld/n", alarm_type,                 new_alarm_time.tv_sec, new_alarm_time.tv_nsec);        alarm_enabled |= alarm_type_mask;        devalarm_start(&alarms[alarm_type],                       timespec_to_ktime(new_alarm_time));        spin_unlock_irqrestore(&alarm_slock, flags);        if (alarm_type == ANDROID_ALARM_POWER_UP)            alarm_set_rtc_ring(new_alarm_time);        if (ANDROID_ALARM_BASE_CMD(cmd) != ANDROID_ALARM_SET_AND_WAIT(0)//.........这里部分代码省略.........
开发者ID:dflow81,项目名称:android_kernel_samsung_goyawifi,代码行数:101,


示例7: alarm_ioctl

static long alarm_ioctl(struct file *file, unsigned int cmd, unsigned long arg){	int rv = 0;	unsigned long flags;	struct timespec new_alarm_time;	struct timespec new_rtc_time;	struct timespec tmp_time;	enum android_alarm_type alarm_type = ANDROID_ALARM_IOCTL_TO_TYPE(cmd);	uint32_t alarm_type_mask = 1U << alarm_type;/*[[_SHP_STMC_BSP:[email
C++ timespec_to_ns函数代码示例
C++ timespec_sub函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。