Grid Community Toolkit
6.2.1550507116
gsi_openssh
source
dispatch.h
1
/* $OpenBSD: dispatch.h,v 1.12 2015/01/19 20:07:45 markus Exp $ */
2
3
/*
4
* Copyright (c) 2000 Markus Friedl. All rights reserved.
5
*
6
* Redistribution and use in source and binary forms, with or without
7
* modification, are permitted provided that the following conditions
8
* are met:
9
* 1. Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
11
* 2. Redistributions in binary form must reproduce the above copyright
12
* notice, this list of conditions and the following disclaimer in the
13
* documentation and/or other materials provided with the distribution.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
*/
26
27
#ifndef DISPATCH_H
28
#define DISPATCH_H
29
30
#define DISPATCH_MAX 255
31
32
enum
{
33
DISPATCH_BLOCK,
34
DISPATCH_NONBLOCK
35
};
36
37
struct
ssh;
38
39
typedef
int
dispatch_fn(
int
, u_int32_t,
void
*);
40
41
int
dispatch_protocol_error(
int
, u_int32_t,
void
*);
42
int
dispatch_protocol_ignore(
int
, u_int32_t,
void
*);
43
void
ssh_dispatch_init(
struct
ssh *, dispatch_fn *);
44
void
ssh_dispatch_set(
struct
ssh *,
int
, dispatch_fn *);
45
void
ssh_dispatch_range(
struct
ssh *, u_int, u_int, dispatch_fn *);
46
int
ssh_dispatch_run(
struct
ssh *,
int
,
volatile
sig_atomic_t *,
void
*);
47
void
ssh_dispatch_run_fatal(
struct
ssh *,
int
,
volatile
sig_atomic_t *,
void
*);
48
49
#define dispatch_init(dflt) \
50
ssh_dispatch_init(active_state, (dflt))
51
#define dispatch_range(from, to, fn) \
52
ssh_dispatch_range(active_state, (from), (to), (fn))
53
#define dispatch_set(type, fn) \
54
ssh_dispatch_set(active_state, (type), (fn))
55
#define dispatch_run(mode, done, ctxt) \
56
ssh_dispatch_run_fatal(active_state, (mode), (done), (ctxt))
57
58
#endif
Generated by
1.8.14