mirror of https://github.com/vmware/tdnf.git
122 lines
2.7 KiB
C
122 lines
2.7 KiB
C
/*
|
|
* Copyright (C) 2015-2020 VMware, Inc. All Rights Reserved.
|
|
*
|
|
* Licensed under the GNU Lesser General Public License v2.1 (the "License");
|
|
* you may not use this file except in compliance with the License. The terms
|
|
* of the License are located in the COPYING file of this distribution.
|
|
*/
|
|
|
|
/*
|
|
* Header : structs.h
|
|
*
|
|
* Abstract :
|
|
*
|
|
* tdnfclientlib
|
|
*
|
|
* client library
|
|
*
|
|
* Authors : Priyesh Padmavilasom (ppadmavilasom@vmware.com)
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
typedef struct _TDNF_PLUGIN_
|
|
{
|
|
char *pszName;
|
|
int nEnabled;
|
|
void *pModule;
|
|
PTDNF_PLUGIN_HANDLE pHandle;
|
|
TDNF_PLUGIN_EVENT RegisterdEvts;
|
|
TDNF_PLUGIN_INTERFACE stInterface;
|
|
struct _TDNF_PLUGIN_ *pNext;
|
|
} TDNF_PLUGIN, *PTDNF_PLUGIN;
|
|
|
|
typedef struct _TDNF_REPO_DATA_INTERNAL_
|
|
{
|
|
int nEnabled;
|
|
int nSkipIfUnavailable;
|
|
int nGPGCheck;
|
|
int nSSLVerify;
|
|
long lMetadataExpire;
|
|
char* pszId;
|
|
char* pszName;
|
|
char* pszBaseUrl;
|
|
char* pszMetaLink;
|
|
char* pszSSLCaCert;
|
|
char* pszSSLClientCert;
|
|
char* pszSSLClientKey;
|
|
char** ppszUrlGPGKeys;
|
|
char* pszUser;
|
|
char* pszPass;
|
|
int nPriority;
|
|
int nTimeout;
|
|
int nMinrate;
|
|
int nThrottle;
|
|
int nRetries;
|
|
|
|
struct _TDNF_REPO_DATA_INTERNAL_* pNext;
|
|
}TDNF_REPO_DATA_INTERNAL, *PTDNF_REPO_DATA_INTERNAL;
|
|
|
|
typedef struct _TDNF_
|
|
{
|
|
PSolvSack pSack;
|
|
PTDNF_CMD_ARGS pArgs;
|
|
PTDNF_CONF pConf;
|
|
PTDNF_REPO_DATA_INTERNAL pRepos;
|
|
Repo *pSolvCmdLineRepo;
|
|
Queue queueCmdLinePkgs;
|
|
PTDNF_PLUGIN pPlugins;
|
|
}TDNF;
|
|
|
|
typedef struct _TDNF_CACHED_RPM_ENTRY
|
|
{
|
|
char* pszFilePath;
|
|
struct _TDNF_CACHED_RPM_ENTRY *pNext;
|
|
}TDNF_CACHED_RPM_ENTRY, *PTDNF_CACHED_RPM_ENTRY;
|
|
|
|
typedef struct _TDNF_CACHED_RPM_LIST
|
|
{
|
|
int nSize;
|
|
PTDNF_CACHED_RPM_ENTRY pHead;
|
|
}TDNF_CACHED_RPM_LIST, *PTDNF_CACHED_RPM_LIST;
|
|
|
|
typedef struct _TDNF_RPM_TS_
|
|
{
|
|
int nQuiet;
|
|
rpmts pTS;
|
|
rpmtransFlags nTransFlags;
|
|
rpmprobFilterFlags nProbFilterFlags;
|
|
FD_t pFD;
|
|
PTDNF_CACHED_RPM_LIST pCachedRpmsArray;
|
|
}TDNFRPMTS, *PTDNFRPMTS;
|
|
|
|
typedef struct _TDNF_ENV_
|
|
{
|
|
pthread_mutex_t mutexInitialize;
|
|
int nInitialized;
|
|
}TDNF_ENV, *PTDNF_ENV;
|
|
|
|
typedef struct _TDNF_REPO_METADATA
|
|
{
|
|
char *pszRepoCacheDir;
|
|
char *pszRepo;
|
|
char *pszRepoMD;
|
|
char *pszPrimary;
|
|
char *pszFileLists;
|
|
char *pszUpdateInfo;
|
|
}TDNF_REPO_METADATA,*PTDNF_REPO_METADATA;
|
|
|
|
typedef struct _TDNF_EVENT_DATA_
|
|
{
|
|
union
|
|
{
|
|
int nInt;
|
|
const char *pcszStr;
|
|
const void *pPtr;
|
|
};
|
|
TDNF_EVENT_ITEM_TYPE nType;
|
|
const char *pcszName;
|
|
struct _TDNF_EVENT_DATA_ *pNext;
|
|
}TDNF_EVENT_DATA, *PTDNF_EVENT_DATA;
|
|
|