Whamcloud - gitweb
LU-8191 tests: convert functions to static
[fs/lustre-release.git] / lnet / klnds / kfilnd / kfilnd_tn.h
1 /*
2  * GPL HEADER START
3  *
4  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5  *
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.
9  *
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).
15  *
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
19  *
20  * GPL HEADER END
21  */
22 /*
23  * Copyright 2022 Hewlett Packard Enterprise Development LP
24  */
25 /*
26  * This file is part of Lustre, http://www.lustre.org/
27  */
28 /*
29  * kfilnd transaction and state machine processing.
30  */
31 #ifndef _KFILND_TN_
32 #define _KFILND_TN_
33
34 #include "kfilnd.h"
35
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,
42                                            bool key);
43 struct kfilnd_transaction *kfilnd_tn_alloc_for_peer(struct kfilnd_dev *dev,
44                                                     int cpt,
45                                                     struct kfilnd_peer *kp,
46                                                     bool alloc_msg,
47                                                     bool is_initiator,
48                                                     bool key);
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);
55
56 #endif /* _KFILND_TN_ */