pysap.SAPEnqueue module

class pysap.SAPEnqueue.SAPEnqueue(_pkt='', post_transform=None, _internal=0, _underlayer=None, **fields)[source]

Bases: pysap.utils.fields.PacketNoPadded

SAP Enqueue Server packet

This packet is used for general Enqueue packets.

aliastypes = [<class 'pysap.SAPEnqueue.SAPEnqueue'>, <class 'pysap.utils.fields.PacketNoPadded'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (SAPEnqueue).magic_bytes>, <Field (SAPEnqueue).id>, <Field (SAPEnqueue).len>, <Field (SAPEnqueue).len_frag>, <Field (SAPEnqueue).dest>, <Field (SAPEnqueue).opcode>, <Field (SAPEnqueue).more_frags>, <Field (SAPEnqueue).type>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
post_build(pkt, pay)[source]

Adjust the len and len_frags fields after the build of the whole packet.

class pysap.SAPEnqueue.SAPEnqueueParam(_pkt='', post_transform=None, _internal=0, _underlayer=None, **fields)[source]

Bases: pysap.utils.fields.PacketNoPadded

SAP Enqueue Server Connection Admin Parameter packet

aliastypes = [<class 'pysap.SAPEnqueue.SAPEnqueueParam'>, <class 'pysap.utils.fields.PacketNoPadded'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (SAPEnqueueParam).param>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
class pysap.SAPEnqueue.SAPEnqueueStreamSocket(sock, *args, **kwargs)[source]

Bases: pysap.SAPRouter.SAPRoutedStreamSocket

Stream socket implementation of the Enqueue Server protocol. It performs reassemble of received fragmented packets to ease use in upper layers.

desc = 'Enqueue Stream socket'
recv()[source]

Receive a packet at the Enqueue layer, performing reassemble of fragmented packets if necessary.

Returns:received SAPEnqueue packet
Return type:SAPEnqueue
Raises:socket.error – if the connection was close
class pysap.SAPEnqueue.SAPEnqueueTracePattern(_pkt='', post_transform=None, _internal=0, _underlayer=None, **fields)[source]

Bases: pysap.utils.fields.PacketNoPadded

SAP Enqueue Server Admin Trace Pattern

aliastypes = [<class 'pysap.SAPEnqueue.SAPEnqueueTracePattern'>, <class 'pysap.utils.fields.PacketNoPadded'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (SAPEnqueueTracePattern).len>, <Field (SAPEnqueueTracePattern).pattern>]
pysap.SAPEnqueue.enqueue_conn_admin_opcode_values = {0: 'Loopback packet', 1: 'Parameter Request', 2: 'Parameter Response', 3: 'Shutdown Read', 4: 'Shutdown Write', 5: 'Shutdown Both', 6: 'Keepalive'}

Enqueue Server Opcode values

pysap.SAPEnqueue.enqueue_dest_values = {1: 'SYNC_ENQUEUE', 2: 'ASYNC_ENQUEUE', 3: 'SERVER_ADMIN', 5: 'STAT_QUERY', 6: 'CONECTION_ADMIN', 7: 'ENQ_TO_REP', 8: 'REP_TO_ENQ'}

Enqueue Server Destination values

pysap.SAPEnqueue.enqueue_param_values = {0: 'ENCPARAM_RECV_LEN', 1: 'ENCPARAM_SEND_LEN', 2: 'ENCPARAM_MSG_TYPE', 3: 'ENCPARAM_SET_NAME', 4: 'ENCPARAM_SET_NOSUPP', 5: 'ENCPARAM_SET_VERSION', 6: 'ENCPARAM_SET_UCSUPPORT'}

Enqueue Server Connection Admin Parameter values

pysap.SAPEnqueue.enqueue_server_admin_opcode_values = {1: 'EnAdmDummyRequest', 2: 'EnAdmShutdownRequest', 4: 'EnAdmGetReplInfoRequest', 6: 'EnAdmTraceRequest'}

Enqueue Server Admin Opcode values

pysap.SAPEnqueue.enqueue_server_admin_trace_action_values = {1: 'Raise level', 2: 'Lower level', 3: 'Get trace state', 4: 'Set trace status', 5: 'Reset trace files'}

Enqueue Server Admin Trace Action values

pysap.SAPEnqueue.enqueue_server_admin_trace_limit_values = {0: 'Globally', 1: 'Only in enserver', 2: 'Only in repserver', 3: 'Only in threads of type', 4: 'Only in one thread of type'}

Enqueue Server Admin Trace Limit values

pysap.SAPEnqueue.enqueue_server_admin_trace_thread_values = {0: 'All threads', 1: 'All I/O threads', 2: 'Enqueue Worker thread', 3: 'Replication thread', 4: 'ADM thread', 5: 'Signal thread', 6: 'Listener thread'}

Enqueue Server Admin Trace Thread values

pysap.SAPEnqueue.enqueue_type_values = {0: 'SYNC_REQUEST', 1: 'ASYNC_REQUEST', 2: 'RESPONSE'}

Enqueue Server Type values