/*
* Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* "Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
* Reserved. This file contains Original Code and/or Modifications of
* Original Code as defined in and that are subject to the Apple Public
* Source License Version 1.0 (the 'License'). You may not use this file
* except in compliance with the License. Please obtain a copy of the
* License at http://www.apple.com/publicsource and read it before using
* this file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
* License for the specific language governing rights and limitations
* under the License."
*
* @APPLE_LICENSE_HEADER_END@
*/
/*
* MachRPC.h
*
* Copyright (c) 1995, NeXT Computer Inc.
* All rights reserved.
* Written by Marc Majka
*/
#import "Root.h"
#define PROC_GETPWENT 0
#define PROC_GETPWENT_A 1
#define PROC_GETPWUID 2
#define PROC_GETPWUID_A 3
#define PROC_GETPWNAM 4
#define PROC_GETPWNAM_A 5
#define PROC_SETPWENT 6
#define PROC_GETGRENT 7
#define PROC_GETGRGID 8
#define PROC_GETGRNAM 9
#define PROC_INITGROUPS 10
#define PROC_GETHOSTENT 11
#define PROC_GETHOSTBYNAME 12
#define PROC_GETHOSTBYADDR 13
#define PROC_GETIPV6NODEBYNAME 14
#define PROC_GETIPV6NODEBYADDR 15
#define PROC_GETNETENT 16
#define PROC_GETNETBYNAME 17
#define PROC_GETNETBYADDR 18
#define PROC_GETSERVENT 19
#define PROC_GETSERVBYNAME 20
#define PROC_GETSERVBYPORT 21
#define PROC_GETPROTOENT 22
#define PROC_GETPROTOBYNAME 23
#define PROC_GETPROTOBYNUMBER 24
#define PROC_GETRPCENT 25
#define PROC_GETRPCBYNAME 26
#define PROC_GETRPCBYNUMBER 27
#define PROC_GETFSENT 28
#define PROC_GETFSBYNAME 29
#define PROC_PRDB_GET 30
#define PROC_PRDB_GETBYNAME 31
#define PROC_BOOTPARAMS_GETENT 32
#define PROC_BOOTPARAMS_GETBYNAME 33
#define PROC_BOOTP_GETBYIP 34
#define PROC_BOOTP_GETBYETHER 35
#define PROC_ALIAS_GETBYNAME 36
#define PROC_ALIAS_GETENT 37
#define PROC_ALIAS_SETENT 38
#define PROC_INNETGR 39
#define PROC_GETNETGRENT 40
#define PROC_FIND 41
#define PROC_LIST 42
#define PROC_QUERY 43
#define PROC_CHECKSECURITYOPT 44
#define PROC_CHECKNETWAREENBL 45
#define PROC_SETLOGINUSER 46
#define PROC__GETSTATISTICS 47
#define PROC__INVALIDATECACHE 48
#define PROC__SUSPEND 49
#define PROC_DNS_PROXY 50
#define PROC_GETADDRINFO 51
#define PROC_GETNAMEINFO 52
#define NPROCS 53
#import "LUDictionary.h"
#import "LUArray.h"
#import "Controller.h"
#import "LUGlobal.h"
#import "lu_xdr.h"
#define nonStandardProc 0
#define standardDictionaryProc 1
#define standardListProc 2
typedef struct
{
int type;
SEL encoder;
int decoder;
char *key;
LUCategory cat;
} proc_helper_t;
@interface MachRPC : Root
{
proc_helper_t proc_helper[NPROCS];
}
- (MachRPC *)init:(id)sender;
- (void)process;
- (BOOL)process:(int)procno
inData:(char *)indata
inLength:(unsigned int)inlen
outData:(char **)outdata
outLength:(unsigned int *)outlen;
- (BOOL)xdrInt:(int)i buffer:(char **)data length:(int *)len;
- (BOOL)xdrList:(LUArray *)list
method:(SEL)method
buffer:(char **)data
length:(int *)len
server:(LUServer *)server;
- (BOOL)xdrItem:(LUDictionary *)item
method:(SEL)method
buffer:(char **)data
length:(int *)len;
- (BOOL)xdrInitgroups:(LUDictionary *)item buffer:(char **)data length:(int *)len;
- (BOOL)xdrNetgroup:(LUDictionary *)item buffer:(char **)data length:(int *)len server:(LUServer *)server;
- (void)encodeAttribute:(char *)key
from:(LUDictionary *)item
intoXdr:(lu_xdr_t *)xdrs
count:(unsigned long)n;
- (char *)decodeString:(char *)buf length:(int)len;
- (char *)decodeInt:(char *)buf length:(int)len;
- (char *)decodeIPV6Addr:(char *)buf length:(int)len;
- (char *)decodeIPAddr:(char *)buf length:(int)len;
- (char *)decodeIPNet:(char *)buf length:(int)len;
- (char *)decodeENAddr:(char *)buf length:(int)len;
- (int)intFromBuffer:(char *)buf length:(int)len;
- (char **)twoStringsFromBuffer:(char *)buf length:(int)len;
- (char **)threeStringsFromBuffer:(char *)buf length:(int)len;
- (char **)intAndStringFromBuffer:(char *)buf length:(int)len;
- (char **)inNetgroupArgsFromBuffer:(char *)buf length:(int)len;
- (LUDictionary *)dictionaryFromBuffer:(char *)buf length:(int)len;
@end
syntax highlighted by Code2HTML, v. 0.9.1