packages feed

mptcp-pm-0.0.1: hs/test.hs

import Prelude hiding (length, concat)
-- import Options.Applicative hiding (value)
-- import qualified Options.Applicative (value)

import Generated
import Data.Bits ()
import Data.Bits (( .|.))
-- import System.Linux.Netlink hiding (makeSocket)
-- import System.Linux.Netlink (query, bufferSize)
-- import System.Linux.Netlink.GeNetlink
-- import System.Linux.Netlink.Constants

-- import System.Linux.Netlink.GeNetlink.Control as C
-- import Data.Word (Word8, Word16, Word32)
-- import Data.List (intercalate)
-- import Data.Serialize.Put

import IDiag

-- import Data.ByteString as BS hiding (putStrLn, putStr, map, intercalate)
-- import qualified Data.ByteString.Lazy as BSL

-- import Debug.Trace
-- import Control.Exception

-- data MptcpSocket = MptcpSocket NetlinkSocket Word16

-- mptcpGenlEvGrpName :: String
-- mptcpGenlEvGrpName = "mptcp_events"
-- mptcpGenlCmdGrpName :: String
-- mptcpGenlCmdGrpName = "mptcp_commands"
-- mptcpGenlName :: String
-- mptcpGenlName="mptcp"

-- makeMptcpSocket :: IO MptcpSocket
-- makeMptcpSocket = do
--   sock <- makeSocket
--   putStrLn "socket created"
--   res <- getFamilyIdS sock mptcpGenlName
--   case res of
--     Nothing -> error $ "Could not find family " ++ mptcpGenlName
--     Just fid -> return  (MptcpSocket sock (trace ("family id"++ show fid ) fid))


-- instance Bits TcpState where
--   shiftL x = shiftL (fromEnum x - 1)


-- in fact it's 1 << fromEnum TcpListen)
-- (fromEnum TcpListen) .|. (fromEnum TcpEstablished)

-- #define SS_ALL ((1 << SS_MAX) - 1)
-- #define SS_CONN (SS_ALL & ~((1<<SS_LISTEN)|(1<<SS_CLOSE)|(1<<SS_TIME_WAIT)|(1<<SS_SYN_RECV)))
-- #define TIPC_SS_CONN ((1<<SS_ESTABLISHED)|(1<<SS_LISTEN)|(1<<SS_CLOSE))

main :: IO ()
main = let 
    -- TODO test with shiftL
    toto = (fromEnum TcpListen) .|. (fromEnum TcpEstablished)
  in do
  putStrLn $ "InetDiag =" ++ show (fromEnum InetDiagMeminfo)
  putStrLn $ "TcpListen =" ++ show (enumsToWord [TcpListen])
  putStrLn $ "TcpEstablished =" ++ show (enumsToWord [TcpEstablished])
  putStrLn $ "combo !!" ++ show (enumsToWord [TcpEstablished, TcpListen])
  putStrLn "finished"