Home
last modified time | relevance | path

Searched full:role (Results 1 – 25 of 1735) sorted by relevance

12345678910>>...70

/OK3568_Linux_fs/external/rkwifibt/drivers/rtl8852bs/phl/hal_g6/mac/mac_ax/
H A Drole.c16 #include "role.h"
55 struct mac_role_tbl *role, in __role_unlink() argument
62 next = role->next; in __role_unlink()
63 prev = role->prev; in __role_unlink()
64 role->prev = NULL; in __role_unlink()
65 role->next = NULL; in __role_unlink()
73 struct mac_role_tbl *role = list->next; in __role_peek() local
75 if (role == (struct mac_role_tbl *)list) in __role_peek()
76 role = NULL; in __role_peek()
77 return role; in __role_peek()
[all …]
H A Dsecurity_cam.c477 struct mac_role_tbl *role, u8 key_type, in delete_key_from_addr_cam() argument
484 key_valid_byte = role->info.a_info.sec_ent_valid; in delete_key_from_addr_cam()
486 key_index = decide_key_index(role->info.a_info.sec_ent_mode, key_type); in delete_key_from_addr_cam()
498 if (role->info.a_info.sec_ent_keyid[i] == key_id && in delete_key_from_addr_cam()
509 if (check_key_index(role->info.a_info.sec_ent_mode, in delete_key_from_addr_cam()
516 *sec_cam_idx = role->info.a_info.sec_ent[key_index]; in delete_key_from_addr_cam()
518 role->info.a_info.sec_ent_keyid[key_index] = 0; in delete_key_from_addr_cam()
519 role->info.a_info.sec_ent_valid &= ~(BIT(key_index)); in delete_key_from_addr_cam()
520 role->info.a_info.sec_ent[key_index] = 0; in delete_key_from_addr_cam()
523 ret = mac_upd_addr_cam(adapter, &role->info, CHG); in delete_key_from_addr_cam()
[all …]
/OK3568_Linux_fs/external/rkwifibt/drivers/rtl8852be/phl/hal_g6/mac/mac_ax/
H A Drole.c16 #include "role.h"
55 struct mac_role_tbl *role, in __role_unlink() argument
62 next = role->next; in __role_unlink()
63 prev = role->prev; in __role_unlink()
64 role->prev = NULL; in __role_unlink()
65 role->next = NULL; in __role_unlink()
73 struct mac_role_tbl *role = list->next; in __role_peek() local
75 if (role == (struct mac_role_tbl *)list) in __role_peek()
76 role = NULL; in __role_peek()
77 return role; in __role_peek()
[all …]
H A Dsecurity_cam.c477 struct mac_role_tbl *role, u8 key_type, in delete_key_from_addr_cam() argument
484 key_valid_byte = role->info.a_info.sec_ent_valid; in delete_key_from_addr_cam()
486 key_index = decide_key_index(role->info.a_info.sec_ent_mode, key_type); in delete_key_from_addr_cam()
498 if (role->info.a_info.sec_ent_keyid[i] == key_id && in delete_key_from_addr_cam()
509 if (check_key_index(role->info.a_info.sec_ent_mode, in delete_key_from_addr_cam()
516 *sec_cam_idx = role->info.a_info.sec_ent[key_index]; in delete_key_from_addr_cam()
518 role->info.a_info.sec_ent_keyid[key_index] = 0; in delete_key_from_addr_cam()
519 role->info.a_info.sec_ent_valid &= ~(BIT(key_index)); in delete_key_from_addr_cam()
520 role->info.a_info.sec_ent[key_index] = 0; in delete_key_from_addr_cam()
523 ret = mac_upd_addr_cam(adapter, &role->info, CHG); in delete_key_from_addr_cam()
[all …]
/OK3568_Linux_fs/kernel/drivers/usb/roles/
H A Dclass.c3 * USB Role Switch Support
10 #include <linux/usb/role.h>
22 enum usb_role role; member
36 * usb_role_switch_set_role - Set USB role for a switch
37 * @sw: USB role switch
38 * @role: USB role to be switched to
40 * Set USB role @role for @sw.
42 int usb_role_switch_set_role(struct usb_role_switch *sw, enum usb_role role) in usb_role_switch_set_role() argument
51 ret = sw->set(sw, role); in usb_role_switch_set_role()
53 sw->role = role; in usb_role_switch_set_role()
[all …]
H A Dintel-xhci-usb-role-switch.c3 * Intel XHCI (Cherry Trail, Broxton and others) USB OTG role switch driver
23 #include <linux/usb/role.h>
56 enum usb_role role) in intel_xhci_usb_set_role() argument
80 * SW_SWITCH_EN bits to be zero for role switch, in intel_xhci_usb_set_role()
84 switch (role) { in intel_xhci_usb_set_role()
116 if (!!(val & HOST_MODE) == (role == USB_ROLE_HOST)) { in intel_xhci_usb_set_role()
127 dev_warn(data->dev, "Timeout waiting for role-switch\n"); in intel_xhci_usb_set_role()
134 enum usb_role role; in intel_xhci_usb_get_role() local
142 role = USB_ROLE_HOST; in intel_xhci_usb_get_role()
144 role = USB_ROLE_DEVICE; in intel_xhci_usb_get_role()
[all …]
/OK3568_Linux_fs/kernel/drivers/usb/cdns3/
H A Dcore.c30 static int cdns3_role_start(struct cdns3 *cdns, enum usb_role role) in cdns3_role_start() argument
34 if (WARN_ON(role > USB_ROLE_DEVICE)) in cdns3_role_start()
38 cdns->role = role; in cdns3_role_start()
41 if (!cdns->roles[role]) in cdns3_role_start()
44 if (cdns->roles[role]->state == CDNS3_ROLE_STATE_ACTIVE) in cdns3_role_start()
48 ret = cdns->roles[role]->start(cdns); in cdns3_role_start()
50 cdns->roles[role]->state = CDNS3_ROLE_STATE_ACTIVE; in cdns3_role_start()
58 enum usb_role role = cdns->role; in cdns3_role_stop() local
60 if (WARN_ON(role > USB_ROLE_DEVICE)) in cdns3_role_stop()
63 if (cdns->roles[role]->state == CDNS3_ROLE_STATE_INACTIVE) in cdns3_role_stop()
[all …]
H A Dcore.h12 #include <linux/usb/role.h>
20 * struct cdns3_role_driver - host/gadget role driver
21 * @start: start this role
22 * @stop: stop this role
23 * @suspend: suspend callback for this role
24 * @resume: resume callback for this role
25 * @irq: irq handler for this role
26 * @name: role name string (host/gadget)
65 * @role: current role
75 * @role_sw: pointer to role switch object.
[all …]
/OK3568_Linux_fs/u-boot/drivers/usb/cdns3/
H A Dcore.c42 WARN_ON(!cdns->roles[cdns->role]); in cdns3_get_current_role_driver()
43 return cdns->roles[cdns->role]; in cdns3_get_current_role_driver()
46 static int cdns3_role_start(struct cdns3 *cdns, enum usb_role role) in cdns3_role_start() argument
50 if (WARN_ON(role > USB_ROLE_DEVICE)) in cdns3_role_start()
54 cdns->role = role; in cdns3_role_start()
57 if (!cdns->roles[role]) in cdns3_role_start()
60 if (cdns->roles[role]->state == CDNS3_ROLE_STATE_ACTIVE) in cdns3_role_start()
64 ret = cdns->roles[role]->start(cdns); in cdns3_role_start()
66 cdns->roles[role]->state = CDNS3_ROLE_STATE_ACTIVE; in cdns3_role_start()
74 enum usb_role role = cdns->role; in cdns3_role_stop() local
[all …]
H A Dcore.h28 * struct cdns3_role_driver - host/gadget role driver
29 * @start: start this role
30 * @stop: stop this role
31 * @suspend: suspend callback for this role
32 * @resume: resume callback for this role
33 * @irq: irq handler for this role
34 * @name: role name string (host/gadget)
60 * @role: current role
70 * @role_sw: pointer to role switch object.
71 * @role_override: set 1 if role rely on SW.
[all …]
/OK3568_Linux_fs/kernel/drivers/usb/typec/
H A Dqcom-pmic-typec.c15 #include <linux/usb/role.h>
69 enum usb_role role; in qcom_pmic_typec_check_connection() local
82 role = (stat & SNK_SRC_MODE) ? USB_ROLE_HOST : USB_ROLE_DEVICE; in qcom_pmic_typec_check_connection()
83 if (role == USB_ROLE_HOST) in qcom_pmic_typec_check_connection()
88 role = USB_ROLE_NONE; in qcom_pmic_typec_check_connection()
93 usb_role_switch_set_role(qcom_usb->role_sw, role); in qcom_pmic_typec_check_connection()
136 int ret, irq, role; in qcom_pmic_typec_probe() local
166 ret = fwnode_property_read_string(fwnode, "power-role", &buf); in qcom_pmic_typec_probe()
168 role = typec_find_port_power_role(buf); in qcom_pmic_typec_probe()
169 if (role < 0) in qcom_pmic_typec_probe()
[all …]
/OK3568_Linux_fs/kernel/drivers/usb/chipidea/
H A Dci.h19 #include <linux/usb/role.h>
126 * struct ci_role_driver - host/gadget role driver
127 * @start: start this role
128 * @stop: stop this role
129 * @irq: irq handler for this role
130 * @name: role name string (host/gadget)
166 * @role: current role
173 * @work: work for role changing
214 enum ci_role role; member
264 BUG_ON(ci->role >= CI_ROLE_END || !ci->roles[ci->role]); in ci_role()
[all …]
/OK3568_Linux_fs/external/rkwifibt/drivers/rtl8852bs/include/
H A Drtw_p2p.h64 void init_wifidirect_info(_adapter *padapter, enum P2P_ROLE role);
65 int rtw_p2p_enable(_adapter *padapter, enum P2P_ROLE role);
67 void _rtw_p2p_set_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role);
71 return wdinfo->role; in _rtw_p2p_role()
73 static inline bool _rtw_p2p_chk_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role) in _rtw_p2p_chk_role() argument
75 return wdinfo->role == role; in _rtw_p2p_chk_role()
79 void dbg_rtw_p2p_set_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role, const char *caller, i…
80 #define rtw_p2p_set_role(wdinfo, role) dbg_rtw_p2p_set_role(wdinfo, role, __FUNCTION__, __LINE__) argument
82 #define rtw_p2p_set_role(wdinfo, role) _rtw_p2p_set_role(wdinfo, role) argument
86 #define rtw_p2p_chk_role(wdinfo, role) _rtw_p2p_chk_role(wdinfo, role) argument
/OK3568_Linux_fs/external/rkwifibt/drivers/rtl8852be/include/
H A Drtw_p2p.h64 void init_wifidirect_info(_adapter *padapter, enum P2P_ROLE role);
65 int rtw_p2p_enable(_adapter *padapter, enum P2P_ROLE role);
67 void _rtw_p2p_set_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role);
71 return wdinfo->role; in _rtw_p2p_role()
73 static inline bool _rtw_p2p_chk_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role) in _rtw_p2p_chk_role() argument
75 return wdinfo->role == role; in _rtw_p2p_chk_role()
79 void dbg_rtw_p2p_set_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role, const char *caller, i…
80 #define rtw_p2p_set_role(wdinfo, role) dbg_rtw_p2p_set_role(wdinfo, role, __FUNCTION__, __LINE__) argument
82 #define rtw_p2p_set_role(wdinfo, role) _rtw_p2p_set_role(wdinfo, role) argument
86 #define rtw_p2p_chk_role(wdinfo, role) _rtw_p2p_chk_role(wdinfo, role) argument
/OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/rtl8723bu/include/
H A Drtw_p2p.h85 void init_wifidirect_info( _adapter* padapter, enum P2P_ROLE role);
86 int rtw_p2p_enable(_adapter *padapter, enum P2P_ROLE role);
110 static inline void _rtw_p2p_set_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role) in _rtw_p2p_set_role() argument
112 if(wdinfo->role != role) { in _rtw_p2p_set_role()
113 wdinfo->role = role; in _rtw_p2p_set_role()
126 return wdinfo->role; in _rtw_p2p_role()
132 static inline bool _rtw_p2p_chk_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role) in _rtw_p2p_chk_role() argument
134 return wdinfo->role == role; in _rtw_p2p_chk_role()
141 void dbg_rtw_p2p_set_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role, const char *caller, i…
144 #define rtw_p2p_set_role(wdinfo, role) dbg_rtw_p2p_set_role(wdinfo, role, __FUNCTION__, __LINE__) argument
[all …]
/OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/rtl8723bs/include/
H A Drtw_p2p.h80 void init_wifidirect_info(_adapter *padapter, enum P2P_ROLE role);
81 int rtw_p2p_enable(_adapter *padapter, enum P2P_ROLE role);
104 static inline void _rtw_p2p_set_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role) in _rtw_p2p_set_role() argument
106 if (wdinfo->role != role) in _rtw_p2p_set_role()
107 wdinfo->role = role; in _rtw_p2p_set_role()
119 return wdinfo->role; in _rtw_p2p_role()
125 static inline bool _rtw_p2p_chk_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role) in _rtw_p2p_chk_role() argument
127 return wdinfo->role == role; in _rtw_p2p_chk_role()
134 void dbg_rtw_p2p_set_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role, const char *caller, i…
137 #define rtw_p2p_set_role(wdinfo, role) dbg_rtw_p2p_set_role(wdinfo, role, __FUNCTION__, __LINE__) argument
[all …]
/OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/rtl8189es/include/
H A Drtw_p2p.h74 void init_wifidirect_info( _adapter* padapter, enum P2P_ROLE role);
75 int rtw_p2p_enable(_adapter *padapter, enum P2P_ROLE role);
99 static inline void _rtw_p2p_set_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role) in _rtw_p2p_set_role() argument
101 if(wdinfo->role != role) { in _rtw_p2p_set_role()
102 wdinfo->role = role; in _rtw_p2p_set_role()
115 return wdinfo->role; in _rtw_p2p_role()
121 static inline bool _rtw_p2p_chk_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role) in _rtw_p2p_chk_role() argument
123 return wdinfo->role == role; in _rtw_p2p_chk_role()
130 void dbg_rtw_p2p_set_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role, const char *caller, i…
133 #define rtw_p2p_set_role(wdinfo, role) dbg_rtw_p2p_set_role(wdinfo, role, __FUNCTION__, __LINE__) argument
[all …]
/OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/rtl8822be/include/
H A Drtw_p2p.h85 void init_wifidirect_info(_adapter *padapter, enum P2P_ROLE role);
86 int rtw_p2p_enable(_adapter *padapter, enum P2P_ROLE role);
109 static inline void _rtw_p2p_set_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role) in _rtw_p2p_set_role() argument
111 if (wdinfo->role != role) in _rtw_p2p_set_role()
112 wdinfo->role = role; in _rtw_p2p_set_role()
124 return wdinfo->role; in _rtw_p2p_role()
130 static inline bool _rtw_p2p_chk_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role) in _rtw_p2p_chk_role() argument
132 return wdinfo->role == role; in _rtw_p2p_chk_role()
139 …void dbg_rtw_p2p_set_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role, const char *caller, …
142 #define rtw_p2p_set_role(wdinfo, role) dbg_rtw_p2p_set_role(wdinfo, role, __FUNCTION__, __LINE__) argument
[all …]
/OK3568_Linux_fs/external/rkwifibt/drivers/rtl8852bs/phl/
H A Dphl_mr.c61 PHL_INFO("\t[CH-CTX] role num:%d map:0x%02x, DFS enable:%s\n", in phl_mr_dump_chctx_info()
89 PHL_INFO("\t[BAND-%d] op_mode:%s port map:0x%02x, role num:%d map:0x%02x\n", in phl_mr_dump_band_info()
217 PHL_ERR("%s wifi role(%d) chan ctx is null\n", __func__, wrole->id); in _search_ld_sta_wrole()
234 PHL_INFO("search Linked STA wifi role (%d)\n", wr->id); in _search_ld_sta_wrole()
330 PHL_ERR("%s role notify failed\n", __func__); in _phl_mrc_module_connect_start_hdlr()
376 PHL_ERR("%s role notify failed\n", __func__); in _phl_mrc_module_connect_end_hdlr()
423 /* disable NoA for this role */ in _phl_mrc_module_disconnect_pre_hdlr()
461 RTW_ERR("%s - change to phl role type = %d fail with error = %d\n", __func__, rtype, psts); in _phl_mrc_module_disconnect_hdlr()
470 PHL_ERR("%s role notify failed\n", __func__); in _phl_mrc_module_disconnect_hdlr()
547 PHL_ERR("%s role notify failed\n", __func__); in _phl_mrc_module_ap_started_hdlr()
[all …]
/OK3568_Linux_fs/external/rkwifibt/drivers/rtl8852be/phl/
H A Dphl_mr.c61 PHL_INFO("\t[CH-CTX] role num:%d map:0x%02x, DFS enable:%s\n", in phl_mr_dump_chctx_info()
89 PHL_INFO("\t[BAND-%d] op_mode:%s port map:0x%02x, role num:%d map:0x%02x\n", in phl_mr_dump_band_info()
217 PHL_ERR("%s wifi role(%d) chan ctx is null\n", __func__, wrole->id); in _search_ld_sta_wrole()
234 PHL_INFO("search Linked STA wifi role (%d)\n", wr->id); in _search_ld_sta_wrole()
330 PHL_ERR("%s role notify failed\n", __func__); in _phl_mrc_module_connect_start_hdlr()
376 PHL_ERR("%s role notify failed\n", __func__); in _phl_mrc_module_connect_end_hdlr()
423 /* disable NoA for this role */ in _phl_mrc_module_disconnect_pre_hdlr()
461 RTW_ERR("%s - change to phl role type = %d fail with error = %d\n", __func__, rtype, psts); in _phl_mrc_module_disconnect_hdlr()
470 PHL_ERR("%s role notify failed\n", __func__); in _phl_mrc_module_disconnect_hdlr()
547 PHL_ERR("%s role notify failed\n", __func__); in _phl_mrc_module_ap_started_hdlr()
[all …]
/OK3568_Linux_fs/kernel/drivers/extcon/
H A Dextcon-usbc-cros-ec.c28 unsigned int dr; /* data role */
29 bool pr; /* power role (true if VBUS enabled) */
136 * cros_ec_usb_get_role() - Get role info about possible PD device attached to a
141 * Return: role info on success, -ENOTCONN if no cable is connected, <0 on
152 pd_control.role = USB_PD_CTRL_ROLE_NO_CHANGE; in cros_ec_usb_get_role()
166 return resp.role; in cros_ec_usb_get_role()
188 static const char *cros_ec_usb_role_string(unsigned int role) in cros_ec_usb_role_string() argument
190 return role == DR_NONE ? "DISCONNECTED" : in cros_ec_usb_role_string()
191 (role == DR_HOST ? "DFP" : "UFP"); in cros_ec_usb_role_string()
223 unsigned int role) in cros_ec_usb_power_type_is_wall_wart() argument
[all …]
/OK3568_Linux_fs/kernel/drivers/usb/dwc2/
H A Ddrd.c3 * drd.c - DesignWare USB2 DRD Controller Dual-role support
13 #include <linux/usb/role.h>
72 static int dwc2_drd_role_sw_set(struct usb_role_switch *sw, enum usb_role role) in dwc2_drd_role_sw_set() argument
79 if ((role == USB_ROLE_DEVICE && hsotg->dr_mode == USB_DR_MODE_HOST) || in dwc2_drd_role_sw_set()
80 (role == USB_ROLE_HOST && hsotg->dr_mode == USB_DR_MODE_PERIPHERAL)) in dwc2_drd_role_sw_set()
86 if (role == USB_ROLE_NONE && hsotg->test_mode) { in dwc2_drd_role_sw_set()
95 * If role-switch set is called before the udc_start, we need to enable in dwc2_drd_role_sw_set()
108 if (role == USB_ROLE_HOST) { in dwc2_drd_role_sw_set()
110 } else if (role == USB_ROLE_DEVICE) { in dwc2_drd_role_sw_set()
130 dwc2_force_mode(hsotg, role == USB_ROLE_HOST); in dwc2_drd_role_sw_set()
[all …]
/OK3568_Linux_fs/kernel/net/bridge/
H A Dbr_mrp.c236 * - when node role is MRM, in this case test_monitor is always set to false
239 * - when node role is MRA, there are 2 subcases:
240 * - when MRA behaves as MRM, in this case is similar with MRM role
263 * role MRA and behaves as MRC. The reason is that the in br_mrp_test_work_expired()
266 * the role of a MRM. in br_mrp_test_work_expired()
314 /* This function is continuously called when the node has the interconnect role
403 /* Stop sending MRP_InTest frames if has an interconnect role */ in br_mrp_del_impl()
567 /* Set port role, port role can be primary or secondary
571 enum br_mrp_port_role_type role) in br_mrp_set_port_role() argument
583 switch (role) { in br_mrp_set_port_role()
[all …]
/OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/rtl8821cs/include/
H A Drtw_p2p.h80 void init_wifidirect_info(_adapter *padapter, enum P2P_ROLE role);
81 int rtw_p2p_enable(_adapter *padapter, enum P2P_ROLE role);
104 void _rtw_p2p_set_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role);
116 return wdinfo->role; in _rtw_p2p_role()
122 static inline bool _rtw_p2p_chk_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role) in _rtw_p2p_chk_role() argument
124 return wdinfo->role == role; in _rtw_p2p_chk_role()
131 void dbg_rtw_p2p_set_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role, const char *caller, i…
134 #define rtw_p2p_set_role(wdinfo, role) dbg_rtw_p2p_set_role(wdinfo, role, __FUNCTION__, __LINE__) argument
139 #define rtw_p2p_set_role(wdinfo, role) _rtw_p2p_set_role(wdinfo, role) argument
147 #define rtw_p2p_chk_role(wdinfo, role) _rtw_p2p_chk_role(wdinfo, role) argument
/OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/rtl8188eu/include/
H A Drtw_p2p.h82 void init_wifidirect_info(_adapter *padapter, enum P2P_ROLE role);
83 int rtw_p2p_enable(_adapter *padapter, enum P2P_ROLE role);
106 void _rtw_p2p_set_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role);
118 return wdinfo->role; in _rtw_p2p_role()
124 static inline bool _rtw_p2p_chk_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role) in _rtw_p2p_chk_role() argument
126 return wdinfo->role == role; in _rtw_p2p_chk_role()
133 void dbg_rtw_p2p_set_role(struct wifidirect_info *wdinfo, enum P2P_ROLE role, const char *caller, i…
136 #define rtw_p2p_set_role(wdinfo, role) dbg_rtw_p2p_set_role(wdinfo, role, __FUNCTION__, __LINE__) argument
141 #define rtw_p2p_set_role(wdinfo, role) _rtw_p2p_set_role(wdinfo, role) argument
149 #define rtw_p2p_chk_role(wdinfo, role) _rtw_p2p_chk_role(wdinfo, role) argument

12345678910>>...70