From 41aeffaeffe87ef8508cbf0693b7cceb40e5c60b Mon Sep 17 00:00:00 2001 From: wraith-wireless Date: Sun, 5 Jun 2016 02:19:18 -0600 Subject: [PATCH] v0.1.1 --- docs/PyRIC.pdf | Bin 382487 -> 383209 bytes docs/PyRIC.tex | 28 +++++++++++++++++++++++----- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/docs/PyRIC.pdf b/docs/PyRIC.pdf index d60b93e6cd5fe6983bf5dd495cc336e14bccef0e..595bd3552b1ea0571fb8652d0dbe36eb03fcbe02 100644 GIT binary patch delta 31262 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�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 delta 30516 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 up), type: ioctl, bring card up \item down(card,[iosock]): (ifconfig card. down), type: ioctl, bring card down +\item block(card): (rfkill block ) type: N/A, soft blocks card +\item unblock(card): (rfkill unblock ) type: N/A, removes the soft +block on card \item inetget(card,[iosock]): (ifconfig card.), type: ioctl, get ip4 address, netmask and broadcast address of card \item inetset(card,ipaddr,netmask,broadcast,[iosock]): (ifconfig card/ @@ -837,8 +840,9 @@ \subsection{Functions} \item rf2ch(f): convert frequency f to channel \end{enumerate} -\section{API: device.py}\label{sec:deviceapi} -Retrieval of the driver and chipset of a given card is found in device.py. +\section{API: hardware.py}\label{sec:deviceapi} +Hardware related: driver, chipset, manufacturer and mac address utility functions +can be found in device.py. \subsection{Constants} \begin{enumerate} @@ -848,11 +852,25 @@ \subsection{Constants} \subsection{Functions} \begin{enumerate} +\item parseoui(path): reads and stores oui data from optional into a dict +\item oui(mac): returns the oui portion of address +\item ulm(mac): returns the ulm portion of address +\item manufacturer(ouis,mac): returns the manufacturer name of given the +dict of +\item randhw(ouis): returns a random mac address given a dict of \item ifcard(dev): returns the device driver and chipset \item ifdriver(dev): returns the device driver \item ifchipset(driver): returns the chipset associated with driver \end{enumerate} +\section{API: ouifetch.py} +The file ouifetch.py retrieves and saves a tab seperated file of oui to +manufacturer name for use by hardware.py functions. From a command line, type: \\ + +\texttt{python ouifetch.py}\\ + +Optional arguments path and verbose can also be specified. + \section{API: rfkill.py}\label{sec:rfkillapi} A port of the command line tool rfkill, rfkill.py writes and reads rfkill\_event structures to /dev/rfkill using fcntl provding functionality to block and unblock @@ -860,8 +878,8 @@ \section{API: rfkill.py}\label{sec:rfkillapi} \subsection{Constants} \begin{enumerate} -\item \textbf{RFKILL\_TYPES}: list of strings corresponding to the types of devices -supported by rfkill +\item \textbf{RFKILL\_STATE}: list of boolean values corresponding to blocked, +unblocked \end{enumerate} \subsection{Functions}