The use of integer types from inttypes.h & stdint.h should help with
portability issues. It will also force the data transmission between
different architectures to work as intended (if we handle endianess
conversions correctly!).
Abandon the old struct timeval and gettimeofday(). We now use the new
struct timespec and clock_gettime().
struct timespec has a nanosecond resolution, but we lower the resolution
to keep only milliseconds. The code is inspired from the Timestamp class
of the owlps-positioning.
The type TIMESTAMP is a wrapper to the currently-used time structure (we
currently use struct timeval).
The function timeval_to_ms() is now timestamp_to_ms().
The listener does not send its IP address explicitly in the Hello
message anymore. Instead, the aggregator now extract the source address
of the Hello packet.
The packet captured are no longer displayed when in verbose mode.
The new option 'display_captured' (or command-line -c) activates this
behaviour. One can use -Q to deactivate.
Autocalibration positioning requests were previously (and stupidly) sent
on the aggregation port. We can now chose the port for autocalibration
requests.
The new option -V displays the compilation-time options. In the future,
it should display the version number.
When the user calls the program either with -h or the new option -V, we
do not try any more to open and parse the configuration file (which was
useless since -h, and now -V, exit the program).
Makefile_atheros:
- Add target 'static' to compile fully statically. (Note: does not
work in the OpenWRT 8.09 cross-compilation suite, since it does not
provide libiw.a)
- Add target 'semistatic', that compiles with static libowlps and
dynamic libiw and libpcap.
Fix (mostly) endianess issues:
- le32toh() is defined only in glibc >= 2.9, so owlps-listener did not
compile with older glibc or other libc (such as uClibc that we use to
cross-compile to OpenWRT).
We now define le32toh() manually, if needed.
- Additionally, the PLATFORM_ATHEROS define is removed. We should now
test the value of __BYTE_ORDER if needed.
listener + libowlps : nettoyage, amélioration de la qualité du code,
tests sur le type du paquet capturé.
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@108 785a6c6c-259e-4ff1-8b91-dc31627914f0
owlps-listener :
* Détail des erreurs d'ouverture / parcours du fichier de configuration.
* Ajout des option -v et -q permettant de choisir si le programme doit
être verbeux ou silencieux.
* Modification des en-têtes de capture() et read_packet() pour utiliser
la structure de configuration plutôt que des passages d'arguments.
Note : peut-être serait-il bien de déplacer read_packet() dans
capture() (à la place de got_packet) pour éviter le passage incessant
des arguments sockfd et server.
* Ajout de l'option -m permettant de choisir le mode (actif, passif,
mixte).
* Préparation de l'implantation du mode passif (dans read_packet).
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@106 785a6c6c-259e-4ff1-8b91-dc31627914f0
aggregator :
* Ajout de l'option getopt manquante pour le port d'envoi.
* Modification des noms des options getopt (options DB en majuscule).
* Correction et harmonisation des noms des options libconfuse et des
#define correspondants.
* Correction et complément de l'aide.
listener :
* Ajout d'une option pour le port d'écoute (-l / listening_port).
* Passage des listes d'options en global (nécessaire pour le port
d'écoute).
* Passage de int à long pour le type du port d'agrégation.
Fichier code/infrastructure-centred/TODO :
* Mise à jour et déplacement des lignes pertinentes dans des TODO
spécialisés (créés pour l'occasion).
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@99 785a6c6c-259e-4ff1-8b91-dc31627914f0
Intégration des modifications spécifiques à la Fonera provenant du code
de Julien.
Extrait de son message :
« Je rappelle que le programme contenu dans les FON ne contient pas la
dernière version du listener (celle avec la lib confuse) celà est dû au
fait que cette lib n'était pas installé. »
Grâce aux options préprocesseur définies à la révision précédente, cette
révision devrait pouvoir se cross-compiler (grâce au Makefile_atheros),
si on active l'option PLATFORM_ATHEROS, et fonctionner sur les Fonera.
Pour mémoire, toutes les fonctionnalités devraient pouvoir fonctionner,
puisque des paquets libpthread et confuse existent pour OpenWRT
Kamikaze.
Ajout d'un fichier TODO avec quelques trucs à faire dans la même veine
(compilation croisée et options préprocesseur).
git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@98 785a6c6c-259e-4ff1-8b91-dc31627914f0