1e48354ce078c079996f89d715dfa44814b4eba01Nicholas Bellinger#ifndef ISCSI_TARGET_NEGO_H
2e48354ce078c079996f89d715dfa44814b4eba01Nicholas Bellinger#define ISCSI_TARGET_NEGO_H
3e48354ce078c079996f89d715dfa44814b4eba01Nicholas Bellinger
4e48354ce078c079996f89d715dfa44814b4eba01Nicholas Bellinger#define DECIMAL         0
5e48354ce078c079996f89d715dfa44814b4eba01Nicholas Bellinger#define HEX             1
6e48354ce078c079996f89d715dfa44814b4eba01Nicholas Bellinger
7e48354ce078c079996f89d715dfa44814b4eba01Nicholas Bellingerextern void convert_null_to_semi(char *, int);
8e48354ce078c079996f89d715dfa44814b4eba01Nicholas Bellingerextern int extract_param(const char *, const char *, unsigned int, char *,
9e48354ce078c079996f89d715dfa44814b4eba01Nicholas Bellinger		unsigned char *);
10baa4d64b147a4064626f6597646ae8a330d9e2edNicholas Bellingerextern int iscsi_target_check_login_request(struct iscsi_conn *,
11baa4d64b147a4064626f6597646ae8a330d9e2edNicholas Bellinger		struct iscsi_login *);
12baa4d64b147a4064626f6597646ae8a330d9e2edNicholas Bellingerextern int iscsi_target_get_initial_payload(struct iscsi_conn *,
13baa4d64b147a4064626f6597646ae8a330d9e2edNicholas Bellinger		struct iscsi_login *);
14baa4d64b147a4064626f6597646ae8a330d9e2edNicholas Bellingerextern int iscsi_target_locate_portal(struct iscsi_np *, struct iscsi_conn *,
15baa4d64b147a4064626f6597646ae8a330d9e2edNicholas Bellinger		struct iscsi_login *);
16e48354ce078c079996f89d715dfa44814b4eba01Nicholas Bellingerextern int iscsi_target_start_negotiation(
17e48354ce078c079996f89d715dfa44814b4eba01Nicholas Bellinger		struct iscsi_login *, struct iscsi_conn *);
18baa4d64b147a4064626f6597646ae8a330d9e2edNicholas Bellingerextern void iscsi_target_nego_release(struct iscsi_conn *);
19e48354ce078c079996f89d715dfa44814b4eba01Nicholas Bellinger
20e48354ce078c079996f89d715dfa44814b4eba01Nicholas Bellinger#endif /* ISCSI_TARGET_NEGO_H */
21