1#ifndef SCID_PRIMITIVES_H
2#define SCID_PRIMITIVES_H
4#include "scid/_platform.h"
11 typedef unsigned short scid_error;
17 SCID_ERROR_BAD_ARG = 3,
19 SCID_ERROR_FILE_OPEN = 101,
20 SCID_ERROR_FILE_READ_ONLY = 111,
21 SCID_ERROR_CORRUPT = 152,
23 SCID_ERROR_INVALID_FEN = 301,
24 SCID_ERROR_INVALID_MOVE = 302,
26 SCID_ERROR_BUFFER_FULL = 601
29 typedef int scid_colour;
37 typedef unsigned scid_square;
39 typedef unsigned scid_piece;
47 SCID_PIECE_BISHOP = 4,
48 SCID_PIECE_KNIGHT = 5,
51 SCID_PIECE_WHITE_KING = 1,
52 SCID_PIECE_WHITE_QUEEN = 2,
53 SCID_PIECE_WHITE_ROOK = 3,
54 SCID_PIECE_WHITE_BISHOP = 4,
55 SCID_PIECE_WHITE_KNIGHT = 5,
56 SCID_PIECE_WHITE_PAWN = 6,
58 SCID_PIECE_BLACK_KING = 9,
59 SCID_PIECE_BLACK_QUEEN = 10,
60 SCID_PIECE_BLACK_ROOK = 11,
61 SCID_PIECE_BLACK_BISHOP = 12,
62 SCID_PIECE_BLACK_KNIGHT = 13,
63 SCID_PIECE_BLACK_PAWN = 14
66 typedef unsigned char scid_nag;
69 scid_square_from_string(
71 scid_square* out_square);
75 scid_square_to_string(
78 size_t out_text_capacity,
79 size_t* out_text_size);
83 scid_piece_type_from_string(
85 scid_piece* out_piece);
89 scid_nag_create_from_string(
99 size_t out_text_capacity,
100 size_t* out_text_size);