Blame lib/Mrm/Mrmlwrite.c

Packit b099d7
/* 
Packit b099d7
 * Motif
Packit b099d7
 *
Packit b099d7
 * Copyright (c) 1987-2012, The Open Group. All rights reserved.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are free software; you can
Packit b099d7
 * redistribute them and/or modify them under the terms of the GNU
Packit b099d7
 * Lesser General Public License as published by the Free Software
Packit b099d7
 * Foundation; either version 2 of the License, or (at your option)
Packit b099d7
 * any later version.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are distributed in the hope that
Packit b099d7
 * they will be useful, but WITHOUT ANY WARRANTY; without even the
Packit b099d7
 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
Packit b099d7
 * PURPOSE. See the GNU Lesser General Public License for more
Packit b099d7
 * details.
Packit b099d7
 *
Packit b099d7
 * You should have received a copy of the GNU Lesser General Public
Packit b099d7
 * License along with these librararies and programs; if not, write
Packit b099d7
 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
Packit b099d7
 * Floor, Boston, MA 02110-1301 USA
Packit b099d7
 */ 
Packit b099d7
/* 
Packit b099d7
 * HISTORY
Packit b099d7
 */ 
Packit b099d7
#ifdef HAVE_CONFIG_H
Packit b099d7
#include <config.h>
Packit b099d7
#endif
Packit b099d7
Packit b099d7
Packit b099d7
#ifdef REV_INFO
Packit b099d7
#ifndef lint
Packit b099d7
static char rcsid[] = "$XConsortium: Mrmlwrite.c /main/11 1996/11/13 14:02:48 drk $"
Packit b099d7
#endif
Packit b099d7
#endif
Packit b099d7
Packit b099d7
/* (c) Copyright 1989, 1990, DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
Packit b099d7
Packit b099d7
/*
Packit b099d7
 *++
Packit b099d7
 *  FACILITY:
Packit b099d7
 *
Packit b099d7
 *      UIL Resource Manager (URM):
Packit b099d7
 *
Packit b099d7
 *  ABSTRACT:
Packit b099d7
 *
Packit b099d7
 *	This module contains all the routines which write a Literal
Packit b099d7
 *	from a resource context into an IDB file.
Packit b099d7
 *
Packit b099d7
 *--
Packit b099d7
 */
Packit b099d7
Packit b099d7
Packit b099d7
/*
Packit b099d7
 *
Packit b099d7
 *  INCLUDE FILES
Packit b099d7
 *
Packit b099d7
 */
Packit b099d7
Packit b099d7
#include <Mrm/MrmAppl.h>
Packit b099d7
#include <Mrm/Mrm.h>
Packit b099d7
#include "MrmMsgI.h"
Packit b099d7
Packit b099d7
Packit b099d7
/*
Packit b099d7
 *
Packit b099d7
 *  TABLE OF CONTENTS
Packit b099d7
 *
Packit b099d7
 *	UrmPutIndexedLiteral		Write indexed literal to IDB file
Packit b099d7
 *
Packit b099d7
 *	UrmPutRIDLiteral		Write RID literal to IDB file
Packit b099d7
 *
Packit b099d7
 */
Packit b099d7
Packit b099d7
Packit b099d7

Packit b099d7
/*
Packit b099d7
 *++
Packit b099d7
 *
Packit b099d7
 *  PROCEDURE DESCRIPTION:
Packit b099d7
 *
Packit b099d7
 *	UrmPutIndexedLiteral puts a URMgLiteral resource record in the
Packit b099d7
 *	database. Its content is the literal. The resource type, access,
Packit b099d7
 *	and locking attributes are assumed to be already set.
Packit b099d7
 *
Packit b099d7
 *  FORMAL PARAMETERS:
Packit b099d7
 *
Packit b099d7
 *	file_id		file into which to write record
Packit b099d7
 *	index		case-sensitive index for the literal
Packit b099d7
 *	context_id	resource context containing literal
Packit b099d7
 *
Packit b099d7
 *  IMPLICIT INPUTS:
Packit b099d7
 *
Packit b099d7
 *  IMPLICIT OUTPUTS:
Packit b099d7
 *
Packit b099d7
 *  FUNCTION VALUE:
Packit b099d7
 *
Packit b099d7
 *	MrmSUCCESS	operation succeeded
Packit b099d7
 *	MrmBAD_CONTEXT	invalid resource context
Packit b099d7
 *	Others:		See UrmIdbPutIndexedResource
Packit b099d7
 *
Packit b099d7
 *  SIDE EFFECTS:
Packit b099d7
 *
Packit b099d7
 *--
Packit b099d7
 */
Packit b099d7
Packit b099d7
Cardinal 
Packit b099d7
UrmPutIndexedLiteral (IDBFile			file_id ,
Packit b099d7
		      String			index ,
Packit b099d7
		      URMResourceContextPtr	context_id )
Packit b099d7
{
Packit b099d7
Packit b099d7
  /*
Packit b099d7
   *  Local variables
Packit b099d7
   */
Packit b099d7
  Cardinal	result;	/* return status */
Packit b099d7
Packit b099d7
  /*
Packit b099d7
   * Validate record, then set resource group and enter in the
Packit b099d7
   * IDB file.
Packit b099d7
   */
Packit b099d7
  if ( ! UrmRCValid(context_id) )
Packit b099d7
    return Urm__UT_Error ("UrmPutIndexedLiteral", _MrmMMsg_0043,
Packit b099d7
			  file_id, context_id, MrmBAD_CONTEXT) ;
Packit b099d7
Packit b099d7
  UrmRCSetGroup (context_id, URMgLiteral) ;
Packit b099d7
  /*
Packit b099d7
   * The size, type, access, and lock fields should have already be
Packit b099d7
   * set.
Packit b099d7
   *
Packit b099d7
   *UrmRCSetSize (context_id, ) ;
Packit b099d7
   *UrmRCSetType (context_id, ) ;
Packit b099d7
   *UrmRCSetAccess (context_id, ) ;
Packit b099d7
   *UrmRCSetLock (context_id, ) ;
Packit b099d7
   */
Packit b099d7
  result = UrmIdbPutIndexedResource (file_id, index, context_id) ;
Packit b099d7
  return result ;
Packit b099d7
Packit b099d7
}
Packit b099d7
Packit b099d7
Packit b099d7

Packit b099d7
/*
Packit b099d7
 *++
Packit b099d7
 *
Packit b099d7
 *  PROCEDURE DESCRIPTION:
Packit b099d7
 *
Packit b099d7
 *	UrmPutRIDLiteral puts a literal accessed by a resource id into the
Packit b099d7
 *	database. Its content is the literal. The resource type, access,
Packit b099d7
 *	and locking attributes are assumed to be already set.
Packit b099d7
 *
Packit b099d7
 *
Packit b099d7
 *  FORMAL PARAMETERS:
Packit b099d7
 *
Packit b099d7
 *	file_id		file into which to write record
Packit b099d7
 *	resource_id	resource id for the record
Packit b099d7
 *	context_id	resource context containing literal 
Packit b099d7
 *
Packit b099d7
 *  IMPLICIT INPUTS:
Packit b099d7
 *
Packit b099d7
 *  IMPLICIT OUTPUTS:
Packit b099d7
 *
Packit b099d7
 *  FUNCTION VALUE:
Packit b099d7
 *
Packit b099d7
 *	MrmSUCCESS	operation succeeded
Packit b099d7
 *	MrmBAD_CONTEXT	invalid resource context
Packit b099d7
 *	Others:		See UrmIdbPutRIDResource
Packit b099d7
 *
Packit b099d7
 *  SIDE EFFECTS:
Packit b099d7
 *
Packit b099d7
 *--
Packit b099d7
 */
Packit b099d7
Packit b099d7
Cardinal 
Packit b099d7
UrmPutRIDLiteral (IDBFile		file_id ,
Packit b099d7
		  MrmResource_id	resource_id ,
Packit b099d7
		  URMResourceContextPtr	context_id )
Packit b099d7
{
Packit b099d7
Packit b099d7
  /*
Packit b099d7
   *  Local variables
Packit b099d7
   */
Packit b099d7
  Cardinal		result ;	/* function results */
Packit b099d7
Packit b099d7
Packit b099d7
  /*
Packit b099d7
   * Validate record, then set resource group and enter in the
Packit b099d7
   * IDB file.
Packit b099d7
   */
Packit b099d7
  if ( ! UrmRCValid(context_id) )
Packit b099d7
    return Urm__UT_Error ("UrmPutRIDLiteral", _MrmMMsg_0043,
Packit b099d7
			  file_id, context_id, MrmBAD_CONTEXT) ;
Packit b099d7
Packit b099d7
  UrmRCSetGroup (context_id, URMgLiteral) ;
Packit b099d7
  UrmRCSetAccess (context_id, URMaPrivate) ;
Packit b099d7
Packit b099d7
  /*
Packit b099d7
   * The size, type, and lock fields are assumed to be set.
Packit b099d7
   *
Packit b099d7
   *UrmRCSetSize (context_id, ) ;
Packit b099d7
   *UrmRCSetType (context_id, ) ;
Packit b099d7
   *UrmRCSetLock (context_id, ) ;
Packit b099d7
   */
Packit b099d7
Packit b099d7
  result = UrmIdbPutRIDResource (file_id, resource_id, context_id) ;
Packit b099d7
  return result ;
Packit b099d7
Packit b099d7
}
Packit b099d7