18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef ISCSI_TARGET_NEGO_H
38c2ecf20Sopenharmony_ci#define ISCSI_TARGET_NEGO_H
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#define DECIMAL         0
68c2ecf20Sopenharmony_ci#define HEX             1
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_cistruct iscsi_conn;
98c2ecf20Sopenharmony_cistruct iscsi_login;
108c2ecf20Sopenharmony_cistruct iscsi_np;
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciextern void convert_null_to_semi(char *, int);
138c2ecf20Sopenharmony_ciextern int extract_param(const char *, const char *, unsigned int, char *,
148c2ecf20Sopenharmony_ci		unsigned char *);
158c2ecf20Sopenharmony_ciextern int iscsi_target_check_login_request(struct iscsi_conn *,
168c2ecf20Sopenharmony_ci		struct iscsi_login *);
178c2ecf20Sopenharmony_ciextern int iscsi_target_get_initial_payload(struct iscsi_conn *,
188c2ecf20Sopenharmony_ci		struct iscsi_login *);
198c2ecf20Sopenharmony_ciextern int iscsi_target_locate_portal(struct iscsi_np *, struct iscsi_conn *,
208c2ecf20Sopenharmony_ci		struct iscsi_login *);
218c2ecf20Sopenharmony_ciextern int iscsi_target_start_negotiation(
228c2ecf20Sopenharmony_ci		struct iscsi_login *, struct iscsi_conn *);
238c2ecf20Sopenharmony_ciextern void iscsi_target_nego_release(struct iscsi_conn *);
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci#endif /* ISCSI_TARGET_NEGO_H */
26