if (!defined &_rplay_h) {
    #require 'sys/socket.ph';
    eval 'sub FALSE {0;}';
    eval 'sub TRUE {1;}';
    eval 'sub RPLAY_PORT {5555;}';
    eval 'sub RPTP_PORT {5556;}';
    eval 'sub OLD_RPLAY_PORT {55555;}';
    eval 'sub OLD_RPTP_PORT {55556;}';
    eval 'sub RPLAY_PACKET_ID {30;}';
    eval 'sub RPLAY_NULL {0;}';
    eval 'sub RPLAY_PLAY {1;}';
    eval 'sub RPLAY_STOP {2;}';
    eval 'sub RPLAY_PAUSE {3;}';
    eval 'sub RPLAY_CONTINUE {4;}';
    eval 'sub RPLAY_SOUND {5;}';
    eval 'sub RPLAY_VOLUME {6;}';
    eval 'sub RPLAY_NSOUNDS {7;}';
    eval 'sub RPLAY_COMMAND {8;}';
    eval 'sub RPLAY_APPEND {9;}';
    eval 'sub RPLAY_INSERT {10;}';
    eval 'sub RPLAY_DELETE {11;}';
    eval 'sub RPLAY_CHANGE {12;}';
    eval 'sub RPLAY_COUNT {13;}';
    eval 'sub RPLAY_LIST_COUNT {14;}';
    eval 'sub RPLAY_PRIORITY {15;}';
    eval 'sub RPLAY_RANDOM_SOUND {16;}';
    eval 'sub RPLAY_PING {17;}';
    eval 'sub RPLAY_RPTP_SERVER {18;}';
    eval 'sub RPLAY_RPTP_SERVER_PORT {19;}';
    eval 'sub RPLAY_RPTP_SEARCH {20;}';
    eval 'sub RPLAY_RPTP_FROM_SENDER {21;}';
    eval 'sub RPLAY_SAMPLE_RATE {22;}';
    eval 'sub RPLAY_RESET {23;}';
    eval 'sub RPLAY_DONE {24;}';
    eval 'sub RPLAY_CLIENT_DATA {25;}';
    eval 'sub RPLAY_LIST_NAME {26;}';
    eval 'sub RPLAY_PUT {27;}';
    eval 'sub RPLAY_ID {28;}';
    eval 'sub RPLAY_SEQUENCE {29;}';
    eval 'sub RPLAY_DATA {30;}';
    eval 'sub RPLAY_DATA_SIZE {31;}';
    eval 'sub RPLAY_FORMAT_NONE {0;}';
    eval 'sub RPLAY_FORMAT_LINEAR_8 {1;}';
    eval 'sub RPLAY_FORMAT_ULINEAR_8 {2;}';
    eval 'sub RPLAY_FORMAT_LINEAR_16 {3;}';
    eval 'sub RPLAY_FORMAT_ULINEAR_16 {4;}';
    eval 'sub RPLAY_FORMAT_ULAW {5;}';
    eval 'sub RPLAY_FORMAT_G721 {6;}';
    eval 'sub RPLAY_FORMAT_G723_3 {7;}';
    eval 'sub RPLAY_FORMAT_G723_5 {8;}';
    eval 'sub RPLAY_FORMAT_GSM {9;}';
    eval 'sub RPLAY_BIG_ENDIAN {1;}';
    eval 'sub RPLAY_LITTLE_ENDIAN {2;}';
    eval 'sub RPLAY_AUDIO_PORT_NONE {(1<<0);}';
    eval 'sub RPLAY_AUDIO_PORT_SPEAKER {(1<<1);}';
    eval 'sub RPLAY_AUDIO_PORT_HEADPHONE {(1<<2);}';
    eval 'sub RPLAY_AUDIO_PORT_LINEOUT {(1<<3);}';
    eval 'sub RPLAY_MIN_VOLUME {0;}';
    eval 'sub RPLAY_MAX_VOLUME {255;}';
    eval 'sub RPLAY_MIN_PRIORITY {0;}';
    eval 'sub RPLAY_MAX_PRIORITY {255;}';
    eval 'sub RPLAY_DEFAULT_VOLUME {127;}';
    eval 'sub RPLAY_DEFAULT_PRIORITY {0;}';
    eval 'sub RPLAY_DEFAULT_COUNT {1;}';
    eval 'sub RPLAY_DEFAULT_LIST_COUNT {1;}';
    eval 'sub RPLAY_DEFAULT_RANDOM_SOUND {-1;}';
    eval 'sub RPLAY_DEFAULT_SAMPLE_RATE {0;}';
    eval 'sub RPLAY_DEFAULT_OFFSET {0;}';
    eval 'sub RPLAY_DEFAULT_BYTE_ORDER {0;}';
    eval 'sub RPLAY_DEFAULT_CHANNELS {0;}';
    eval 'sub RPLAY_DEFAULT_BITS {0;}';
    eval 'sub RPLAY_ERROR_NONE {0;}';
    eval 'sub RPLAY_ERROR_MEMORY {1;}';
    eval 'sub RPLAY_ERROR_HOST {2;}';
    eval 'sub RPLAY_ERROR_CONNECT {3;}';
    eval 'sub RPLAY_ERROR_SOCKET {4;}';
    eval 'sub RPLAY_ERROR_WRITE {5;}';
    eval 'sub RPLAY_ERROR_CLOSE {6;}';
    eval 'sub RPLAY_ERROR_PACKET_SIZE {7;}';
    eval 'sub RPLAY_ERROR_BROADCAST {8;}';
    eval 'sub RPLAY_ERROR_ATTRIBUTE {9;}';
    eval 'sub RPLAY_ERROR_COMMAND {10;}';
    eval 'sub RPLAY_ERROR_INDEX {11;}';
    eval 'sub RPLAY_ERROR_MODIFIER {12;}';
    eval 'sub RPTP_ERROR_NONE {0;}';
    eval 'sub RPTP_ERROR_MEMORY {1;}';
    eval 'sub RPTP_ERROR_HOST {2;}';
    eval 'sub RPTP_ERROR_CONNECT {3;}';
    eval 'sub RPTP_ERROR_SOCKET {4;}';
    eval 'sub RPTP_ERROR_OPEN {5;}';
    eval 'sub RPTP_ERROR_READ {6;}';
    eval 'sub RPTP_ERROR_WRITE {7;}';
    eval 'sub RPTP_ERROR_PING {8;}';
    eval 'sub RPTP_ERROR_TIMEOUT {9;}';
    eval 'sub RPTP_ERROR_PROTOCOL {10;}';
    eval 'sub RPTP_ERROR {ord(\'-\');}';
    eval 'sub RPTP_OK {ord(\'+\');}';
    eval 'sub RPTP_TIMEOUT {ord(\'!\');}';
    eval 'sub RPTP_NOTIFY {ord(\'@\');}';
    eval 'sub OLD_RPLAY_PLAY {1;}';
    eval 'sub OLD_RPLAY_STOP {2;}';
    eval 'sub OLD_RPLAY_PAUSE {3;}';
    eval 'sub OLD_RPLAY_CONTINUE {4;}';
    eval 'sub RPTP_ASYNC_READ {1;}';
    eval 'sub RPTP_ASYNC_WRITE {2;}';
    eval 'sub RPTP_ASYNC_RAW {4;}';
    eval 'sub RPTP_ASYNC_ENABLE {1;}';
    eval 'sub RPTP_ASYNC_DISABLE {2;}';
    eval 'sub RPTP_EVENT_OK {(1 << 0);}';
    eval 'sub RPTP_EVENT_ERROR {(1 << 1);}';
    eval 'sub RPTP_EVENT_TIMEOUT {(1 << 2);}';
    eval 'sub RPTP_EVENT_OTHER {(1 << 3);}';
    eval 'sub RPTP_EVENT_CONTINUE {(1 << 4);}';
    eval 'sub RPTP_EVENT_DONE {(1 << 5);}';
    eval 'sub RPTP_EVENT_PAUSE {(1 << 6);}';
    eval 'sub RPTP_EVENT_PLAY {(1 << 7);}';
    eval 'sub RPTP_EVENT_SKIP {(1 << 8);}';
    eval 'sub RPTP_EVENT_STATE {(1 << 9);}';
    eval 'sub RPTP_EVENT_STOP {(1 << 10);}';
    eval 'sub RPTP_EVENT_VOLUME {(1 << 11);}';
    eval 'sub RPTP_EVENT_CLOSE {(1 << 12);}';
    eval 'sub RPTP_EVENT_FLOW {(1 << 13);}';
    eval 'sub RPTP_EVENT_MODIFY {(1 << 14);}';
    eval 'sub RPTP_EVENT_LEVEL {(1 << 15);}';
    eval 'sub RPTP_EVENT_POSITION {(1 << 16);}';
    eval 'sub RPTP_EVENT_ALL {0x0000ffff;}';
    eval 'sub RPTP_MAX_LINE {1024;}';
    eval 'sub RPTP_MAX_ARGS {32;}';
}
1;
