home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
mitsch75.zip
/
scheme-7_5_17-src.zip
/
scheme-7.5.17
/
src
/
microcode
/
uxyp.c
< prev
next >
Wrap
C/C++ Source or Header
|
1999-01-02
|
2KB
|
82 lines
/* -*-C-*-
$Id: uxyp.c,v 1.3 1999/01/02 06:11:34 cph Exp $
Copyright (c) 1987-1999 Massachusetts Institute of Technology
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
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 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., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* Interfacte to the Yellow Pages server */
#include "scheme.h"
#include "prims.h"
#include <stdio.h>
#include <malloc.h>
#include <ntl.h>
#include <rpc/rpc.h>
#include "uxyp.h"
#define YP_HOST "polar.lcs.mit.edu"
/*
* Please do not edit this procedure.
* It was generated using rpcgen.
*/
/* Default timeout can be changed using clnt_control() */
static struct timeval TIMEOUT = { 25, 0 };
char **
do_yp_frame_1(argp, clnt)
char **argp;
CLIENT *clnt;
{
static char *res;
bzero((char *)&res, sizeof(res));
if (clnt_call(clnt, do_yp_frame, xdr_wrapstring, argp, xdr_wrapstring, &res, TIMEOUT) != RPC_SUCCESS) {
return (NULL);
}
return (&res);
}
static int yp_debug = 0;
CLIENT *cl = NULL;
DEFINE_PRIMITIVE ("YELLOW-PAGES-LOOKUP", Prim_yellow_pages_lookup, 1, 1, 0)
{
PRIMITIVE_HEADER (1);
CHECK_ARG (1, STRING_P);
{
fast SCHEME_OBJECT string = (ARG_REF (1));
unsigned char *c_string = STRING_LOC(string,0);
unsigned char **result;
/*
* Do remote call
*/
if(cl == NULL){
cl = clnt_create(YP_HOST,yp_server,yp_server_version,"tcp");
if(cl == NULL){
clnt_pcreateerror(YP_HOST);
return(NULL);
}
}
result = (unsigned char **) do_yp_frame_1(&c_string,cl);
PRIMITIVE_RETURN (char_pointer_to_string(*result));
}
}