<commit_before>/*
 *  ArtNode.h
 *
 *  Created by <NAME>
 *
 *  Implementation of the Art-Net 3 protocol.
 *
 *  This file is free software; you can redistribute it and/or modify
 *  it under the terms of GNU General Public License version 3 as
 *  published by the Free Software Foundation.
 *
 *  Art-Net(TM) Designed by and Copyright Artistic Licence Holdings Ltd
 *
 */

#ifndef ArtNode_h
#define ArtNode_h

#pragma pack(push, 1)

#include "Art-Net.h"
#include "ArtPollReply.h"
#include "ArtDmx.h"

#include <inttypes.h>

#define PortTypeDmx     0x00
#define PortTypeMidi    0x01
#define PortTypeInput   0x40
#define PortTypeOutput  0x80

typedef struct S_ArtHeader {
    uchar ID[8];                    // protocol ID = "Art-Net"
    ushort OpCode;
} T_ArtHeader;

typedef struct S_ArtDmxHeader {
    uchar ID[8];
    ushort OpCode;
    uchar ProtVerHi;
    uchar ProtVerLo;
    uchar Sequence;
    uchar Physical;
    uchar SubUni;
    uchar Net;
    ushort Length;
} T_ArtDmxHeader;

typedef struct S_ArtConfig {
    uchar  mac[6];
    uchar  ip[4];
    uchar  mask[4];
    ushort udpPort;
    uchar  dhcp;
    uchar  net;
    uchar  subnet;
    char   shortName[18];
    char   longName[64];
    uchar  numPorts;
    uchar  portTypes[4];
    uchar  portAddrIn[4];<commit_msg>Added combined port type defines<commit_after>/*
 *  ArtNode.h
 *
 *  Created by <NAME>
 *
 *  Implementation of the Art-Net 3 protocol.
 *
 *  This file is free software; you can redistribute it and/or modify
 *  it under the terms of GNU General Public License version 3 as
 *  published by the Free Software Foundation.
 *
 *  Art-Net(TM) Designed by and Copyright Artistic Licence Holdings Ltd
 *
 */

#ifndef ArtNode_h
#define ArtNode_h

#pragma pack(push, 1)

#include "Art-Net.h"
#include "ArtPollReply.h"
#include "ArtDmx.h"

#include <inttypes.h>

#define PortTypeDmx     0x00
#define PortTypeMidi    0x01
#define PortTypeInput   0x40
#define PortTypeOutput  0x80

#define PortTypeDmxOutput	(PortTypeDmx | PortTypeOutput)
#define PortTypeDmxInput	(PortTypeDmx | PortTypeInput)


typedef struct S_ArtHeader {
    uchar ID[8];                    // protocol ID = "Art-Net"
    ushort OpCode;
} T_ArtHeader;

typedef struct S_ArtDmxHeader {
    uchar ID[8];
    ushort OpCode;
    uchar ProtVerHi;
    uchar ProtVerLo;
    uchar Sequence;
    uchar Physical;
    uchar SubUni;
    uchar Net;
    ushort Length;
} T_ArtDmxHeader;

typedef struct S_ArtConfig {
    uchar  mac[6];
    uchar  ip[4];
    uchar  mask[4];
    ushort udpPort;
    uchar  dhcp;
    uchar  net;
    uchar  subnet;
    char   shortName[18];
    char   longName[64];
    uchar  numPorts;
    uchar  portTypes[4];
    uchar  portAddrIn[4];
{'fraction_non_alphanumeric': 0.08521674694331234, 'fraction_numerical': 0.0192663949610967, 'mean_word_length': 2.953147877013177, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '565373', 'n_tokens_mistral': 1015, 'n_tokens_neox': 929, 'n_words': 283}