Grid Community Toolkit
6.2.1629922860 (tag: v6.2.20210826)
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
gsi_openssh
source
bitmap.h
1
/* $OpenBSD: bitmap.h,v 1.2 2017/10/20 01:56:39 djm Exp $ */
2
/*
3
* Copyright (c) 2015 Damien Miller <
[email protected]
>
4
*
5
* Permission to use, copy, modify, and distribute this software for any
6
* purpose with or without fee is hereby granted, provided that the above
7
* copyright notice and this permission notice appear in all copies.
8
*
9
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16
*/
17
18
#ifndef _BITMAP_H
19
#define _BITMAP_H
20
21
#include <sys/types.h>
22
23
/* Simple bit vector routines */
24
25
struct
bitmap;
26
27
/* Allocate a new bitmap. Returns NULL on allocation failure. */
28
struct
bitmap *bitmap_new(
void
);
29
30
/* Free a bitmap */
31
void
bitmap_free(
struct
bitmap *b);
32
33
/* Zero an existing bitmap */
34
void
bitmap_zero(
struct
bitmap *b);
35
36
/* Test whether a bit is set in a bitmap. */
37
int
bitmap_test_bit(
struct
bitmap *b, u_int n);
38
39
/* Set a bit in a bitmap. Returns 0 on success or -1 on error */
40
int
bitmap_set_bit(
struct
bitmap *b, u_int n);
41
42
/* Clear a bit in a bitmap */
43
void
bitmap_clear_bit(
struct
bitmap *b, u_int n);
44
45
/* Return the number of bits in a bitmap (i.e. the position of the MSB) */
46
size_t
bitmap_nbits(
struct
bitmap *b);
47
48
/* Return the number of bytes needed to represent a bitmap */
49
size_t
bitmap_nbytes(
struct
bitmap *b);
50
51
/* Convert a bitmap to a big endian byte string */
52
int
bitmap_to_string(
struct
bitmap *b,
void
*p,
size_t
l);
53
54
/* Convert a big endian byte string to a bitmap */
55
int
bitmap_from_string(
struct
bitmap *b,
const
void
*p,
size_t
l);
56
57
#endif
/* _BITMAP_H */
Generated by
1.8.5