4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 only,
8 * as published by the Free Software Foundation.
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License version 2 for more details (a copy is included
14 * in the LICENSE file that accompanied this code).
16 * You should have received a copy of the GNU General Public License
17 * version 2 along with this program; If not, see
18 * http://www.gnu.org/licenses/gpl-2.0.html
23 * Copyright 2022 Hewlett Packard Enterprise Development LP
26 * This file is part of Lustre, http://www.lustre.org/
29 * kfilnd transaction and state machine processing.
36 void kfilnd_tn_process_rx_event(struct kfilnd_immediate_buffer *bufdesc,
37 struct kfilnd_msg *rx_msg, int msg_size);
38 void kfilnd_tn_free(struct kfilnd_transaction *tn);
39 struct kfilnd_transaction *kfilnd_tn_alloc(struct kfilnd_dev *dev, int cpt,
40 lnet_nid_t target_nid,
41 bool alloc_msg, bool is_initiator,
43 struct kfilnd_transaction *kfilnd_tn_alloc_for_peer(struct kfilnd_dev *dev,
45 struct kfilnd_peer *kp,
49 void kfilnd_tn_event_handler(struct kfilnd_transaction *tn,
50 enum tn_events event, int status);
51 void kfilnd_tn_cleanup(void);
52 int kfilnd_tn_init(void);
53 int kfilnd_tn_set_kiov_buf(struct kfilnd_transaction *tn, struct bio_vec *kiov,
54 size_t num_iov, size_t offset, size_t nob);
56 #endif /* _KFILND_TN_ */