CARDS 2.4.121
Package manager for the NuTyX GNU/Linux distribution
compile_dependencies_utils.h
1
//
2
// compile_dependencies_utils.h
3
//
4
// Copyright (c) 2013 - 2020 by NuTyX team (http://nutyx.org)
5
//
6
// This program is free software; you can redistribute it and/or modify
7
// it under the terms of the GNU General Public License as published by
8
// the Free Software Foundation; either version 2 of the License, or
9
// (at your option) any later version.
10
//
11
// This program is distributed in the hope that it will be useful,
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
// GNU General Public License for more details.
15
//
16
// You should have received a copy of the GNU General Public License
17
// along with this program; if not, write to the Free Software
18
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
19
// USA.
20
//
21
22
#ifndef COMPILE_DEPENDENCIES_UTILS_H
23
#define COMPILE_DEPENDENCIES_UTILS_H
24
25
#include "file_utils.h"
26
27
#include <iostream>
28
#include <cstdlib>
29
#include <set>
30
#include <string>
31
#include <list>
32
#include <map>
33
34
#include <stdlib.h>
35
#include <stdio.h>
36
#include <errno.h>
37
#include <locale.h>
38
#include <string.h>
39
#include <sys/types.h>
40
#include <sys/stat.h>
41
#include <sys/file.h>
42
#include <dirent.h>
43
44
/* depList is a dependances List */
45
typedef
struct
46
{
47
unsigned
int
*depsIndex;
48
int
*niveau;
/* To show a nice incrementation */
49
unsigned
int
count;
50
unsigned
int
decrement;
/* number of removed dep when searching them */
51
int
decount;
52
}
depList
;
53
54
/* pkgInfo is the name of a package and the dependencies itemList */
55
typedef
struct
56
{
57
unsigned
int
nameIndex;
58
depList
*dependences;
59
int
niveau;
60
}
pkgInfo
;
61
62
typedef
struct
63
{
64
pkgInfo
**pkgs;
65
unsigned
int
count;
66
}
pkgList
;
67
68
69
/*
70
* depList: Create the list, Add dependence to the list, free the list
71
*/
72
depList
*initDepsList(
void
);
73
void
addDepToDepList(
depList
*list,
unsigned
int
nameIndex,
int
niveau);
74
void
freeDepList(
depList
*list);
75
76
/*** pkgInfo: create the pkg, Add info, free the pkgInfo ***/
77
pkgInfo
*initPkgInfo(
void
);
78
pkgInfo
*addInfoToPkgInfo(
unsigned
int
nameIndex);
79
void
freePkgInfo(
pkgInfo
*package);
80
81
/*** pkgList: create the pkgList, add pkgs, free the pkgList ***/
82
pkgList
*initPkgList(
void
);
83
void
addPkgToPkgList(
pkgList
*list,
pkgInfo
*package);
84
void
freePkgList(
pkgList
*packagesList);
85
86
int
deps_direct (
itemList
*filesList,
pkgList
*packagesList,
depList
*dependenciesList,
unsigned
int
niveau);
87
int
deps_direct (
itemList
*filesList,
pkgList
*packagesList,
depList
*dependenciesList,
const
char
* pkgName,
unsigned
int
niveau);
88
89
void
generate_level (
itemList
*filesList,
pkgList
*packagesList,
unsigned
int
*niveau);
90
91
char
*getLongPackageName(
itemList
*filesList,
const
char
* packageName);
92
#endif
/* COMPILE_DEPENDENCIES_UTILS_H */
93
// vim:set ts=2 :
pkgList
Definition:
compile_dependencies_utils.h:63
itemList
Definition:
libcards.h:484
depList
Definition:
compile_dependencies_utils.h:46
pkgInfo
Definition:
compile_dependencies_utils.h:56
src
compile_dependencies_utils.h
Generated on Tue Aug 25 2020 06:11:42 for CARDS 2.4.121 by
1.8.19