Blame library/addisco.h

Packit 8586cb
/*
Packit 8586cb
 * adcli
Packit 8586cb
 *
Packit 8586cb
 * Copyright (C) 2012 Red Hat Inc.
Packit 8586cb
 *
Packit 8586cb
 * This program is free software; you can redistribute it and/or modify
Packit 8586cb
 * it under the terms of the GNU Lesser General Public License as
Packit 8586cb
 * published by the Free Software Foundation; either version 2.1 of
Packit 8586cb
 * the License, or (at your option) any later version.
Packit 8586cb
 *
Packit 8586cb
 * This program is distributed in the hope that it will be useful, but
Packit 8586cb
 * WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 8586cb
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 8586cb
 * Lesser General Public License for more details.
Packit 8586cb
 *
Packit 8586cb
 * You should have received a copy of the GNU Lesser General Public
Packit 8586cb
 * License along with this program; if not, write to the Free Software
Packit 8586cb
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
Packit 8586cb
 * MA 02110-1301 USA
Packit 8586cb
 *
Packit 8586cb
 * Author: Stef Walter <stefw@gnome.org>
Packit 8586cb
 */
Packit 8586cb
Packit 8586cb
#ifndef ADDISCO_H_
Packit 8586cb
#define ADDISCO_H_
Packit 8586cb
Packit 8586cb
enum {
Packit 8586cb
	ADCLI_DISCO_PDC                     = 0x00000001,
Packit 8586cb
	ADCLI_DISCO_GC                      = 0x00000004,
Packit 8586cb
	ADCLI_DISCO_LDAP                    = 0x00000008,
Packit 8586cb
	ADCLI_DISCO_DS                      = 0x00000010,
Packit 8586cb
	ADCLI_DISCO_KDC                     = 0x00000020,
Packit 8586cb
	ADCLI_DISCO_TIMESERV                = 0x00000040,
Packit 8586cb
	ADCLI_DISCO_CLOSEST                 = 0x00000080,
Packit 8586cb
	ADCLI_DISCO_WRITABLE                = 0x00000100,
Packit 8586cb
	ADCLI_DISCO_GOOD_TIMESERV           = 0x00000200,
Packit 8586cb
	ADCLI_DISCO_NDNC                    = 0x00000400,
Packit 8586cb
	ADCLI_DISCO_SELECT_SECRET_DOMAIN_6  = 0x00000800,
Packit 8586cb
	ADCLI_DISCO_FULL_SECRET_DOMAIN_6    = 0x00001000,
Packit 8586cb
	ADCLI_DISCO_ADS_WEB_SERVICE         = 0x00002000,
Packit 8586cb
	ADCLI_DISCO_HAS_DNS_NAME            = 0x20000000,
Packit 8586cb
	ADCLI_DISCO_IS_DEFAULT_NC           = 0x40000000,
Packit 8586cb
	ADCLI_DISCO_FOREST_ROOT             = 0x80000000
Packit 8586cb
};
Packit 8586cb
Packit 8586cb
typedef struct _adcli_disco {
Packit 8586cb
	unsigned int flags;
Packit 8586cb
	char *forest;
Packit 8586cb
	char *domain;
Packit 8586cb
	char *domain_short;
Packit 8586cb
	char *host_name;
Packit 8586cb
	char *host_addr;
Packit 8586cb
	char *host_short;
Packit 8586cb
	char *client_site;
Packit 8586cb
	char *server_site;
Packit 8586cb
	struct _adcli_disco *next;
Packit 8586cb
} adcli_disco;
Packit 8586cb
Packit 8586cb
int           adcli_disco_domain            (const char *domain,
Packit 8586cb
                                             adcli_disco **disco);
Packit 8586cb
Packit 8586cb
int           adcli_disco_host              (const char *host,
Packit 8586cb
                                             adcli_disco **disco);
Packit 8586cb
Packit 8586cb
void          adcli_disco_free              (adcli_disco *disco);
Packit 8586cb
Packit 8586cb
enum {
Packit 8586cb
	ADCLI_DISCO_UNUSABLE = 0,
Packit 8586cb
	ADCLI_DISCO_MAYBE = 1,
Packit 8586cb
	ADCLI_DISCO_USABLE = 2
Packit 8586cb
};
Packit 8586cb
Packit 8586cb
int           adcli_disco_usable            (adcli_disco *disco);
Packit 8586cb
Packit 8586cb
#endif /* ADDISCO_H_ */