1
/*****************************************************************************\
2
* proc_req.h - functions and definitions for processing incoming RPCs.
3
*****************************************************************************
4
* Copyright (C) 2008 Lawrence Livermore National Security.
5
* Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
6
* Written by Morris Jette <jette1@llnl.gov>
9
* This file is part of SLURM, a resource management program.
10
* For details, see <http://www.llnl.gov/linux/slurm/>.
12
* SLURM is free software; you can redistribute it and/or modify it under
13
* the terms of the GNU General Public License as published by the Free
14
* Software Foundation; either version 2 of the License, or (at your option)
17
* In addition, as a special exception, the copyright holders give permission
18
* to link the code of portions of this program with the OpenSSL library under
19
* certain conditions as described in each individual source file, and
20
* distribute linked combinations including the two. You must obey the GNU
21
* General Public License in all respects for all of the code used other than
22
* OpenSSL. If you modify file(s) with this exception, you may extend this
23
* exception to your version of the file(s), but you are not obligated to do
24
* so. If you do not wish to do so, delete this exception statement from your
25
* version. If you delete this exception statement from all source files in
26
* the program, then also delete it here.
28
* SLURM is distributed in the hope that it will be useful, but WITHOUT ANY
29
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
30
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
33
* You should have received a copy of the GNU General Public License along
34
* with SLURM; if not, write to the Free Software Foundation, Inc.,
35
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
36
\*****************************************************************************/
41
#include "src/common/macros.h"
42
#include "src/common/pack.h"
43
#include "src/common/slurm_protocol_defs.h"
45
/* Process an incoming RPC
46
* orig_fd IN - originating file descriptor of the RPC
47
* msg IN - incoming message
48
* msg_size IN - size of msg in bytes
49
* first IN - set if first message received on the socket
50
* buffer OUT - outgoing response, must be freed by caller
51
* uid IN/OUT - user ID who initiated the RPC
52
* RET SLURM_SUCCESS or error code */
53
extern int proc_req(void **db_conn, slurm_fd orig_fd, char *msg,
54
uint32_t msg_size, bool first, Buf *out_buffer,
57
#endif /* !_PROC_REQ */