Commit 0ed8b118 authored by Steven Murray's avatar Steven Murray
Browse files

Removed unused rmc_mnt function

parent 3cde2112
* This file is part of the Castor project.
* See
* Copyright (C) 2003 CERN
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* @author Castor Dev team,
/* rmc_mnt - mount a cartridge into a drive that maybe in either */
/* a SCSI compatible or an ACS compatible tape library */
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <netinet/in.h>
#include "marshall.h"
#include "rmc_api.h"
#include "rmc_constants.h"
#include "serrno.h"
#include <errno.h>
#include <string.h>
int rmc_mnt(
const char *const server,
const char *const vid,
const char *const loader)
const gid_t gid = getgid();
const uid_t uid = getuid();
/* The total length of the fixed size members of the request message */
/* is Magic (4 bytes) + request ID (4 bytes) + length (4 bytes) + */
/* uid (4 bytes) + gid (4 bytes) = 20 bytes */
const int msglen = 20 + strlen(vid) + 1 + strlen(loader) + 1;
char repbuf[1];
char *sbp = NULL;
char sendbuf[RMC_REQBUFSZ];
/* Consider the function arguments invalid if the total size of the */
/* request message would be greater than RMC_REQBUFSZ */
if(msglen > RMC_REQBUFSZ) {
errno = ERMCUNREC;
serrno = errno;
return -1;
/* Build request header */
sbp = sendbuf;
marshall_LONG (sbp, RMC_MAGIC);
marshall_LONG (sbp, RMC_MOUNT);
marshall_LONG (sbp, msglen);
/* Build request body */
marshall_LONG (sbp, uid);
marshall_LONG (sbp, gid);
marshall_STRING (sbp, vid);
marshall_STRING (sbp, loader);
/* Being paranoid; checking the calculated message length against */
/* the number of bytes marshalled */
if(sbp - sendbuf != msglen) {
serrno = errno;
return -1;
return send2rmc (server, sendbuf, msglen, repbuf, sizeof(repbuf));
.\" Copyright (C) 2002 by CERN/IT/PDP/DM
.\" All rights reserved
.TH RMC_MNT 3 "$Date: 2013/11/18 16:21:00 $" CASTOR "rmc Library Functions"
rmc_mnt \- send a request to the Remote Media Changer daemon to have a volume mounted
.B #include <sys/types.h>
\fB#include "rmc_api.h"\fR
.BI "int rmc_mnt (char *" server ,
.BI "char *" vid ,
.BI "char *" loader );
.B rmc_mnt
asks the Remote Media Changer server running on
.I server
to mount the volume
.I vid
on the drive specified by
.IR loader .
.I server
specifies the Remote Media Changer to be contacted.
.I vid
is the volume visual identifier.
It must be at most six characters long.
.I loader
specifies the drive in the robot in the following form:
This routine returns 0 if the operation was successful or -1 if the operation
failed. In the latter case,
.B serrno
have been set appropriately.
.TP 1.2i
Communication error.
Invalid loader or vid too long.
Unit attention.
Hardware error or Medium Removal Prevented.
\fBCASTOR\fP Team <>
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment