.\"/*
.\" * Copyright (c) 2012 Red Hat, Inc.
.\" *
.\" * All rights reserved.
.\" *
.\" * Author: Jan Friesse (jfriesse@redhat.com)
.\" *
.\" * This software licensed under BSD license, the text of which follows:
.\" *
.\" * Redistribution and use in source and binary forms, with or without
.\" * modification, are permitted provided that the following conditions are met:
.\" *
.\" * - Redistributions of source code must retain the above copyright notice,
.\" *   this list of conditions and the following disclaimer.
.\" * - Redistributions in binary form must reproduce the above copyright notice,
.\" *   this list of conditions and the following disclaimer in the documentation
.\" *   and/or other materials provided with the distribution.
.\" * - Neither the name of the Red Hat, Inc. nor the names of its
.\" *   contributors may be used to endorse or promote products derived from this
.\" *   software without specific prior written permission.
.\" *
.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH "CMAP_DEC" 3 "03/02/2012" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual"

.SH NAME
.P
cmap_inc \- Decrease already stored value in CMAP

.SH SYNOPSIS
.P
\fB#include <corosync/cmap.h>\fR

.P
\fBcs_error_t
cmap_dec (cmap_handle_t \fIhandle\fB, const char *\fIkey_name\fB);\fR

.SH DESCRIPTION
.P
The
.B cmap_dec
function is used to decrease integer value of already stored key inside cmap. The
.I handle
argument is connection to CMAP database obtained by calling
.B cmap_initialize(3)
function.
.I key_name
is name of key to increase value of.

Function is defined only on values where increase makes sense and is well defined,
so it can be one of:
.PP
\fBCMAP_VALUETYPE_INT8\fR - 8-bit signed integer
.PP
\fBCMAP_VALUETYPE_UINT8\fR - 8-bit unsigned integer
.PP
\fBCMAP_VALUETYPE_INT16\fR - 16-bit signed integer
.PP
\fBCMAP_VALUETYPE_UINT16\fR - 16-bit unsigned integer
.PP
\fBCMAP_VALUETYPE_INT32\fR - 32-bit signed integer
.PP
\fBCMAP_VALUETYPE_UINT32\fR - 32-bit unsigned integer
.PP
\fBCMAP_VALUETYPE_INT64\fR - 64-bit signed integer
.PP
\fBCMAP_VALUETYPE_UINT64\fR - 64-bit unsigned integer

Overflow/underflow is not detected and it's ignored.

.SH RETURN VALUE
This call returns the CS_OK value if successful. If value or key_name are unspecified, CS_ERR_INVALID_PARAM
is returned. CS_ERR_NOT_EXIST error is returned if key doesn't exist (wasn't created by calling
.B cmap_set(3)
first). Some of keys may be tagged read-only directly in corosync and setting such key will result in
CS_ERR_ACCESS error.

.SH "SEE ALSO"
.BR cmap_get (3),
.BR cmap_set (3),
.BR cmap_initialize (3),
.BR cmap_overview (3)
