contrib/chg/hgclient.h
author Augie Fackler <augie@google.com>
Tue, 23 Aug 2016 11:26:08 -0400
changeset 29852 d5883fd055c6
parent 29581 c66bc06f1bf6
child 30741 fde9692a02c0
permissions -rw-r--r--
extensions: change magic "shipped with hg" string I've caught multiple extensions in the wild lying about being 'internal', so it's time to move the goalposts on people. Goalpost moving will continue until third party extensions stop trying to defeat the system.

/*
 * A command server client that uses Unix domain socket
 *
 * Copyright (c) 2011 Yuya Nishihara <yuya@tcha.org>
 *
 * This software may be used and distributed according to the terms of the
 * GNU General Public License version 2 or any later version.
 */

#ifndef HGCLIENT_H_
#define HGCLIENT_H_

#include <sys/types.h>

struct hgclient_tag_;
typedef struct hgclient_tag_ hgclient_t;

hgclient_t *hgc_open(const char *sockname);
void hgc_close(hgclient_t *hgc);

pid_t hgc_peerpgid(const hgclient_t *hgc);
pid_t hgc_peerpid(const hgclient_t *hgc);

const char **hgc_validate(hgclient_t *hgc, const char *const args[],
			  size_t argsize);
int hgc_runcommand(hgclient_t *hgc, const char *const args[], size_t argsize);
void hgc_attachio(hgclient_t *hgc);
const char *hgc_getpager(hgclient_t *hgc, const char *const args[],
			 size_t argsize);
void hgc_setenv(hgclient_t *hgc, const char *const envp[]);

#endif  /* HGCLIENT_H_ */