Lines Matching refs:server

250 	PKGserver server;
285 server = malloc(sizeof (*server));
287 if (server == NULL)
290 server->fp = NULL;
291 server->onetime = readonly;
294 server->door = open(pkgdoor, O_RDWR);
296 if (server->door >= 0) {
297 if (door_info(server->door, &di) == 0 && di.di_target >= 0) {
300 server->buflen = 1024;
301 server->curbuf = malloc(1024);
302 if (server->curbuf == NULL ||
303 pkgcmd(server, &n, sizeof (n), NULL, NULL, NULL)) {
304 pkgcloseserver(server);
307 return (current_server = server);
310 (void) close(server->door);
361 server->onetime |= (mode == RUN_ONCE);
384 free(server);
464 pkgcloseserver(PKGserver server)
467 if (server->fp != NULL)
468 (void) fclose(server->fp);
469 free(server->curbuf);
470 if (server->onetime) {
473 (void) pkgcmd(server, &cmd, sizeof (cmd), NULL, NULL, NULL);
475 (void) close(server->door);
476 if (server == current_server)
478 free(server);
532 * If the server is running, make sure that the contents
534 * If the server is not running, check for the log file;
535 * if there's a non-empty log file, we need to start the server
566 /* It's mounted, so the server is likely there */
577 void *server;
584 server = pkgopenserver_i(root, sadmdir, B_FALSE, FLUSH_LOG);
586 * We're assuming that it started the server and exited immediately.
589 if (server == NULL)
594 (void) pkgcmd(server, &cmd, sizeof (cmd), NULL, NULL, NULL);
595 (void) pkgcloseserver(server);
600 pkgservercommitfile(VFP_T *a_vfp, PKGserver server)
631 if (pkgcmd(server, pcmd, sizeof (*pcmd) + len - 1,
640 if (pkgcmd(server, pcmd, sizeof (*pcmd), NULL, NULL, NULL) != 0)
651 pkgopenfilter(PKGserver server, const char *filt)
660 if (server->fp != NULL) {
661 (void) fclose(server->fp);
662 server->fp = NULL;
672 if (pkgcmd(server, pfcmd, len, NULL, NULL, &fd) != 0 || fd == -1) {
678 server->fp = fdopen(fd, "r");
679 if (server->fp == NULL) {
688 pkgclosefilter(PKGserver server)
690 if (server->fp != NULL) {
691 (void) fclose(server->fp);
692 server->fp = NULL;
700 pkggetentry(PKGserver server, int *len, int *pathlen)
704 if (server->fp == NULL)
707 if (feof(server->fp) || ferror(server->fp))
710 if (fread(num, sizeof (int), 2, server->fp) != 2)
713 if (num[0] > server->buflen) {
714 free(server->curbuf);
715 server->buflen = num[0];
716 server->curbuf = malloc(server->buflen);
717 if (server->curbuf == NULL)
720 if (fread(server->curbuf, 1, num[0], server->fp) != num[0])
726 return (server->curbuf);
730 pkggetentry_named(PKGserver server, const char *path, int *len, int *pathlen)
741 result = server->curbuf;
742 rlen = server->buflen;
744 if (pkgcmd(server, pcmd, sizeof (*pcmd) + pcmd->len,
752 if (result != server->curbuf) {
753 free(server->curbuf);
754 server->buflen = rlen;
755 server->curbuf = malloc(server->buflen);
756 if (server->curbuf == NULL)
758 (void) memcpy(server->curbuf, result, rlen);
763 return (server->curbuf);