#!/usr/bin/python
#
# Sigma Control API DUT (sniffer_get_field_value)
# Copyright (c) 2014, Qualcomm Atheros, Inc.
# All Rights Reserved.
# Licensed under the Clear BSD license. See README for more details.

import sys
import subprocess
import tshark

for arg in sys.argv:
    if arg.startswith("FileName="):
        filename = arg.split("=", 1)[1]
    elif arg.startswith("SrcMac="):
        srcmac = arg.split("=", 1)[1]
    elif arg.startswith("FrameName="):
        framename = arg.split("=", 1)[1].lower()
    elif arg.startswith("FieldName="):
        fieldname = arg.split("=", 1)[1].lower()

frame_filters = tshark.tshark_framenames()
if framename not in frame_filters:
    print "errorCode,Unsupported FrameName"
    sys.exit()

fields = tshark.tshark_fieldnames()
if fieldname not in fields:
    print "errorCode,Unsupported FieldName"
    sys.exit()

cmd = ['tshark', '-r', filename,
       '-c', '1',
       '-R', 'wlan.sa==' + srcmac + " and " + frame_filters[framename],
       '-Tfields',
       '-e', fields[fieldname]]
tshark = subprocess.Popen(cmd, stdout=subprocess.PIPE)
data = tshark.stdout.read().rstrip()
result = "SUCCESS" if len(data) > 0 else "FAIL"
print "CheckResult,%s,ReturnValue,%s" % (result, data)

#!/usr/bin/python
#
# Sigma Control API DUT (sniffer_get_field_value)
# Copyright (c) 2014, Qualcomm Atheros, Inc.
# All Rights Reserved.
# Licensed under the Clear BSD license. See README for more details.

import sys
import subprocess
import tshark

for arg in sys.argv:
    if arg.startswith("FileName="):
        filename = arg.split("=", 1)[1]
    elif arg.startswith("SrcMac="):
        srcmac = arg.split("=", 1)[1]
    elif arg.startswith("FrameName="):
        framename = arg.split("=", 1)[1].lower()
    elif arg.startswith("FieldName="):
        fieldname = arg.split("=", 1)[1].lower()

frame_filters = tshark.tshark_framenames()
if framename not in frame_filters:
    print "errorCode,Unsupported FrameName"
    sys.exit()

fields = tshark.tshark_fieldnames()
if fieldname not in fields:
    print "errorCode,Unsupported FieldName"
    sys.exit()

cmd = ['tshark', '-r', filename,
       '-c', '1',
       '-R', 'wlan.sa==' + srcmac + " and " + frame_filters[framename],
       '-Tfields',
       '-e', fields[fieldname]]
tshark = subprocess.Popen(cmd, stdout=subprocess.PIPE)
data = tshark.stdout.read().rstrip()
result = "SUCCESS" if len(data) > 0 else "FAIL"
print "CheckResult,%s,ReturnValue,%s" % (result, data)

#!/usr/bin/python # # Sigma Control API DUT (sniffer_get_field_value) # Copyright (c) 2014, Qualcomm Atheros, Inc. # All Rights Reserved. # Licensed under the Clear BSD license. See README for more details.