162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#ifndef ISCSI_TARGET_NEGO_H
362306a36Sopenharmony_ci#define ISCSI_TARGET_NEGO_H
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#define DECIMAL         0
662306a36Sopenharmony_ci#define HEX             1
762306a36Sopenharmony_ci#define BASE64          2
862306a36Sopenharmony_ci
962306a36Sopenharmony_cistruct iscsit_conn;
1062306a36Sopenharmony_cistruct iscsi_login;
1162306a36Sopenharmony_cistruct iscsi_np;
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciextern void convert_null_to_semi(char *, int);
1462306a36Sopenharmony_ciextern int extract_param(const char *, const char *, unsigned int, char *,
1562306a36Sopenharmony_ci		unsigned char *);
1662306a36Sopenharmony_ciextern int iscsi_target_check_login_request(struct iscsit_conn *,
1762306a36Sopenharmony_ci		struct iscsi_login *);
1862306a36Sopenharmony_ciextern int iscsi_target_get_initial_payload(struct iscsit_conn *,
1962306a36Sopenharmony_ci		struct iscsi_login *);
2062306a36Sopenharmony_ciextern int iscsi_target_locate_portal(struct iscsi_np *, struct iscsit_conn *,
2162306a36Sopenharmony_ci		struct iscsi_login *);
2262306a36Sopenharmony_ciextern int iscsi_target_start_negotiation(
2362306a36Sopenharmony_ci		struct iscsi_login *, struct iscsit_conn *);
2462306a36Sopenharmony_ciextern void iscsi_target_nego_release(struct iscsit_conn *);
2562306a36Sopenharmony_ciextern bool iscsi_conn_auth_required(struct iscsit_conn *conn);
2662306a36Sopenharmony_ci#endif /* ISCSI_TARGET_NEGO_H */
27