/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright (c) 1997-2000 by Sun Microsystems, Inc.
* All rights reserved.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
#include <sys/isa_defs.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <fcntl.h>
#include "libproc.h"
/*
* fcntl() system call -- executed by subject process.
*/
int
{
int error;
adp++; /* cmd argument */
#ifdef _LP64
/*
* Guilty knowledge of the large file compilation environment
*/
switch (cmd) {
case F_GETLK:
cmd = 33;
break;
case F_SETLK:
cmd = 34;
break;
case F_SETLKW:
cmd = 35;
break;
case F_FREESP:
cmd = 27;
break;
}
}
#endif /* _LP64 */
adp++; /* argp argument */
} else {
switch (cmd) {
case F_GETLK:
case F_SETLK:
case F_SETLKW:
case F_ALLOCSP:
case F_FREESP:
break;
#ifdef _LP64
case 33:
case 34:
case 35:
case 27:
#else /* _LP64 */
case F_GETLK64:
case F_SETLK64:
case F_SETLKW64:
case F_FREESP64:
#endif /* _LP64 */
break;
case F_SHARE:
case F_UNSHARE:
break;
default:
break;
}
}
if (error) {
return (-1);
}
}