Home
last modified time | relevance | path

Searched refs:buffer (Results 1 – 25 of 654) sorted by relevance

12345678910>>...27

/Zephyr-Core-3.5.0/lib/os/
Dmpsc_pbuf.c10 #define MPSC_PBUF_DBG(buffer, ...) do { \ argument
13 if (buffer) { \
14 mpsc_state_print(buffer); \
19 static inline void mpsc_state_print(struct mpsc_pbuf_buffer *buffer) in mpsc_state_print() argument
23 buffer->wr_idx, buffer->tmp_wr_idx, in mpsc_state_print()
24 buffer->rd_idx, buffer->tmp_rd_idx); in mpsc_state_print()
28 void mpsc_pbuf_init(struct mpsc_pbuf_buffer *buffer, in mpsc_pbuf_init() argument
33 memset(buffer, 0, offsetof(struct mpsc_pbuf_buffer, buf)); in mpsc_pbuf_init()
34 buffer->get_wlen = cfg->get_wlen; in mpsc_pbuf_init()
35 buffer->notify_drop = cfg->notify_drop; in mpsc_pbuf_init()
[all …]
/Zephyr-Core-3.5.0/tests/lib/sprintf/src/
Dmain.c105 char buffer[400]; in ZTEST() local
123 sprintf(buffer, "%e", var.d); in ZTEST()
124 zassert_true((strcmp(buffer, "inf") == 0), in ZTEST()
125 "sprintf(inf) - incorrect output '%s'\n", buffer); in ZTEST()
127 sprintf(buffer, "%E", var.d); in ZTEST()
128 zassert_true((strcmp(buffer, "INF") == 0), in ZTEST()
129 "sprintf(INF) - incorrect output '%s'\n", buffer); in ZTEST()
131 sprintf(buffer, "%f", var.d); in ZTEST()
132 zassert_true((strcmp(buffer, "inf") == 0), in ZTEST()
133 "sprintf(inf) - incorrect output '%s'\n", buffer); in ZTEST()
[all …]
/Zephyr-Core-3.5.0/tests/subsys/dsp/print_format/src/
Dmain.c21 char buffer[256]; in ZTEST() local
24 snprintf(buffer, 256, "%" PRIq(6), PRIq_arg(q, 6, 0)); in ZTEST()
25 assert_strings("0.119999", buffer); in ZTEST()
27 snprintf(buffer, 256, "%" PRIq(6), PRIq_arg(q, 6, 1)); in ZTEST()
28 assert_strings("0.239999", buffer); in ZTEST()
30 snprintf(buffer, 256, "%" PRIq(6), PRIq_arg(q, 6, -2)); in ZTEST()
31 assert_strings("0.029999", buffer); in ZTEST()
33 snprintf(buffer, 256, "%" PRIq(4), PRIq_arg(q, 4, 0)); in ZTEST()
34 assert_strings("0.1199", buffer); in ZTEST()
36 snprintf(buffer, 256, "%" PRIq(4), PRIq_arg(q, 4, 1)); in ZTEST()
[all …]
/Zephyr-Core-3.5.0/samples/boards/esp32/flash_encryption/src/
Dmain.c25 uint8_t buffer[32]; in main() local
36 buffer[k] = k; in main()
38 LOG_HEXDUMP_INF(buffer, sizeof(buffer), "WRITE BUFFER CONTENT"); in main()
44 flash_write(flash_device, address, &buffer, sizeof(buffer)); in main()
47 memset(buffer, 0, sizeof(buffer)); in main()
48 spi_flash_read(address, &buffer, sizeof(buffer)); in main()
49 LOG_HEXDUMP_INF(buffer, sizeof(buffer), "FLASH RAW DATA (Encrypted)"); in main()
52 memset(buffer, 0, sizeof(buffer)); in main()
53 flash_read(flash_device, address, &buffer, sizeof(buffer)); in main()
54 LOG_HEXDUMP_INF(buffer, sizeof(buffer), "FLASH DECRYPTED DATA"); in main()
/Zephyr-Core-3.5.0/tests/lib/mpsc_pbuf/src/
Dmain.c59 static void drop(const struct mpsc_pbuf_buffer *buffer, const union mpsc_pbuf_generic *item) in drop() argument
90 static void init(struct mpsc_pbuf_buffer *buffer, uint32_t wlen, bool overwrite) in init() argument
96 mpsc_pbuf_init(buffer, &mpsc_buf_cfg); in init()
116 struct mpsc_pbuf_buffer buffer; in item_put_no_overwrite() local
118 init(&buffer, 4 - !pow2, false); in item_put_no_overwrite()
120 int repeat = buffer.size*2; in item_put_no_overwrite()
127 mpsc_pbuf_put_word(&buffer, test_1word.item); in item_put_no_overwrite()
129 t = (union test_item *)mpsc_pbuf_claim(&buffer); in item_put_no_overwrite()
132 mpsc_pbuf_free(&buffer, &t->item); in item_put_no_overwrite()
136 zassert_is_null(mpsc_pbuf_claim(&buffer)); in item_put_no_overwrite()
[all …]
/Zephyr-Core-3.5.0/tests/unit/base64/
Dmain.c68 unsigned char buffer[128]; in ZTEST() local
75 rc = base64_encode(buffer, sizeof(buffer), &len, src, 64); in ZTEST()
77 rc = memcmp(base64_test_enc, buffer, 88); in ZTEST()
83 rc = base64_decode(buffer, sizeof(buffer), &len, src, 88); in ZTEST()
85 rc = memcmp(base64_test_dec, buffer, 64); in ZTEST()
89 rc = base64_encode(buffer, sizeof(buffer), &len, src, 0); in ZTEST()
94 rc = base64_encode(buffer, sizeof(buffer), &len, src, slen); in ZTEST()
101 rc = base64_encode(buffer, sizeof(buffer), &len, src, slen); in ZTEST()
107 rc = base64_decode(buffer, sizeof(buffer), &len, src, 88); in ZTEST()
111 rc = base64_decode(buffer, sizeof(buffer), &len, src, 88); in ZTEST()
[all …]
/Zephyr-Core-3.5.0/arch/arm/core/cortex_m/
Dfpu.c17 void z_arm_save_fp_context(struct fpu_ctx_full *buffer) in z_arm_save_fp_context() argument
20 __ASSERT_NO_MSG(buffer != NULL); in z_arm_save_fp_context()
29 :: "r" (buffer->caller_saved), "r" (buffer->callee_saved) : in z_arm_save_fp_context()
32 buffer->fpscr = __get_FPSCR(); in z_arm_save_fp_context()
33 buffer->ctx_saved = true; in z_arm_save_fp_context()
46 void z_arm_restore_fp_context(const struct fpu_ctx_full *buffer) in z_arm_restore_fp_context() argument
49 if (buffer->ctx_saved) { in z_arm_restore_fp_context()
56 __set_FPSCR(buffer->fpscr); in z_arm_restore_fp_context()
61 :: "r" (buffer->caller_saved), "r" (buffer->callee_saved) : in z_arm_restore_fp_context()
/Zephyr-Core-3.5.0/drivers/misc/ft8xx/
Dft8xx_common.c23 uint8_t buffer[2]; in ft8xx_wr16() local
25 *(uint16_t *)buffer = sys_cpu_to_le16(data); in ft8xx_wr16()
26 err = ft8xx_drv_write(address, buffer, sizeof(buffer)); in ft8xx_wr16()
33 uint8_t buffer[4]; in ft8xx_wr32() local
35 *(uint32_t *)buffer = sys_cpu_to_le32(data); in ft8xx_wr32()
36 err = ft8xx_drv_write(address, buffer, sizeof(buffer)); in ft8xx_wr32()
54 uint8_t buffer[2] = {0}; in ft8xx_rd16() local
56 err = ft8xx_drv_read(address, buffer, sizeof(buffer)); in ft8xx_rd16()
59 return sys_le16_to_cpu(*(const uint16_t *)buffer); in ft8xx_rd16()
65 uint8_t buffer[4] = {0}; in ft8xx_rd32() local
[all …]
/Zephyr-Core-3.5.0/tests/drivers/retained_mem/api/src/
Dmain.c21 static uint8_t buffer[1]; variable
30 static uint8_t buffer[10]; variable
40 memset(buffer, 0, sizeof(buffer)); in ZTEST()
42 rc = retained_mem_read(retained_mem_test_device, 0, buffer, sizeof(buffer)); in ZTEST()
45 zassert_mem_equal(data, buffer, sizeof(data), "Expected written data to match"); in ZTEST()
66 rc = retained_mem_read(retained_mem_test_device, 0, buffer, sizeof(buffer)); in ZTEST()
69 zassert_mem_equal(data, buffer, sizeof(data), "Expected written data to match"); in ZTEST()
74 rc = retained_mem_read(retained_mem_test_device, 0, buffer, sizeof(buffer)); in ZTEST()
77 zassert_mem_equal(empty_data, buffer, sizeof(empty_data), "Expected data to be 0x00's"); in ZTEST()
/Zephyr-Core-3.5.0/subsys/testsuite/coverage/
Dcoverage.c42 static inline void buff_write_u64(void *buffer, size_t *off, uint64_t v) in buff_write_u64() argument
44 memcpy((uint8_t *)buffer + *off, (uint8_t *)&v, sizeof(v)); in buff_write_u64()
51 static inline void buff_write_u32(void *buffer, size_t *off, uint32_t v) in buff_write_u32() argument
53 memcpy((uint8_t *)buffer + *off, (uint8_t *)&v, sizeof(v)); in buff_write_u32()
112 size_t populate_buffer(uint8_t *buffer, struct gcov_info *info) in populate_buffer() argument
122 buff_write_u32(buffer, in populate_buffer()
126 buff_write_u32(buffer, in populate_buffer()
130 buff_write_u32(buffer, in populate_buffer()
135 buff_write_u32(buffer, in populate_buffer()
147 buff_write_u32(buffer, in populate_buffer()
[all …]
/Zephyr-Core-3.5.0/modules/canopennode/
DCO_driver.c85 CO_CANrx_t *buffer; in canopen_rx_callback() local
92 buffer = &CANmodule->rx_array[i]; in canopen_rx_callback()
94 if (buffer->filter_id == -ENOSPC || buffer->pFunct == NULL) { in canopen_rx_callback()
98 if (((frame->id ^ buffer->ident) & buffer->mask) == 0U) { in canopen_rx_callback()
102 buffer->pFunct(buffer->object, &rxMsg); in canopen_rx_callback()
132 CO_CANtx_t *buffer; in canopen_tx_retry() local
141 buffer = &CANmodule->tx_array[i]; in canopen_tx_retry()
142 if (buffer->bufferFull) { in canopen_tx_retry()
143 frame.id = buffer->ident; in canopen_tx_retry()
144 frame.dlc = buffer->DLC; in canopen_tx_retry()
[all …]
/Zephyr-Core-3.5.0/include/zephyr/sys/
Dmpsc_pbuf.h86 typedef void (*mpsc_pbuf_notify_drop)(const struct mpsc_pbuf_buffer *buffer,
152 void mpsc_pbuf_init(struct mpsc_pbuf_buffer *buffer,
171 union mpsc_pbuf_generic *mpsc_pbuf_alloc(struct mpsc_pbuf_buffer *buffer,
180 void mpsc_pbuf_commit(struct mpsc_pbuf_buffer *buffer,
193 void mpsc_pbuf_put_word(struct mpsc_pbuf_buffer *buffer,
208 void mpsc_pbuf_put_word_ext(struct mpsc_pbuf_buffer *buffer,
223 void mpsc_pbuf_put_data(struct mpsc_pbuf_buffer *buffer,
232 const union mpsc_pbuf_generic *mpsc_pbuf_claim(struct mpsc_pbuf_buffer *buffer);
240 void mpsc_pbuf_free(struct mpsc_pbuf_buffer *buffer,
250 bool mpsc_pbuf_is_pending(struct mpsc_pbuf_buffer *buffer);
[all …]
/Zephyr-Core-3.5.0/samples/bluetooth/iso_broadcast_benchmark/src/
Dbroadcaster.c107 static size_t get_chars(char *buffer, size_t max_size) in get_chars() argument
118 buffer[pos++] = c; in get_chars()
121 buffer[pos] = '\0'; in get_chars()
128 char buffer[4]; in parse_rtn_arg() local
135 char_count = get_chars(buffer, sizeof(buffer) - 1); in parse_rtn_arg()
140 rtn = strtoul(buffer, NULL, 0); in parse_rtn_arg()
151 char buffer[9]; in parse_interval_arg() local
158 char_count = get_chars(buffer, sizeof(buffer) - 1); in parse_interval_arg()
163 interval = strtoul(buffer, NULL, 0); in parse_interval_arg()
174 char buffer[6]; in parse_latency_arg() local
[all …]
/Zephyr-Core-3.5.0/tests/modules/nanopb/src/
Dmain.c19 uint8_t buffer[SimpleMessage_size]; in ZTEST() local
22 for (size_t i = 0; i < sizeof(msg.buffer); ++i) { in ZTEST()
23 msg.buffer[i] = i; in ZTEST()
26 pb_ostream_t ostream = pb_ostream_from_buffer(buffer, sizeof(buffer)); in ZTEST()
34 pb_istream_t istream = pb_istream_from_buffer(buffer, ostream.bytes_written); in ZTEST()
39 for (size_t i = 0; i < sizeof(msg.buffer); ++i) { in ZTEST()
40 zassert_equal(msg.buffer[i], i); in ZTEST()
46 uint8_t buffer[ComplexMessage_size]; in ZTEST() local
53 pb_ostream_t ostream = pb_ostream_from_buffer(buffer, sizeof(buffer)); in ZTEST()
61 pb_istream_t istream = pb_istream_from_buffer(buffer, ostream.bytes_written); in ZTEST()
/Zephyr-Core-3.5.0/samples/modules/nanopb/src/
Dmain.c15 bool encode_message(uint8_t *buffer, size_t buffer_size, size_t *message_length) in encode_message() argument
29 pb_ostream_t stream = pb_ostream_from_buffer(buffer, buffer_size); in encode_message()
34 message.buffer[i] = (uint8_t)(i * 2); in encode_message()
48 bool decode_message(uint8_t *buffer, size_t message_length) in decode_message() argument
56 pb_istream_t stream = pb_istream_from_buffer(buffer, message_length); in decode_message()
67 printk("%s%d", ((i == 0) ? "" : ", "), (int) message.buffer[i]); in decode_message()
80 uint8_t buffer[SimpleMessage_size]; in main() local
84 if (!encode_message(buffer, sizeof(buffer), &message_length)) { in main()
93 decode_message(buffer, message_length); in main()
/Zephyr-Core-3.5.0/tests/subsys/mgmt/mcumgr/settings_mgmt/src/
Dsmp_test_util.c27 bool create_settings_mgmt_read_packet(zcbor_state_t *zse, uint8_t *buffer, uint8_t *output_buffer, in create_settings_mgmt_read_packet() argument
39 *buffer_size = (zse->payload_mut - buffer); in create_settings_mgmt_read_packet()
42 memcpy(&output_buffer[sizeof(struct smp_hdr)], buffer, *buffer_size); in create_settings_mgmt_read_packet()
48 bool create_settings_mgmt_write_packet(zcbor_state_t *zse, uint8_t *buffer, uint8_t *output_buffer, in create_settings_mgmt_write_packet() argument
61 *buffer_size = (zse->payload_mut - buffer); in create_settings_mgmt_write_packet()
64 memcpy(&output_buffer[sizeof(struct smp_hdr)], buffer, *buffer_size); in create_settings_mgmt_write_packet()
70 bool create_settings_mgmt_delete_packet(zcbor_state_t *zse, uint8_t *buffer, in create_settings_mgmt_delete_packet() argument
80 *buffer_size = (zse->payload_mut - buffer); in create_settings_mgmt_delete_packet()
82 memcpy(&output_buffer[sizeof(struct smp_hdr)], buffer, *buffer_size); in create_settings_mgmt_delete_packet()
88 bool create_settings_mgmt_commit_packet(zcbor_state_t *zse, uint8_t *buffer, in create_settings_mgmt_commit_packet() argument
[all …]
/Zephyr-Core-3.5.0/tests/subsys/mgmt/mcumgr/os_mgmt_info/src/
Dmain.c226 uint8_t buffer[ZCBOR_BUFFER_SIZE]; in ZTEST() local
259 zcbor_new_encode_state(zse, 2, buffer, ARRAY_SIZE(buffer), 0); in ZTEST()
261 ok = create_mcumgr_format_packet(zse, "s", buffer, buffer_out, &buffer_size); in ZTEST()
297 uint8_t buffer[ZCBOR_BUFFER_SIZE]; in ZTEST() local
311 memset(buffer, 0, sizeof(buffer)); in ZTEST()
317 zcbor_new_encode_state(zse, 2, buffer, ARRAY_SIZE(buffer), 0); in ZTEST()
319 ok = create_mcumgr_format_packet(zse, query_kernel_name, buffer, buffer_out, &buffer_size); in ZTEST()
358 uint8_t buffer[ZCBOR_BUFFER_SIZE]; in ZTEST() local
372 memset(buffer, 0, sizeof(buffer)); in ZTEST()
378 zcbor_new_encode_state(zse, 2, buffer, ARRAY_SIZE(buffer), 0); in ZTEST()
[all …]
/Zephyr-Core-3.5.0/drivers/bbram/
Dbbram_microchip_mcp7940n.c39 uint8_t buffer; in microchip_mcp7940n_bbram_init() local
50 &buffer); in microchip_mcp7940n_bbram_init()
71 uint8_t buffer; in microchip_mcp7940n_bbram_is_invalid() local
78 &buffer); in microchip_mcp7940n_bbram_is_invalid()
81 if ((buffer & MICROCHIP_MCP7940N_RTCWKDAY_PWRFAIL_BIT)) { in microchip_mcp7940n_bbram_is_invalid()
84 buffer &= (buffer ^ MICROCHIP_MCP7940N_RTCWKDAY_PWRFAIL_BIT); in microchip_mcp7940n_bbram_is_invalid()
88 buffer); in microchip_mcp7940n_bbram_is_invalid()
112 uint8_t buffer; in microchip_mcp7940n_bbram_check_standby_power() local
119 &buffer); in microchip_mcp7940n_bbram_check_standby_power()
122 if (!(buffer & MICROCHIP_MCP7940N_RTCWKDAY_VBATEN_BIT)) { in microchip_mcp7940n_bbram_check_standby_power()
[all …]
/Zephyr-Core-3.5.0/tests/subsys/mgmt/mcumgr/zcbor_bulk/src/
Dmain.c39 uint8_t buffer[512]; in ZTEST() local
52 zcbor_new_encode_state(zsd, 2, buffer, ARRAY_SIZE(buffer), 0); in ZTEST()
63 zcbor_new_decode_state(zsd, 4, buffer, ARRAY_SIZE(buffer), 1); in ZTEST()
80 uint8_t buffer[512]; in ZTEST() local
93 zcbor_new_encode_state(zsd, 2, buffer, ARRAY_SIZE(buffer), 0); in ZTEST()
104 zcbor_new_decode_state(zsd, 4, buffer, ARRAY_SIZE(buffer), 1); in ZTEST()
121 uint8_t buffer[512]; in ZTEST() local
134 zcbor_new_encode_state(zsd, 2, buffer, ARRAY_SIZE(buffer), 0); in ZTEST()
143 zcbor_new_decode_state(zsd, 4, buffer, ARRAY_SIZE(buffer), 1); in ZTEST()
153 uint8_t buffer[512]; in ZTEST() local
[all …]
/Zephyr-Core-3.5.0/tests/drivers/bbram/emul/src/
Dmain.c28 uint8_t buffer[BBRAM_SIZE]; in ZTEST() local
30 zassert_equal(bbram_read(dev, 0, 0, buffer), -EFAULT); in ZTEST()
31 zassert_equal(bbram_read(dev, 0, BBRAM_SIZE + 1, buffer), -EFAULT); in ZTEST()
32 zassert_equal(bbram_read(dev, BBRAM_SIZE - 1, 2, buffer), -EFAULT); in ZTEST()
33 zassert_equal(bbram_write(dev, 0, 0, buffer), -EFAULT); in ZTEST()
34 zassert_equal(bbram_write(dev, 0, BBRAM_SIZE + 1, buffer), -EFAULT); in ZTEST()
35 zassert_equal(bbram_write(dev, BBRAM_SIZE - 1, 2, buffer), -EFAULT); in ZTEST()
41 uint8_t buffer[BBRAM_SIZE]; in ZTEST() local
49 zassert_ok(bbram_read(dev, 0, BBRAM_SIZE, buffer)); in ZTEST()
50 zassert_mem_equal(buffer, expected, BBRAM_SIZE, NULL); in ZTEST()
[all …]
/Zephyr-Core-3.5.0/tests/subsys/mgmt/mcumgr/cb_notifications/src/
Dmain.c99 uint8_t buffer[ZCBOR_BUFFER_SIZE]; in ZTEST() local
107 memset(buffer, 0, sizeof(buffer)); in ZTEST()
113 zcbor_new_encode_state(zse, 2, buffer, ARRAY_SIZE(buffer), 0); in ZTEST()
115 ok = create_mcumgr_format_packet(zse, buffer, buffer_out, &buffer_size); in ZTEST()
145 uint8_t buffer[ZCBOR_BUFFER_SIZE]; in ZTEST() local
153 memset(buffer, 0, sizeof(buffer)); in ZTEST()
159 zcbor_new_encode_state(zse, 2, buffer, ARRAY_SIZE(buffer), 0); in ZTEST()
161 ok = create_mcumgr_format_packet(zse, buffer, buffer_out, &buffer_size); in ZTEST()
191 uint8_t buffer[ZCBOR_BUFFER_SIZE]; in ZTEST() local
199 memset(buffer, 0, sizeof(buffer)); in ZTEST()
[all …]
/Zephyr-Core-3.5.0/drivers/sensor/nxp_kinetis_temp/
Dtemp_kinetis.c39 uint16_t buffer[TEMP_KINETIS_ADC_SAMPLES]; member
60 memcpy(previous, data->buffer, sizeof(previous)); in temp_kinetis_sample_fetch()
69 LOG_DBG("sensor = %d, bandgap = %d", data->buffer[0], data->buffer[1]); in temp_kinetis_sample_fetch()
74 data->buffer[i] = (data->buffer[i] >> 1) + in temp_kinetis_sample_fetch()
78 LOG_DBG("sensor = %d, bandgap = %d (filtered)", data->buffer[0], in temp_kinetis_sample_fetch()
79 data->buffer[1]); in temp_kinetis_sample_fetch()
104 vdd_mv = (adcr_vdd * config->bandgap_mv) / data->buffer[1]; in temp_kinetis_channel_get()
116 if (data->buffer[0] > adcr_temp25) { in temp_kinetis_channel_get()
126 (((data->buffer[0] - adcr_temp25) * 10000) / adcr_100m); in temp_kinetis_channel_get()
162 memset(&data->buffer, 0, ARRAY_SIZE(data->buffer)); in temp_kinetis_init()
[all …]
/Zephyr-Core-3.5.0/include/zephyr/drivers/
Dentropy.h42 uint8_t *buffer,
51 uint8_t *buffer,
70 uint8_t *buffer,
74 uint8_t *buffer, in z_impl_entropy_get_entropy() argument
82 return api->get_entropy(dev, buffer, length); in z_impl_entropy_get_entropy()
99 uint8_t *buffer, in entropy_get_entropy_isr() argument
110 return api->get_entropy_isr(dev, buffer, length, flags); in entropy_get_entropy_isr()
/Zephyr-Core-3.5.0/doc/kernel/data_structures/
Dring_buffers.rst6 A :dfn:`ring buffer` is a circular buffer, whose contents are stored in
12 buffer of memory.
19 can be enqueued and dequeued from the ring buffer in
25 legal to mix these two modes on a single ring buffer instance. A ring
26 buffer initialized with a byte count must be used only with the
39 ring buffer is referenced by its memory address.
41 A ring buffer has the following key properties:
43 * A **data buffer** of bytes or 32-bit words. The data buffer contains the raw
44 bytes or 32-bit words that have been added to the ring buffer but not yet
47 * A **data buffer size**, measured in bytes or 32-bit words. This governs
[all …]
/Zephyr-Core-3.5.0/dts/arm/xilinx/
Dzynqmp.dtsi115 hw-rx-buffer-size = <XLNX_GEM_HW_RX_BUFFER_SIZE_8KB>;
116 hw-rx-buffer-offset = <0>;
117 hw-tx-buffer-size-full;
118 rx-buffer-descriptors = <32>;
119 tx-buffer-descriptors = <32>;
120 rx-buffer-size = <512>;
121 tx-buffer-size = <512>;
142 hw-rx-buffer-size = <XLNX_GEM_HW_RX_BUFFER_SIZE_8KB>;
143 hw-rx-buffer-offset = <0>;
144 hw-tx-buffer-size-full;
[all …]

12345678910>>...27