Home
last modified time | relevance | path

Searched refs:ep (Results 1 – 25 of 97) sorted by relevance

1234

/components/drivers/pci/endpoint/
A Dendpoint.c25 if (ep && ep->ops && hdr && func_no < ep->max_functions) in rt_pci_ep_write_header()
51 if (ep && ep->ops && func_no < ep->max_functions && bar && in rt_pci_ep_set_bar()
104 if (ep && ep->ops && func_no < ep->max_functions && bar && in rt_pci_ep_clear_bar()
131 if (ep && ep->ops && func_no < ep->max_functions && size) in rt_pci_ep_map_addr()
157 if (ep && ep->ops && func_no < ep->max_functions) in rt_pci_ep_unmap_addr()
183 if (ep && ep->ops && func_no < ep->max_functions) in rt_pci_ep_set_msi()
296 if (ep && ep->ops && func_no < ep->max_functions) in rt_pci_ep_raise_irq()
321 if (ep && ep->ops) in rt_pci_ep_start()
346 if (ep && ep->ops) in rt_pci_ep_stop()
371 if (!ep || !ep->ops) in rt_pci_ep_register()
[all …]
A Dmem.c23 if (!ep || !mems) in rt_pci_ep_mem_array_init()
30 ep->mems_nr = mems_nr; in rt_pci_ep_mem_array_init()
31 ep->mems = rt_calloc(mems_nr, sizeof(*ep->mems)); in rt_pci_ep_mem_array_init()
33 if (!ep->mems) in rt_pci_ep_mem_array_init()
62 rt_free(ep->mems); in rt_pci_ep_mem_array_init()
64 ep->mems_nr = 0; in rt_pci_ep_mem_array_init()
65 ep->mems = RT_NULL; in rt_pci_ep_mem_array_init()
68 rt_mutex_release(&ep->lock); in rt_pci_ep_mem_array_init()
78 if (!ep) in rt_pci_ep_mem_init()
144 if (!ep || !out_cpu_addr) in rt_pci_ep_mem_alloc()
[all …]
/components/libc/posix/io/epoll/
A Depoll.c132 if (ep) in epoll_close()
207 ep = fdlist->ep; in epoll_wqueue_callback()
209 if (ep) in epoll_wqueue_callback()
248 ep = fdlist->ep; in epoll_wqueue_add_callback()
277 if (ep) in epoll_ctl_install()
305 ep->req._key = 0; in epoll_member_init()
332 if (ep) in epoll_epf_init()
348 ep->fdlist->ep = ep; in epoll_epf_init()
459 fdlist->ep = ep; in epoll_ctl_add()
503 if (ep) in epoll_ctl_del()
[all …]
/components/drivers/pci/host/dw/
A Dpcie-dw_ep.c38 func_offset = ep->ops->func_select(ep, func_no); in dw_pcie_ep_func_select()
449 return ep->ops->raise_irq(ep, func_no, type, irq); in dw_pcie_ep_raise_irq()
630 if (ep->msi_mem) in dw_pcie_ep_exit()
632 rt_pci_ep_mem_free(epc, ep->msi_mem, ep->msi_mem_phy, ep->page_size); in dw_pcie_ep_exit()
779 ep->outbound_addr = rt_calloc(ep->num_ob_windows, sizeof(rt_ubase_t)); in dw_pcie_ep_init()
802 epc->priv = ep; in dw_pcie_ep_init()
808 ep->epc = epc; in dw_pcie_ep_init()
835 ep->ops->ep_init(ep); in dw_pcie_ep_init()
838 if ((err = rt_pci_ep_mem_init(epc, ep->aspace, ep->aspace_size, ep->page_size))) in dw_pcie_ep_init()
843 ep->msi_mem = rt_pci_ep_mem_alloc(epc, &ep->msi_mem_phy, ep->page_size); in dw_pcie_ep_init()
[all …]
A Dpcie-dw_platfrom.c64 static rt_err_t dw_platform_pcie_ep_init(struct dw_pcie_ep *ep) in dw_platform_pcie_ep_init() argument
66 struct dw_pcie *pci = to_dw_pcie_from_endpoint(ep); in dw_platform_pcie_ep_init()
76 static rt_err_t dw_platform_pcie_ep_raise_irq(struct dw_pcie_ep *ep, in dw_platform_pcie_ep_raise_irq() argument
82 return dw_pcie_ep_raise_legacy_irq(ep, func_no); in dw_platform_pcie_ep_raise_irq()
85 return dw_pcie_ep_raise_msi_irq(ep, func_no, irq); in dw_platform_pcie_ep_raise_irq()
88 return dw_pcie_ep_raise_msix_irq(ep, func_no, irq); in dw_platform_pcie_ep_raise_irq()
142 struct dw_pcie_ep *ep = &pci->endpoint; in dw_platform_add_pcie_ep() local
151 err = rt_dm_dev_get_address_by_name(dev, "addr_space", &ep->aspace, &ep->aspace_size); in dw_platform_add_pcie_ep()
159 ep->ops = &dw_platform_pcie_ep_ops; in dw_platform_add_pcie_ep()
161 if ((err = dw_pcie_ep_init(ep))) in dw_platform_add_pcie_ep()
/components/drivers/usb/cherryusb/port/rp2040/
A Dusb_dc_rp2040.c68 if (!ep->endpoint_control) { in usb_setup_endpoint()
78 *ep->endpoint_control = reg; in usb_setup_endpoint()
93 if (len < ep->ep_mps) { in usb_start_transfer()
108 ep->next_pid ^= 1u; in usb_start_transfer()
110 *ep->buffer_control = val; in usb_start_transfer()
247 if (USB_EP_DIR_IS_IN(ep)) { in usbd_ep_close()
255 if (USB_EP_GET_IDX(ep) == 0) { in usbd_ep_set_stall()
262 if (USB_EP_DIR_IS_OUT(ep)) { in usbd_ep_set_stall()
276 if (USB_EP_DIR_IS_OUT(ep)) { in usbd_ep_clear_stall()
289 if (USB_EP_DIR_IS_OUT(ep)) { in usbd_ep_is_stalled()
[all …]
/components/drivers/include/drivers/
A Dpci_endpoint.h121 struct rt_pci_ep *ep; member
151 rt_err_t (*start)(struct rt_pci_ep *ep);
152 rt_err_t (*stop)(struct rt_pci_ep *ep);
181 rt_err_t rt_pci_ep_start(struct rt_pci_ep *ep);
182 rt_err_t rt_pci_ep_stop(struct rt_pci_ep *ep);
184 rt_err_t rt_pci_ep_register(struct rt_pci_ep *ep);
185 rt_err_t rt_pci_ep_unregister(struct rt_pci_ep *ep);
189 rt_err_t rt_pci_ep_mem_init(struct rt_pci_ep *ep,
192 void *rt_pci_ep_mem_alloc(struct rt_pci_ep *ep,
194 void rt_pci_ep_mem_free(struct rt_pci_ep *ep,
[all …]
/components/drivers/usb/cherryusb/class/audio/
A Dusbd_audio.c26 uint8_t ep; in audio_class_endpoint_request_handler() local
29 ep = LO_BYTE(setup->wIndex); in audio_class_endpoint_request_handler()
65 uint8_t ep = 0; in audio_class_interface_request_handler() local
85 ep = g_usbd_audio[busid].table[i].ep; in audio_class_interface_request_handler()
326 (void)ep; in usbd_audio_set_volume()
334 (void)ep; in usbd_audio_get_volume()
343 (void)ep; in usbd_audio_set_mute()
351 (void)ep; in usbd_audio_get_mute()
360 (void)ep; in usbd_audio_set_sampling_freq()
367 (void)ep; in usbd_audio_get_sampling_freq()
[all …]
A Dusbd_audio.h18 uint8_t ep; member
30 void usbd_audio_set_volume(uint8_t busid, uint8_t ep, uint8_t ch, int volume_db);
31 int usbd_audio_get_volume(uint8_t busid, uint8_t ep, uint8_t ch);
32 void usbd_audio_set_mute(uint8_t busid, uint8_t ep, uint8_t ch, bool mute);
33 bool usbd_audio_get_mute(uint8_t busid, uint8_t ep, uint8_t ch);
34 void usbd_audio_set_sampling_freq(uint8_t busid, uint8_t ep, uint32_t sampling_freq);
35 uint32_t usbd_audio_get_sampling_freq(uint8_t busid, uint8_t ep);
37 void usbd_audio_get_sampling_freq_table(uint8_t busid, uint8_t ep, uint8_t **sampling_freq_table);
/components/drivers/usb/cherryusb/port/template/
A Dusb_dc.c56 int usbd_ep_open(uint8_t busid, const struct usb_endpoint_descriptor *ep) in usbd_ep_open() argument
58 uint8_t ep_idx = USB_EP_GET_IDX(ep->bEndpointAddress); in usbd_ep_open()
60 if (USB_EP_DIR_IS_OUT(ep->bEndpointAddress)) { in usbd_ep_open()
62 g_xxx_udc.out_ep[ep_idx].ep_type = USB_GET_ENDPOINT_TYPE(ep->bmAttributes); in usbd_ep_open()
66 g_xxx_udc.in_ep[ep_idx].ep_type = USB_GET_ENDPOINT_TYPE(ep->bmAttributes); in usbd_ep_open()
72 int usbd_ep_close(uint8_t busid, const uint8_t ep) in usbd_ep_close() argument
77 int usbd_ep_set_stall(uint8_t busid, const uint8_t ep) in usbd_ep_set_stall() argument
82 int usbd_ep_clear_stall(uint8_t busid, const uint8_t ep) in usbd_ep_clear_stall() argument
87 int usbd_ep_is_stalled(uint8_t busid, const uint8_t ep, uint8_t *stalled) in usbd_ep_is_stalled() argument
94 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_start_write()
[all …]
/components/net/lwip/lwip-2.1.2/src/netif/ppp/
A Dmultilink.c463 ep->length = 6;
493 epdisc_to_str(ep) in epdisc_to_str() argument
501 if (ep->class == EPD_NULL && ep->length == 0)
503 if (ep->class == EPD_IP && ep->length == 4) {
513 if (ep->class == EPD_MAC && ep->length == 6)
515 else if (ep->class == EPD_MAGIC && (ep->length % 4) == 0)
565 ep->class = i;
567 ep->length = 0;
583 ep->length = 6;
599 ep->value[l] = (ep->value[l] << 4) + hexc_val(*str++);
[all …]
/components/net/lwip/lwip-2.0.3/src/netif/ppp/
A Dmultilink.c463 ep->length = 6;
493 epdisc_to_str(ep) in epdisc_to_str() argument
501 if (ep->class == EPD_NULL && ep->length == 0)
503 if (ep->class == EPD_IP && ep->length == 4) {
513 if (ep->class == EPD_MAC && ep->length == 6)
515 else if (ep->class == EPD_MAGIC && (ep->length % 4) == 0)
565 ep->class = i;
567 ep->length = 0;
583 ep->length = 6;
599 ep->value[l] = (ep->value[l] << 4) + hexc_val(*str++);
[all …]
/components/legacy/usb/usbdevice/core/
A Dusbdevice_core.c291 uep_t ep; in _set_interface() local
379 uep_t ep; in _set_config() local
826 if(ep->request.remain_size >= EP_MAXPACKET(ep)) in _data_notify()
828 dcd_ep_write(device->dcd, EP_ADDRESS(ep), ep->request.buffer, EP_MAXPACKET(ep)); in _data_notify()
829 ep->request.remain_size -= EP_MAXPACKET(ep); in _data_notify()
830 ep->request.buffer += EP_MAXPACKET(ep); in _data_notify()
834 dcd_ep_write(device->dcd, EP_ADDRESS(ep), ep->request.buffer, ep->request.remain_size); in _data_notify()
863 EP_HANDLER(ep, func, ep->request.size); in _data_notify()
867 …repare(device->dcd, EP_ADDRESS(ep), ep->request.buffer, ep->request.remain_size > EP_MAXPACKET(ep)… in _data_notify()
1766 ep->request.remain_size = ep->request.size; in rt_usbd_io_request()
[all …]
/components/drivers/usb/cherryusb/port/hpmicro/
A Dusb_dc_hpm.c173 tmp_ep_cfg.ep_addr = ep->bEndpointAddress; in usbd_ep_open()
174 tmp_ep_cfg.max_packet_size = ep->wMaxPacketSize; in usbd_ep_open()
178 if (USB_EP_DIR_IS_OUT(ep->bEndpointAddress)) { in usbd_ep_open()
191 int usbd_ep_close(uint8_t busid, const uint8_t ep) in usbd_ep_close() argument
194 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_close()
196 if (USB_EP_DIR_IS_OUT(ep)) { in usbd_ep_close()
202 usb_device_edpt_close(handle, ep); in usbd_ep_close()
211 usb_device_edpt_stall(handle, ep); in usbd_ep_set_stall()
219 usb_device_edpt_clear_stall(handle, ep); in usbd_ep_clear_stall()
233 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_start_write()
[all …]
/components/drivers/usb/cherryusb/common/
A Dusb_dc.h59 int usbd_ep_open(uint8_t busid, const struct usb_endpoint_descriptor *ep);
68 int usbd_ep_close(uint8_t busid, const uint8_t ep);
78 int usbd_ep_set_stall(uint8_t busid, const uint8_t ep);
88 int usbd_ep_clear_stall(uint8_t busid, const uint8_t ep);
99 int usbd_ep_is_stalled(uint8_t busid, const uint8_t ep, uint8_t *stalled);
118 int usbd_ep_start_write(uint8_t busid, const uint8_t ep, const uint8_t *data, uint32_t data_len);
137 int usbd_ep_start_read(uint8_t busid, const uint8_t ep, uint8_t *data, uint32_t data_len);
183 void usbd_event_ep_in_complete_handler(uint8_t busid, uint8_t ep, uint32_t nbytes);
191 void usbd_event_ep_out_complete_handler(uint8_t busid, uint8_t ep, uint32_t nbytes);
/components/drivers/usb/cherryusb/port/fsdev/
A Dusb_dc_fsdev.c170 if (USB_EP_DIR_IS_OUT(ep->bEndpointAddress)) { in usbd_ep_open()
216 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_close()
218 if (USB_EP_DIR_IS_OUT(ep)) { in usbd_ep_close()
234 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_set_stall()
236 if (USB_EP_DIR_IS_OUT(ep)) { in usbd_ep_set_stall()
246 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_clear_stall()
248 if (USB_EP_DIR_IS_OUT(ep)) { in usbd_ep_clear_stall()
265 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_is_stalled()
267 if (USB_EP_DIR_IS_OUT(ep)) { in usbd_ep_is_stalled()
285 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_start_write()
[all …]
/components/drivers/usb/cherryusb/port/aic/
A Dusb_dc_aic.c117 ep->xfer_len = len; in aic_udc_ep_buf_alloc()
124 ep->xfer_align_buf = aicos_malloc_align(0, ep->xfer_align_len, in aic_udc_ep_buf_alloc()
140 if (!ep->xfer_align_buf) in aic_udc_ep_buf_free()
149 ep->xfer_align_buf = NULL; in aic_udc_ep_buf_free()
150 ep->xfer_align_len = 0; in aic_udc_ep_buf_free()
1062 g_aic_udc.in_ep[ep].xfer_buf += g_aic_udc.in_ep[ep].xfer_len - data_len; in usbd_npinep_rewrite()
1110 usbd_ep_start_write(ep, g_aic_udc.in_ep[ep].xfer_buf, in usbd_npinep_rewrite()
1117 (i == ep)) in usbd_npinep_rewrite()
1470 memcpy(ep->xfer_buf, ep->xfer_align_buf, ep->xfer_len); in USBD_IRQHandler()
1498 ep->actual_xfer_len = ep->xfer_len; in USBD_IRQHandler()
[all …]
/components/drivers/usb/cherryusb/port/kinetis/
A Dusb_dc_kinetis.c38 uint8_t ep_idx = USB_EP_GET_IDX(ep); in kinetis_start_transfer()
45 if (USB_EP_DIR_IS_OUT(ep)) { in kinetis_start_transfer()
206 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_close()
210 if (USB_EP_DIR_IS_OUT(ep)) { in usbd_ep_close()
230 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_set_stall()
242 if (USB_EP_DIR_IS_OUT(ep)) { in usbd_ep_set_stall()
260 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_clear_stall()
265 if (USB_EP_DIR_IS_OUT(ep)) { in usbd_ep_clear_stall()
292 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_is_stalled()
307 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_start_write()
[all …]
/components/drivers/usb/cherryusb/core/
A Dusbd_core.c33 uint8_t ep; member
1270 (void)ep;
1320 (void)ep;
1361 g_usbd_core[busid].tx_msg[ep & 0x7f].cb(busid, ep, nbytes);
1368 g_usbd_core[busid].rx_msg[ep & 0x7f].cb(busid, ep, nbytes);
1432 g_usbd_core[busid].tx_msg[ep->ep_addr & 0x7f].ep = ep->ep_addr;
1433 g_usbd_core[busid].tx_msg[ep->ep_addr & 0x7f].cb = ep->ep_cb;
1435 g_usbd_core[busid].rx_msg[ep->ep_addr & 0x7f].ep = ep->ep_addr;
1436 g_usbd_core[busid].rx_msg[ep->ep_addr & 0x7f].cb = ep->ep_cb;
1442 if (ep & 0x80) {
[all …]
A Dusbh_core.h52 #define USBH_EP_INIT(ep, ep_desc) \ argument
54 ep = ep_desc; \
85 struct usbh_endpoint ep[CONFIG_USBHOST_MAX_ENDPOINTS]; member
183 urb->ep = &hport->ep0; in usbh_control_urb_fill()
194 struct usb_endpoint_descriptor *ep, in usbh_bulk_urb_fill() argument
202 urb->ep = ep; in usbh_bulk_urb_fill()
213 struct usb_endpoint_descriptor *ep, in usbh_int_urb_fill() argument
221 urb->ep = ep; in usbh_int_urb_fill()
228 urb->interval = USBH_GET_URB_INTERVAL(ep->bInterval, hport->speed); in usbh_int_urb_fill()
/components/drivers/usb/cherryusb/port/chipidea/
A Dusb_dc_chipidea.c538 …chipidea_edpt_open(busid, ep->bEndpointAddress, USB_GET_ENDPOINT_TYPE(ep->bmAttributes), ep->wMaxP… in usbd_ep_open()
540 if (USB_EP_DIR_IS_OUT(ep->bEndpointAddress)) { in usbd_ep_open()
553 int usbd_ep_close(uint8_t busid, const uint8_t ep) in usbd_ep_close() argument
555 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_close()
557 if (USB_EP_DIR_IS_OUT(ep)) { in usbd_ep_close()
563 chipidea_edpt_close(USB_OTG_DEV, ep); in usbd_ep_close()
570 chipidea_edpt_stall(USB_OTG_DEV, ep); in usbd_ep_set_stall()
576 chipidea_edpt_clear_stall(USB_OTG_DEV, ep); in usbd_ep_clear_stall()
588 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_start_write()
608 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_start_read()
[all …]
/components/drivers/usb/cherryusb/port/musb/
A Dusb_hc_musb.c186 static void musb_fifo_flush(struct usbh_bus *bus, uint8_t ep) in musb_fifo_flush() argument
188 uint8_t ep_idx = ep & 0x7f; in musb_fifo_flush()
193 if (ep & 0x80) { in musb_fifo_flush()
357 if (urb->ep->bEndpointAddress & 0x80) { in musb_bulk_urb_init()
416 if (urb->ep->bEndpointAddress & 0x80) { in musb_intr_urb_init()
425 HWREGB(USB_RXINTERVAL_BASE(chidx)) = urb->ep->bInterval; in musb_intr_urb_init()
716 if (!urb || !urb->hport || !urb->ep || !urb->hport->bus) { in usbh_submit_urb()
733 chidx = (urb->ep->bEndpointAddress & 0x0f); in usbh_submit_urb()
750 switch (USB_GET_ENDPOINT_TYPE(urb->ep->bmAttributes)) { in usbh_submit_urb()
813 if (urb->ep->bEndpointAddress & 0x80) { in usbh_kill_urb()
[all …]
A Dusb_dc_musb.c418 if (USB_EP_DIR_IS_OUT(ep->bEndpointAddress)) { in usbd_ep_open()
519 int usbd_ep_close(uint8_t busid, const uint8_t ep) in usbd_ep_close() argument
524 int usbd_ep_set_stall(uint8_t busid, const uint8_t ep) in usbd_ep_set_stall() argument
526 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_set_stall()
532 if (USB_EP_DIR_IS_OUT(ep)) { in usbd_ep_set_stall()
554 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_clear_stall()
560 if (USB_EP_DIR_IS_OUT(ep)) { in usbd_ep_clear_stall()
586 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_is_stalled()
592 if (USB_EP_DIR_IS_OUT(ep)) { in usbd_ep_is_stalled()
611 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_start_write()
[all …]
/components/drivers/usb/cherryusb/port/bouffalolab/
A Dusb_dc_bl.c664 ep_addr = ep->bEndpointAddress; in usbd_ep_open()
794 int usbd_ep_close(uint8_t busid, const uint8_t ep) in usbd_ep_close() argument
799 int usbd_ep_set_stall(uint8_t busid, const uint8_t ep) in usbd_ep_set_stall() argument
803 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_set_stall()
810 if (USB_EP_DIR_IS_OUT(ep)) { in usbd_ep_set_stall()
830 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_clear_stall()
834 if (USB_EP_DIR_IS_OUT(ep)) { in usbd_ep_clear_stall()
854 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_is_stalled()
858 if (USB_EP_DIR_IS_OUT(ep)) { in usbd_ep_is_stalled()
880 uint8_t ep_idx = USB_EP_GET_IDX(ep); in usbd_ep_start_write()
[all …]
/components/drivers/usb/cherryusb/demo/
A Daudio_v1_mic_speaker_multichan_template.c320 void usbd_audio_set_sampling_freq(uint8_t busid, uint8_t ep, uint32_t sampling_freq) in usbd_audio_set_sampling_freq() argument
322 if (ep == AUDIO_OUT_EP) { in usbd_audio_set_sampling_freq()
324 } else if (ep == AUDIO_IN_EP) { in usbd_audio_set_sampling_freq()
329 uint32_t usbd_audio_get_sampling_freq(uint8_t busid, uint8_t ep) in usbd_audio_get_sampling_freq() argument
335 if (ep == AUDIO_OUT_EP) { in usbd_audio_get_sampling_freq()
337 } else if (ep == AUDIO_IN_EP) { in usbd_audio_get_sampling_freq()
344 void usbd_audio_out_callback(uint8_t busid, uint8_t ep, uint32_t nbytes) in usbd_audio_out_callback() argument
350 void usbd_audio_in_callback(uint8_t busid, uint8_t ep, uint32_t nbytes) in usbd_audio_in_callback() argument
357 void usbd_audio_iso_out_feedback_callback(uint8_t busid, uint8_t ep, uint32_t nbytes) in usbd_audio_iso_out_feedback_callback() argument
390 .ep = AUDIO_IN_EP },
[all …]

Completed in 62 milliseconds

1234