/* * This is sample code generated by rpcgen. * These are only templates and you can use them * as a guideline for developing your own functions. */ #include #include #include #include #include "nfs.h" #include "connlist.h" #include "mount.h" CONNLIST *ConnectList; #define MAXROOTS 10 FH rootentries = 0; FtpFhStruct rootlist[MAXROOTS]; void * mountproc_null_1(argp, rqstp) void *argp; struct svc_req *rqstp; { static char * result; printf("null_1\n"); return((void *) &result); } fhstatus * mountproc_mnt_1(argp, rqstp) dirpath *argp; struct svc_req *rqstp; { static fhstatus result; static int wait = 0; int i = -1; printf("mnt_1\n"); printf("\tdirpath: %s\n", *argp); result.fhs_status = 0; if ( !ConnectList ) ConnectList = ConnList_Create(); for (i=0; i < rootentries; i++) if (!strcmp(rootlist[i].mountline, *argp)) { memcpy(result.fhstatus_u.fhs_fhandle, &(rootlist[i].fh), sizeof (int)); return (&result); } i = ConnList_Add(ConnectList, *argp); if (i < 0) { result.fhs_status = 1; return (&result); } strcpy(rootlist[rootentries].fullpath, ""); rootlist[rootentries].fh = -(rootentries+1); rootlist[rootentries].connlist = ConnectList; rootlist[rootentries].connindex = i; rootlist[rootentries].root = NULL; rootlist[rootentries].valid = 1; strcpy(rootlist[rootentries].mountline, *argp); if (ConnList_Connect(ConnectList, i) == INVALID_SOCKET) { result.fhs_status = 1; rootlist[rootentries].valid = 0; } else { memcpy(result.fhstatus_u.fhs_fhandle, &(rootlist[rootentries].fh), sizeof (int)); rootentries++; } return (&result); } mountlist * mountproc_dump_1(argp, rqstp) void *argp; struct svc_req *rqstp; { static mountlist result; result = (mountlist) malloc(sizeof(struct mountbody)); printf("dump_1\n"); result->ml_hostname = strdup("-- Joe Corkery"); result->ml_directory = strdup("/dir1/"); result->ml_next = (mountlist) malloc(sizeof(struct mountbody)); result->ml_next->ml_hostname = strdup(" Smile, it's good for you:)"); result->ml_next->ml_directory = strdup("/dir2/"); result->ml_next->ml_next = NULL; return (&result); } void * mountproc_umnt_1(argp, rqstp) dirpath *argp; struct svc_req *rqstp; { static char * result; printf("umnt_1\n"); /* * insert server code here return((void *) &result); */ return(NULL); } void * mountproc_umntall_1(argp, rqstp) void *argp; struct svc_req *rqstp; { static char * result; printf("umntall_1\n"); /* * insert server code here return((void *) &result); */ return(NULL); } exports * mountproc_export_1(argp, rqstp) void *argp; struct svc_req *rqstp; { static exports result; printf("export_1\n"); /* * insert server code here return (&result); */ return(NULL); } exports * mountproc_exportall_1(argp, rqstp) void *argp; struct svc_req *rqstp; { static exports result; printf("exportall_1\n"); /* * insert server code here return (&result); */ return(NULL); } void * mountproc_null_2(argp, rqstp) void *argp; struct svc_req *rqstp; { static char * result; printf("null_2\n"); /* * insert server code here return((void *) &result); */ return(NULL); } fhstatus * mountproc_mnt_2(argp, rqstp) dirpath *argp; struct svc_req *rqstp; { static fhstatus result; printf("mnt_2\n"); /* * insert server code here return (&result); */ return(NULL); } mountlist * mountproc_dump_2(argp, rqstp) void *argp; struct svc_req *rqstp; { static mountlist result; printf("dump_2\n"); /* * insert server code here return (&result); */ return(NULL); } void * mountproc_umnt_2(argp, rqstp) dirpath *argp; struct svc_req *rqstp; { static char * result; printf("umnt_2\n"); /* * insert server code here return((void *) &result); */ return(NULL); } void * mountproc_umntall_2(argp, rqstp) void *argp; struct svc_req *rqstp; { static char * result; printf("umntall_2\n"); /* * insert server code here return((void *) &result); */ return(NULL); } exports * mountproc_export_2(argp, rqstp) void *argp; struct svc_req *rqstp; { static exports result; printf("export_2\n"); /* * insert server code here return (&result); */ return(NULL); } exports * mountproc_exportall_2(argp, rqstp) void *argp; struct svc_req *rqstp; { static exports result; printf("exportall_2\n"); /* * insert server code here return (&result); */ return(NULL); } ppathcnf * mountproc_pathconf_2(argp, rqstp) dirpath *argp; struct svc_req *rqstp; { static ppathcnf result; printf("pathconf_2\n"); /* * insert server code here return (&result); */ return(NULL); }