33 lines
720 B
C
33 lines
720 B
C
/*
|
|
* Copyright (c) 2019 Intel Corporation.
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#include <zephyr/internal/syscall_handler.h>
|
|
#include <zephyr/drivers/ptp_clock.h>
|
|
|
|
#ifdef CONFIG_USERSPACE
|
|
int z_vrfy_ptp_clock_get(const struct device *dev,
|
|
struct net_ptp_time *tm)
|
|
{
|
|
struct net_ptp_time ptp_time;
|
|
int ret;
|
|
|
|
K_OOPS(K_SYSCALL_DRIVER_PTP_CLOCK(dev, get));
|
|
K_OOPS(K_SYSCALL_MEMORY_WRITE(tm, sizeof(struct net_ptp_time)));
|
|
|
|
ret = z_impl_ptp_clock_get((const struct device *)dev, &ptp_time);
|
|
if (ret != 0) {
|
|
return 0;
|
|
}
|
|
|
|
if (k_usermode_to_copy((void *)tm, &ptp_time, sizeof(ptp_time)) != 0) {
|
|
return 0;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
#include <zephyr/syscalls/ptp_clock_get_mrsh.c>
|
|
#endif /* CONFIG_USERSPACE */
|