Server Wait On Clients System - API Documentation  v1.6.4
Server Wait On Clients System.
request.c File Reference

Request processing functions. More...

#include <arpa/inet.h>
#include <limits.h>
#include <netdb.h>
#include <netinet/in.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <syslog.h>
#include "internal.h"
#include <libmgec/libmgec.h>
#include <libmgec/mge-bstree.h>
#include <libmgec/mge-errno.h>
#include <libmgec/mge-memory.h>
#include <libmgec/mge-message.h>
#include <swoc/libswoccommon.h>
Include dependency graph for request.c:

Macros

#define _Bool   signed char
 
#define bool   _Bool
 
#define false   0
 
#define true   1
 
#define __bool_true_false_are_defined   1
 

Functions

int srv_end_req (struct mgemessage *msg, enum msg_arguments *msg_args)
 swocserver requesting the daemon to terminate. More...
 
int srv_reload_req (struct mgemessage *msg, enum msg_arguments *msg_args)
 swocserver request to reload config file. More...
 
int swsd_reload_config (void)
 Reload the config file. More...
 
int srv_status_req (struct mgemessage *msg, enum msg_arguments *msg_args)
 Server status request. More...
 
int srv_cli_blocklist_req (struct mgemessage *msg, enum msg_arguments *msg_args)
 Server client block list request. More...
 
int srv_cli_rel_req (struct mgemessage *msg, enum msg_arguments *msg_args)
 Server requests client lock release. More...
 
int srv_cli_block_req (struct mgemessage *msg, enum msg_arguments *msg_args)
 Server requests client to be blocked. More...
 
int srv_cli_unblock_req (struct mgemessage *msg, enum msg_arguments *msg_args)
 Server requests client to be unblocked. More...
 
int srv_block_req (struct mgemessage *msg, enum msg_arguments *msg_args)
 Server requests server level blocking. More...
 
int srv_unblock_req (struct mgemessage *msg, enum msg_arguments *msg_args)
 Server requests removal of server level blocking. More...
 
int srv_block_status_req (struct mgemessage *msg, enum msg_arguments *msg_args)
 Server requests status of server level blocking. More...
 
int cli_block_req (struct mgemessage *msg, enum msg_arguments *msg_args)
 Client block further locks request. More...
 
int cli_unblock_req (struct mgemessage *msg, enum msg_arguments *msg_args)
 Client unblock further locks request. More...
 
int cli_srv_block_status_req (struct mgemessage *msg, enum msg_arguments *msg_args)
 Client requests status of server level blocking. More...
 
int cli_lock_req (struct mgemessage *msg, enum msg_arguments *msg_args)
 Client lock request. More...
 
int cli_rel_req (struct mgemessage *msg, enum msg_arguments *msg_args)
 Release request from client. More...
 
int cli_status_req (struct mgemessage *msg, enum msg_arguments *msg_args)
 Status request from client. More...
 
int cli_reset_req (struct mgemessage *msg, enum msg_arguments *msg_args)
 Reset request from client. More...
 
void id_req (struct mgemessage *msg, enum msg_arguments *msg_args)
 Server or client submits id. More...
 

Detailed Description

Request processing functions.

Author
Copyright (C) 2016-2022 Mark Grant

Released under the GPLv3 only.
SPDX-License-Identifier: GPL-3.0-only

Version
v1.0.26 ==== 17/09/2022

Macro Definition Documentation

◆ __bool_true_false_are_defined

#define __bool_true_false_are_defined   1

◆ _Bool

#define _Bool   signed char

◆ bool

#define bool   _Bool

◆ false

#define false   0

◆ true

#define true   1

Function Documentation

◆ cli_block_req()

int cli_block_req ( struct mgemessage *  msg,
enum msg_arguments msg_args 
)

Client block further locks request.

No parameters allowed. Set a block on this client so that it cannot instantiate any more locks until the client is unblocked. The client can release locks while blocked. If the client is already blocked the function succedes.

Parameters
msgThe message being processed.
msg_argsThe message arguments.
Returns
0 on success, < zero on failure.

◆ cli_lock_req()

int cli_lock_req ( struct mgemessage *  msg,
enum msg_arguments msg_args 
)

Client lock request.

No parameters allowed, add client lock.

Parameters
msgThe message being processed.
msg_argsThe message arguments.
Returns
0 on success, < zero on failure.

◆ cli_rel_req()

int cli_rel_req ( struct mgemessage *  msg,
enum msg_arguments msg_args 
)

Release request from client.

Parameters
msgThe message being processed.
msg_argsThe message arguments.
Returns
0 on success, < zero on failure.

◆ cli_reset_req()

int cli_reset_req ( struct mgemessage *  msg,
enum msg_arguments msg_args 
)

Reset request from client.

Remove all locks and any block.

Parameters
msgThe message being processed.
msg_argsThe message arguments.
Returns
0 on success, < zero on failure.

◆ cli_srv_block_status_req()

int cli_srv_block_status_req ( struct mgemessage *  msg,
enum msg_arguments msg_args 
)

Client requests status of server level blocking.

Parameters
msgThe message being processed.
msg_argsThe message arguments.
Returns
0 on success, < zero on failure.

◆ cli_status_req()

int cli_status_req ( struct mgemessage *  msg,
enum msg_arguments msg_args 
)

Status request from client.

Parameters
msgThe message being processed.
msg_argsThe message arguments.
Returns
0 on success, < zero on failure.

◆ cli_unblock_req()

int cli_unblock_req ( struct mgemessage *  msg,
enum msg_arguments msg_args 
)

Client unblock further locks request.

No parameters allowed. Remove a block on this client so that it can instantiate locks again. If the client is already unblocked the function succedes.

Parameters
msgThe message being processed.
msg_argsThe message arguments.
Returns
0 on success, < zero on failure.

◆ id_req()

void id_req ( struct mgemessage *  msg,
enum msg_arguments msg_args 
)

Server or client submits id.

The host name and IP address are submitted for the daemon to know the machine identity even if it is coming over SSH (which always appears as localhost to the daemon). Daemon is unaffected by errors which are relayed back to the sender. Exactly 2 arguments, the host name and IP address.

Parameters
msgThe message being processed.
msg_argsThe message arguments.

◆ srv_block_req()

int srv_block_req ( struct mgemessage *  msg,
enum msg_arguments msg_args 
)

Server requests server level blocking.

Parameters
msgThe message being processed.
msg_argsThe message arguments.
Returns
0 on success, < zero on failure.

◆ srv_block_status_req()

int srv_block_status_req ( struct mgemessage *  msg,
enum msg_arguments msg_args 
)

Server requests status of server level blocking.

Parameters
msgThe message being processed.
msg_argsThe message arguments.
Returns
0 on success, < zero on failure.

◆ srv_cli_block_req()

int srv_cli_block_req ( struct mgemessage *  msg,
enum msg_arguments msg_args 
)

Server requests client to be blocked.

Exactly 1 argument, the client to be blocked.

Parameters
msgThe message being processed.
msg_argsThe message arguments.
Returns
0 on success, < zero on failure.

◆ srv_cli_blocklist_req()

int srv_cli_blocklist_req ( struct mgemessage *  msg,
enum msg_arguments msg_args 
)

Server client block list request.

Parameters
msgThe message being processed.
msg_argsThe message arguments.
Returns
0 on success, < zero on failure.

◆ srv_cli_rel_req()

int srv_cli_rel_req ( struct mgemessage *  msg,
enum msg_arguments msg_args 
)

Server requests client lock release.

Exactly 1 argument, the client lock to be released.

Parameters
msgThe message being processed.
msg_argsThe message arguments.
Returns
0 on success, < zero on failure.

◆ srv_cli_unblock_req()

int srv_cli_unblock_req ( struct mgemessage *  msg,
enum msg_arguments msg_args 
)

Server requests client to be unblocked.

Exactly 1 argument, the client to be unblocked.

Parameters
msgThe message being processed.
msg_argsThe message arguments.
Returns
0 on success, < zero on failure.

◆ srv_end_req()

int srv_end_req ( struct mgemessage *  msg,
enum msg_arguments msg_args 
)

swocserver requesting the daemon to terminate.

Parameters
msgThe message being processed.
msg_argsThe message arguments.
Returns
0 on success, < zero on failure.

◆ srv_reload_req()

int srv_reload_req ( struct mgemessage *  msg,
enum msg_arguments msg_args 
)

swocserver request to reload config file.

Parameters
msgThe message being processed.
msg_argsThe message arguments.
Returns
0 on success, < zero on failure.

◆ srv_status_req()

int srv_status_req ( struct mgemessage *  msg,
enum msg_arguments msg_args 
)

Server status request.

Parameters
msgThe message being processed.
msg_argsThe message arguments.
Returns
0 on success, > zero on failure.

◆ srv_unblock_req()

int srv_unblock_req ( struct mgemessage *  msg,
enum msg_arguments msg_args 
)

Server requests removal of server level blocking.

Parameters
msgThe message being processed.
msg_argsThe message arguments.
Returns
0 on success, < zero on failure.

◆ swsd_reload_config()

int swsd_reload_config ( void  )

Reload the config file.

This function should only ever be called by srv_reload_req or the signal handler on receipt of SIGHUP which is a convention for daemons.

Returns
0 on success, < zero on failure.