.\"Copyright 2008-2010 IBM Corp.
.TH SCI_BE_remove 3 "Dec 4, 2009" "1.0.0" "SCI"

.SH NAME
\fBSCI_BE_remove\fP \- Remove an existed back end at runtime

.SH SYNTAX
.ft R

.SH C Syntax
.nf
#include <sci.h>
int SCI_BE_remove(int \fIbe_id\fP)

.SH INPUT PARAMETERS
.ft R
.TP 1i
be_id
The id of the back end to be removed (IN).

.SH DESCRIPTION
.ft R
This subroutine is used to remove an existed back end at runtime, once removed,
this back end id will be removed from all existed groups.
.sp
Together with \fBSCI_BE_add\fP, these two functions can be used to add/remove
back ends dynamically at runtime.
.sp
For more information, please refer to SCI's online documents.

.SH EXAMPLE
.ft R
.nf
        {
                int be_id = 0;
                ...
                SCI_BE_remove(be_id);
        }
.fi

.SH ERRORS
.ft R
All SCI routines return an error value.
.sp
.TP 1i
SCI_ERR_UNINTIALIZED
Uninitialized SCI execution environment
.TP 1i
SCI_ERR_INVALID_CALLER
Can only be called in the front end
.TP 1i
SCI_ERR_BACKEND_NOTFOUND
The back end specified by \fIid\fP does not exist
.TP 1i
SCI_ERR_NO_MEM
Out of memory

.SH SEE ALSO
.ft R
.nf
\fBSCI_BE_add\fP(3)
