2 * Copyright 2000, International Business Machines Corporation and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
10 #include <afsconfig.h>
11 #include <afs/param.h>
14 #include <sys/types.h>
16 #include <netinet/in.h>
21 #define N_SECURITY_OBJECTS 1
23 extern TEST__ExecuteRequest();
27 struct rx_securityClass *(securityObjects[N_SECURITY_OBJECTS]);
28 struct rx_service *service;
30 /* Initialize Rx, telling it port number this server will use for its single service */
31 if (rx_Init(SAMPLE_SERVER_PORT) < 0)
34 /* Create a single security object, in this case the null security object, for unauthenticated connections, which will be used to control security on connections made to this server */
35 securityObjects[SAMPLE_NULL] = rxnull_NewServerSecurityObject();
36 if (securityObjects[SAMPLE_NULL] == (struct rx_securityClass *)0)
37 Quit("rxnull_NewServerSecurityObject");
39 /* Instantiate a single sample service. The rxgen-generated procedure which is called to decode requests is passed in here (TEST_ExecuteRequest). */
41 rx_NewService(0, SAMPLE_SERVICE_ID, "sample", securityObjects,
42 N_SECURITY_OBJECTS, TEST__ExecuteRequest);
43 if (service == (struct rx_service *)0)
44 Quit("rx_NewService");
46 rx_StartServer(1); /* Donate this process to the server process pool */
47 Quit("StartServer returned?");
51 TEST_Add(call, verbose, a, b, result)
58 printf("TEST_Add(%d,%d,%d)\n", verbose, a, b);
64 TEST_Sub(call, verbose, a, b, result)
71 printf("TEST_Sub(%d,%d,%d)\n", verbose, a, b);
79 fprintf(stderr, msg, a, b);