// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

package org.chromium.net;

import androidx.annotation.IntDef;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

@IntDef({
#define NET_ERROR(name, value) NetError.ERR_##name,
#include "net/base/net_error_list.h"
#undef NET_ERROR
NetError.OK
})
@Retention(RetentionPolicy.SOURCE)
public @interface NetError {
int OK = 0;
#define NET_ERROR(name, value) int ERR_##name = value;
#include "net/base/net_error_list.h"
#undef NET_ERROR
}
